1 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
4 embedding area. Use <= instead of == when checking for non-emptiness.
6 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8 * configure.ac: Add `.' to the directories searched for unifont.
10 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
17 * docs/grub.texi (History): Expand to cover GRUB 2.
18 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19 commands, not `terminal'.
21 (terminal_input): New section.
22 (terminal_output): New section.
23 (uppermem): New section (stub).
24 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
28 * docs/grub.texi (Security): Menu entries are unrestricted by
29 default, not restricted to superusers as I had previously thought.
30 Reword to account for this.
32 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
34 * kern/emu/misc.c (device_mapper_null_log): New function.
35 (grub_device_mapper_supported): New function.
36 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
38 * kern/emu/hostdisk.c (find_partition_start): Check whether
39 device-mapper is supported before trying to use it.
40 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
42 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
44 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
45 (File name syntax): Likewise.
46 (help): --all is no longer supported in GRUB 2. Be more precise
47 about pattern matching.
49 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
51 * normal/completion.c (grub_normal_do_completion): When completing
52 arguments to "set" and the current word contains an equals sign,
53 skip to after the equals sign before starting completion.
55 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
57 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
59 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
61 * docs/grub.texi (Network): New section.
62 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
63 `(nd)' as in GRUB Legacy.
64 (pxe_unload): New section.
66 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
68 * docs/grub.texi (Troubleshooting): `echo' is not usually available
69 in the rescue shell, so recommend using `set' instead. Thanks,
72 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
74 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
75 (password): New section.
76 (password_pbkdf2): New section.
77 (search): New section.
78 (Security): New section.
79 (Troubleshooting): New section, currently very incomplete.
80 (Invoking grub-mkpasswd-pbkdf2): New section.
81 (Internals): New section, currently very incomplete.
83 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
85 * util/grub.d/00_header.in: Add some more quoting (of
86 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
88 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
90 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
92 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
93 to `count', fixing variable shadowing that broke the -c option.
95 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
97 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
98 in case they contain spaces.
100 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
102 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
103 "part_" to partmap module names, in line with grub-install.
104 Reported by: Jindřich Makovička (Debian bug #584426).
106 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
108 * util/grub-mkimage.c: Make target-related error messages slightly
109 more helpful; -O talks about "format". Explicitly point to the use
110 of -O if no target is specified.
111 Reported by: Didier Raboud (Debian bug #584415).
113 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
115 * INSTALL: Document several build requirements for optional features
116 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
118 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
120 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
121 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
122 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
124 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
126 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
127 Thanks to Jordan Uggla for spotting this.
129 2010-06-02 Aleš Nesrsta <starous@volny.cz>
131 Finally make USB usable.
133 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
134 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
135 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
136 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
137 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
138 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
139 (GRUB_OHCI_FSMPS): Likewise.
140 (GRUB_OHCI_PERIODIC_START): Likewise.
141 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
142 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
143 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
144 (GRUB_OHCI_SET_PORT_RESET): Likewise.
145 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
146 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
147 (grub_ohci_transaction): Likewise.
148 (grub_ohci_transfer): Improve condition detection algorithms.
149 Handle toggle property. Program the transactions correctly.
150 Improve error handling. Various important fixups.
151 (grub_ohci_portstatus): Put register writes in right order.
152 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
153 (grub_uhci_transfer): Don't show "failed" message on success.
154 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
156 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
158 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
159 before initialization is completed. Use IN direction for empty
160 transfers. Use last_trans and compute toggle.
161 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
162 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
163 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
164 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
165 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
166 (grub_usb_device): Increase toggle to 256.
167 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
168 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
169 GRUB_USBMS_SUBCLASS_SFF8070.
170 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
171 (grub_scsi_inquiry): New member page and alloc_length.
172 (grub_scsi_request_sense): New structure.
173 (grub_scsi_request_sense_data): Likewise.
174 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
176 * disk/scsi.c (grub_scsi_request_sense): New function.
177 (grub_scsi_test_unit_ready): Likewise.
178 (grub_scsi_inquiry): Fill new fields.
179 (grub_scsi_read_capacity): Likewise.
180 (grub_scsi_read10): Add request sense at the end.
181 (grub_scsi_read12): Likewise.
182 (grub_scsi_write10): Likewise.
183 (grub_scsi_write12): Likewise.
184 (grub_scsi_open): Add Test Unit Ready.
185 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
186 Support additional subclasses. Con't clear halt yet. Activate the
187 proper config. Calculate LUNs correctly.
188 (grub_usbms_transfer): Various important fixups.
190 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
192 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
193 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
194 (grub_ohci_fini_hw): New function.
195 (grub_ohci_restore_hw): Likewise.
196 (GRUB_MOD_INIT(ohci)): Register preboot hook.
197 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
198 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
200 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
202 Dedicated DMA allocations.
204 * bus/pci.c (grub_memalign_dma32): New function
205 (grub_dma_free): Likewise.
206 (grub_dma_get_virt): Likewise.
207 (grub_dma_get_phys): Likewise.
208 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
209 (grub_ohci_pci_iter): Use dma32_alloc.
210 (grub_ohci_transfer): Likewise.
211 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
212 (grub_usb_bulk_readwrite): Likewise.
213 * include/grub/pci.h: Add declarations.
215 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
219 * bus/cs5536.c: New file.
220 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
221 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
222 (cs5536_mod_SOURCES): New variable.
223 (cs5536_mod_CFLAGS): Likewise.
224 (cs5536_mod_LDFLAGS): Likewise.
225 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
227 (kernel_img_SOURCES): Add bus/cs5536.c.
228 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
230 (usb_mod_SOURCES): New variable.
231 (usb_mod_CFLAGS): New variable.
232 (usb_mod_LDFLAGS): New variable.
233 (usbtest_mod_SOURCES): New variable.
234 (usbtest_mod_CFLAGS): New variable.
235 (usbtest_mod_LDFLAGS): New variable.
236 (ohci_mod_SOURCES): New variable.
237 (ohci_mod_CFLAGS): New variable.
238 (ohci_mod_LDFLAGS): New variable.
239 (usbms_mod_SOURCES): New variable.
240 (usbms_mod_CFLAGS): New variable.
241 (usbms_mod_LDFLAGS): New variable.
242 (usb_keyboard_mod_SOURCES): New variable.
243 (usb_keyboard_mod_CFLAGS): New variable.
244 (usb_keyboard_mod_LDFLAGS): New variable.
245 * include/grub/smbus.h: New file.
246 * include/grub/cs5536.h: New file.
248 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
250 * util/grub.d/00_header.in: Add safety check to make sure that
251 ${locale_dir} exists before trying to probe it.
253 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
255 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
256 per the GNU Coding Standards; this is now too obscure to be worth
259 (chainloader): Remove cross-reference to `SCO UnixWare'.
261 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
263 * docs/grub.texi (Chain-loading): New section.
264 (DOS/Windows): New section, borrowed from GRUB Legacy with details
266 (SCO UnixWare): Likewise.
268 (chainloader): Add reference to `Block list syntax'.
269 (drivemap): New section.
270 (parttool): New section.
272 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
274 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
276 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
277 (Installing GRUB using grub-install): Remove reference to the grub
278 shell; mention `grub-mkimage' and `grub-setup' instead.
279 (Invoking grub-install): Likewise.
280 (Interface): Add reference to `Menu entry editor'.
281 (serial): Remove `--device' option.
283 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
285 * docs/grub.texi (Configuration): New section, documenting
286 configuration file generation using grub-mkconfig. I've left a slot
287 for documenting the full shell scripting format but have not yet
288 started on writing that up.
289 (Invoking grub-mkconfig): New section.
291 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
293 * docs/grub.texi (direntry): Remove grub-terminfo reference.
294 (GNU GRUB manual): Likewise.
295 (General commands): Update description of `terminfo' for GRUB 2.
297 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
299 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
300 (GRUB_MOD_INIT): Fix capitalisation.
301 * docs/grub.texi (Command-line and menu entry commands): Document
302 gettext and gptsync commands.
304 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
306 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
307 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
309 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
311 Add btrfs probing support, currently only in the single-device case.
313 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
315 (grub_guess_root_device): Call find_root_device_from_mountinfo
316 before looking in /dev.
318 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
320 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
321 GRUB_DISK_SIZE_UNKNOWN.
322 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
324 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
326 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
327 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
328 corrupted or not synced properly.
330 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
332 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
333 Reported by: Seth Goldberg.
335 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
337 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
339 Reported by: Seth Goldberg.
341 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
343 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
344 Reported by: Seth Goldberg.
346 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
348 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
349 64-bit address as signed on MIPS.
351 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
353 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
356 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
358 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
360 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
361 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
362 * kern/misc.c (__enable_execute_stack): Disable on
365 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
367 Make grub-probe work with symbolic links under /dev/mapper as well
368 as with real block devices. The Linux world seems to be (at best)
369 in transition here, and GRUB shouldn't get caught in the middle.
371 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
374 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
376 * util/grub-script-check.c (main): Ensure defined behaviour on empty
377 input files (in which case exit zero).
379 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
381 * kern/emu/misc.c (canonicalize_file_name): realpath can still
382 return NULL for various reasons even if it has a maximum-length
383 buffer: for example, there might be a symlink loop, or the path
384 might exceed PATH_MAX. If this happens, return NULL.
386 2010-05-27 Robert Millan <rmh@gnu.org>
388 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
389 partmap module to handle cross-partmap setups.
390 Reported by Orestes Mas. Gràcies!
392 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
394 * util/grub-mkrescue.in: Initialise override_dir rather than
395 assuming that it's unset or empty in the environment.
397 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
399 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
400 variable index into p_index to suppress a warning with -Wshadow.
402 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
404 * INSTALL: Added flex >= 2.5.35 requirement.
406 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
408 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
410 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
414 * commands/i386/cmostest.c: New file.
415 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
416 (cmostest_mod_SOURCES): New variable.
417 (cmostest_mod_CFLAGS): Likewise.
418 (cmostest_mod_LDFLAGS): Likewise.
419 * conf/i386-pc.rmk: Likewise.
420 * docs/grub.texi (Vendor power-on keys): New section.
421 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
422 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
423 and GRUB_BUTTON_CMOS_ADDRESS.
424 * util/grub.d/00_header.in: Handle powering-on by separate button.
426 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
428 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
429 Removed drawing_scrollbar argument. All users updated
431 Reported by Jo Shields
433 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
435 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
436 buffer since gfxterm handles double repaint.
438 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
440 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
441 * term/gfxterm.c (real_scroll): Likewise.
443 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
445 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
448 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
450 * include/grub/i18n.h: Always enable grub_gettext.
452 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
454 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
455 partition naming style.
457 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
459 * util/grub-mkconfig.in: Fix handling of -o so that it works when
460 not the first option.
462 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
464 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
466 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
468 * util/misc.c: Move inclusion of <limits.h> to ...
469 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
471 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
473 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
474 Fix merge error in NetBSD code.
475 (find_partition_start) [__NetBSD__]: Likewise.
477 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
479 Fix grub-mkrescue usage unit testing.
481 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
483 2010-05-18 Christian Franke <franke@computer.org>
485 * util/grub.d/10_windows.in: Use path names instead of
486 drive letters to prevent warning from Cygwin 1.7.
487 Add drivemap command to menuentry if needed.
489 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
491 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
492 gnumach and gnumach.gz.
494 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
496 * include/grub/i18n.h (gettext): Inline instead of using #define.
497 (grub_gettext): Likewise.
500 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
502 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
503 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
504 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
505 (main): Add a slash after pkglibdirroot.
507 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
509 * util/grub-install.in: Add missing "in" keyword.
511 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
513 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
514 Reported by: Seth Goldberg.
516 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
518 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
520 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
522 * configure.ac: Check for Linux device-mapper support.
524 * util/hostdisk.c (device_is_mapped): New function.
525 (find_partition_start): New function, partly broken out from
526 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
527 device-mapper support added.
528 (linux_find_partition): Use find_partition_start.
529 (convert_system_partition_to_system_disk): Add `st' argument.
530 Support Linux /dev/mapper/* devices if device-mapper support is
531 available; only DM-RAID devices are understood at present.
532 (find_system_device): Add `st' argument. Pass it to
533 convert_system_partition_to_system_disk.
534 (grub_util_biosdisk_get_grub_dev): Pass stat result to
535 find_system_device and convert_system_partition_to_system_disk. Use
536 find_partition_start.
538 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
539 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
540 * util/deviceiter.c [__linux__]: Define MINOR.
541 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
542 * util/mkdevicemap.c (grub_putchar): New function.
543 (grub_getkey): New function.
544 (grub_refresh): New function.
545 (main): Set debug=all if -v -v is used.
547 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
549 Fix build with non-GNU libcs.
551 * util/misc.c (canonicalize_file_name): Move to ...
552 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
553 grub_make_system_path_relative_to_its_root.
555 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
557 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
558 we handle finding grub-mkimage. Default to finding grub-mkimage in
559 ${bindir} with program_transform_name applied, and provide a
560 --grub-mkimage option to override this.
562 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
566 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
567 (grub_mkisofs_SOURCES): Removed.
568 (grub_mkisofs_CFLAGS): Removed.
569 * util/mkisofs/defaults.h: Removed.
570 * util/mkisofs/eltorito.c: Likewise.
571 * util/mkisofs/exclude.h: Likewise.
572 * util/mkisofs/hash.c: Likewise.
573 * util/mkisofs/include/: Likewise.
574 * util/mkisofs/include/fctldefs.h: Likewise.
575 * util/mkisofs/include/mconfig.h: Likewise.
576 * util/mkisofs/include/prototyp.h: Likewise.
577 * util/mkisofs/include/statdefs.h: Likewise.
578 * util/mkisofs/iso9660.h: Likewise.
579 * util/mkisofs/joliet.c: Likewise.
580 * util/mkisofs/match.c: Likewise.
581 * util/mkisofs/match.h: Likewise.
582 * util/mkisofs/mkisofs.c: Likewise.
583 * util/mkisofs/mkisofs.h: Likewise.
584 * util/mkisofs/msdos_partition.h: Likewise.
585 * util/mkisofs/multi.c: Likewise.
586 * util/mkisofs/name.c: Likewise.
587 * util/mkisofs/rock.c: Likewise.
588 * util/mkisofs/tree.c: Likewise.
589 * util/mkisofs/write.c: Likewise.
591 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
593 Unify grub-mkimage accross platforms.
595 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
596 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
597 (grub_mkelfimage_SOURCES): Removed.
598 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
599 (util/grub-mkimage.c_DEPENDENCIES): .. this.
600 (bin_UTILITIES): Add grub-mkimage.
601 (grub_mkimage_SOURCES): New variable.
602 (kernel_img_HEADERS): Remove machine/kernel.h.
603 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
604 (pkglib_PROGRAMS): Add kernel.img.
605 (kernel_img_HEADERS): Add machine/kernel.h.
606 (kernel_img_FORMAT): Removed.
607 (bin_UTILITIES): Remove grub-mkimage.
608 (grub_mkimage_SOURCES): Removed.
609 (grub_mkimage_CFLAGS): Likewise.
610 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
611 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
612 (pkglib_PROGRAMS): Add kernel.img.
613 (bin_UTILITIES): Remove grub-mkimage.
614 (grub_mkimage_SOURCES): Removed.
615 (grub_mkimage_CFLAGS): Likewise.
616 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
617 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
618 (pkglib_PROGRAMS): Add kernel.img.
619 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
620 (pkglib_PROGRAMS): Add kernel.img.
621 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
622 (grub_mkimage_SOURCES): Removed.
623 (grub_mkimage_CFLAGS): Likewise.
624 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
625 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
626 (pkglib_PROGRAMS): Add kernel.img.
627 (bin_UTILITIES): Remove grub-mkimage.
628 (grub_mkimage_SOURCES): Removed.
629 (grub_mkimage_CFLAGS): Likewise.
630 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
631 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
632 (grub_mkimage_SOURCES): Removed.
633 (grub_mkimage_CFLAGS): Likewise.
634 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
635 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
636 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
637 (grub_pe32_optional_header): ... this.
638 (grub_pe64_optional_header): ... and this. All users updated.
639 (GRUB_PE32_PE32_MAGIC): Split into ..
640 (GRUB_PE32_PE32_MAGIC): .. this.
641 (GRUB_PE32_PE64_MAGIC): .. and this.
642 (GRUB_PE32_SIGNATURE_SIZE): New definition.
643 * include/grub/elf.h (PT_GNU_STACK): New definition.
644 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
645 * include/grub/i386/efi/kernel.h: Likewise.
646 * include/grub/i386/kernel.h: Likewise.
647 * include/grub/i386/pc/kernel.h: Likewise.
648 * include/grub/i386/qemu/boot.h: Likewise.
649 * include/grub/mips/kernel.h: Likewise.
650 * include/grub/mips/qemu-mips/kernel.h: Likewise.
651 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
652 * include/grub/powerpc/kernel.h: Likewise.
653 * include/grub/sparc64/ieee1275/boot.h: Likewise.
654 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
655 * include/grub/sparc64/kernel.h: Likewise.
656 * include/grub/x86_64/efi/kernel.h: Likewise.
657 * include/grub/x86_64/kernel.h: Likewise.
658 * include/grub/offsets.h: New file.
659 * include/grub/kernel.h (grub_module_info): Split into ...
660 (grub_module_info32): ... this.
661 (grub_module_info64): ... and this.
662 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
663 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
664 (grub_boot_blocklist): Moved from here ...
665 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
666 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
667 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
668 * include/grub/types.h (grub_target_to_host16): Removed.
669 (grub_target_to_host32): Likewise.
670 (grub_target_to_host64): Likewise.
671 (grub_host_to_target16): Likewise.
672 (grub_host_to_target32): Likewise.
673 (grub_host_to_target64): Likewise.
674 (grub_host_to_target_addr): Likewise.
676 Support grub-mkrescue for efi, coreboot and qemu.
678 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
679 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
680 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
681 * util/grub-mkrawimage.c: Moved from here ...
682 * util/grub-mkimage.c: ... here. All users updated.
683 (ALIGN_ADDR): Use image_target.
684 (TARGET_NO_FIELD): New const.
685 (image_target_desc): New type.
686 (image_targets): New array.
687 (grub_target_to_host64): Use image_target.
688 (grub_target_to_host32): Likewise.
689 (grub_target_to_host16): Likewise.
690 (grub_host_to_target64): Likewise.
691 (grub_host_to_target32): Likewise.
692 (grub_host_to_target16): Likewise.
693 (grub_host_to_target_addr): Likewise.
694 (generate_image): Handle multiimage.
695 (main): Require -O parameter. All users updated.
696 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
697 util/efi/grub-mkimage.c
698 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
699 New option --rom-directory.
701 * util/i386/efi/grub-mkimage.c: Removed.
702 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
703 (grub_target_to_host32): Likewise.
704 (grub_target_to_host64): Likewise.
705 (grub_host_to_target16): Likewise.
706 (grub_host_to_target32): Likewise.
707 (grub_host_to_target64): Likewise.
708 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
709 (grub_target_to_host32): Likewise.
710 (grub_target_to_host64): Likewise.
711 (grub_host_to_target16): Likewise.
712 (grub_host_to_target32): Likewise.
713 (grub_host_to_target64): Likewise.
715 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
717 Source tree is reorganized for emu build.
719 * include/grub/util/console.h: Move from here...
720 * include/grub/emu/console.h: ...to here.
721 * include/grub/util/getroot.h: Move from here...
722 * include/grub/emu/getroot.h: ...to here.
723 * include/grub/util/hostdisk.h: Move from here...
724 * include/grub/emu/hostdisk.h: ...to here.
725 * util/console.c: Move from here...
726 * kern/emu/console.c: ...to here.
727 * util/getroot.c: Move from here...
728 * kern/emu/getroot.c: ...to here.
729 * util/grub-emu.c: Move from here...
730 * kern/emu/main.c: ...to here.
731 * util/hostdisk.c: Move from here...
732 * kern/emu/hostdisk.c: ...to here.
733 * util/hostfs.c: Move from here...
734 * kern/emu/hostfs.c: ...to here.
735 * util/mm.c: Move from here...
736 * kern/emu/mm.c: ...to here.
737 * util/pci.c: Move from here...
738 * bus/emu/pci.c: ...to here.
739 * util/sdl.c: Move from here...
740 * video/emu/sdl.c: ...to here.
741 * util/time.c: Move from here...
742 * kern/emu/time.c: ...to here.
743 * util/usb.c: Move from here...
744 * bus/usb/emu/usb.c: ...to here.
746 * include/grub/emu/misc.h: New header for grub-emu functions.
747 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
749 * conf/any-emu.rmk: Rule updates for above renames.
750 * conf/common.rmk: Likewise.
751 * conf/i386-pc.rmk: Likewise.
752 * conf/i386-qemu.rmk: Likewise.
753 * conf/mips.rmk: Likewise.
754 * conf/sparc64-ieee1275.rmk: Likewise.
755 * conf/x86-efi.rmk: Likewise.
757 * disk/lvm.h: #include updates for above renames.
758 * util/grub-mkrelpath.c: Likewise.
759 * util/grub-probe.c: Likewise.
760 * util/i386/pc/grub-setup.c: Likewise.
761 * util/sparc64/ieee1275/grub-setup.c: Likewise.
762 * kern/emu/console.c: Likewise.
763 * kern/emu/getroot.c: Likewise.
764 * kern/emu/hostdisk.c: Likewise.
765 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
767 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
768 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
769 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
770 * util/misc.c: Remove grub-emu functions.
772 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
775 Reported by: Thorsten Grützmacher.
777 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
779 (circprog_set_property): Register and unregister timeout hook.
780 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
781 (label_destroy): Free template. and unregister hook.
782 (label_set_state): New function.
783 (label_set_property): Handle templates and hooks.
784 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
786 (progress_bar_set_property): Register and unregister timeout hook.
787 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
788 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
789 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
790 (update_timeout_visit): Removed.
791 (update_timeouts): New function.
792 (redraw_timeouts): Likewise.
793 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
794 (grub_gfxmenu_clear_timeout): Likewise.
795 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
796 (grub_gfxmenu_timeout_notify): Likewise.
797 (grub_gfxmenu_timeout_notifications): New external variable.
798 (grub_gfxmenu_timeout_register): New function.
799 (grub_gfxmenu_timeout_unregister): Likewise.
801 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
803 Transform (broken) vga terminal into (working) vga video driver.
805 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
807 * include/grub/video.h (grub_video_driver_id):
808 Add GRUB_VIDEO_DRIVER_VGA.
809 * term/i386/pc/vga.c: Renamed to ...
810 * video/i386/pc/vga.c: ...this
811 (DEBUG_VGA): Removed.
812 (CHAR_WIDTH): Likewise.
813 (CHAR_HEIGHT): Likewise.
814 (TEXT_WIDTH): Likewise.
815 (TEXT_HEIGHT): Likewise.
816 (DEFAULT_FG_COLOR): Likewise.
817 (DEFAULT_BG_COLOR): Likewise.
818 (colored_char): Likewise.
821 (cursor_state): Likewise.
822 (fg_color): Likewise.
823 (bg_color): Likewise.
824 (text_buf): Likewise.
827 (framebuffer): New variable.
828 (set_read_map): Disabled.
829 (setup): New variable.
830 (is_target): Likewise.
831 (grub_vga_mod_init): Likewise.
832 (grub_vga_mod_fini): Likewise.
833 (check_vga_mem): Likewise.
834 (write_char): Likewise.
835 (write_cursor): Likewise.
836 (scroll_up): Likewise.
837 (grub_vga_putchar): Likewise.
838 (grub_vga_getcharwidth): Likewise.
839 (grub_vga_getwh): Likewise.
840 (grub_vga_getxy): Likewise.
841 (grub_vga_gotoxy): Likewise.
842 (grub_vga_cls): Likewise.
843 (grub_vga_setcolorstate): Likewise.
844 (grub_vga_setcursor): Likewise.
845 (grub_video_vga_init): New function.
846 (grub_video_vga_setup): Likewise.
847 (grub_video_vga_fini): Likewise.
848 (update_target): Likewise.
849 (grub_video_vga_blit_bitmap): Likewise.
850 (grub_video_vga_blit_render_target): Likewise.
851 (grub_video_vga_set_active_render_target): Likewise.
852 (grub_video_vga_get_active_render_target): Likewise.
853 (grub_video_vga_swap_buffers): Likewise.
854 (grub_video_vga_set_palette): Likewise.
855 (grub_video_vga_get_info_and_fini): Likewise.
856 (grub_vga_term): Removed.
857 (grub_video_vga_adapter): New variable.
858 (GRUB_MOD_INIT): Register a video driver instead of terminal.
859 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
861 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
863 * video/readers/jpeg.c: Indented.
865 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
867 Various jpeg cleanups.
869 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
870 (grub_jpeg_decode_quan_table): Use sizeof.
871 (grub_jpeg_decode_du): Use ARRAY_SIZE.
873 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
875 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
876 tables. Ignore non-last ac bit.
877 (grub_jpeg_decode_quan_table): Likewise.
879 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
881 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
882 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
883 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
884 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
885 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
886 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
888 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
890 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
893 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
895 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
897 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
899 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
902 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
904 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
907 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
909 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
912 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
914 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
916 2010-05-01 Christian Franke <franke@computer.org>
918 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
919 Remove broken Cygwin path conversion.
920 * util/misc.c: [__CYGWIN__] Add include and define.
921 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
923 (make_system_path_relative_to_its_root): Simplify loop, replace early
925 [__CYGWIN__] Add conversion to win32 path.
926 Include "/" case in trailing slash removal.
928 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
930 * kern/main.c (grub_load_config): Fix copy-pasted comment.
931 Reported by: Seth Goldberg
933 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
935 * commands/help.c (grub_cmd_help): Fix a typo.
936 Reported by: Seth Goldberg
938 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
940 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
942 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
943 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
944 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
945 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
946 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
947 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
948 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
949 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
950 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
951 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
952 * normal/context.c (GRUB_MOD_INIT): Likewise.
953 * normal/main.c (GRUB_MOD_INIT): Likewise.
954 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
955 * term/serial.c (GRUB_MOD_INIT): Likewise.
956 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
958 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
960 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
963 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
965 * commands/iorw.c: New file.
966 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
967 (iorw_mod_SOURCES): New variable.
968 (iorw_mod_CFLAGS): Likewise.
969 (iorw_mod_LDFLAGS): Likewise.
971 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
975 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
976 * normal/main.c (hotkey_aliases): New variable.
977 (grub_normal_add_menu_entry): Parse "--hotkey".
978 * normal/menu_text.c (run_menu): Handle hotkeys.
980 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
982 * kern/i386/coreboot/init.c (grub_machine_init): Call
983 grub_machine_mmap_init on qemu.
985 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
987 * boot/i386/qemu/boot.S: Add a missing .code16.
989 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
991 Use LBIO on coreboot.
993 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
994 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
995 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
997 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
998 grub_machine_mmap_init on coreboot.
999 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1000 GRUB_LINUXBIOS_MEMBER_LINK.
1001 (grub_machine_mmap_iterate): Fix declaration.
1002 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1004 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1006 Split coreboot and multiboot ports.
1008 * conf/i386-multiboot.rmk: New file.
1009 * configure.ac: Add multiboot port.
1010 * include/grub/i386/multiboot/boot.h: New file.
1011 * include/grub/i386/multiboot/console.h: Likewise.
1012 * include/grub/i386/multiboot/init.h: Likewise.
1013 * include/grub/i386/multiboot/kernel.h: Likewise.
1014 * include/grub/i386/multiboot/loader.h: Likewise.
1015 * include/grub/i386/multiboot/memory.h: Likewise.
1016 * include/grub/i386/multiboot/serial.h: Likewise.
1017 * include/grub/i386/multiboot/time.h: Likewise.
1018 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1019 * loader/multiboot.c: Likewise.
1020 * loader/multiboot_mbi2.c: Likewise.
1021 * util/grub-mkrescue.in: Generate multiboot rescue.
1023 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1025 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1027 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1029 Merge handling of input and output terminals. Fix a hang.
1031 * commands/terminal.c (abstract_terminal): New struct.
1032 (handle_command): New function. Based on grub_cmd_terminal_input.
1033 (grub_cmd_terminal_input): Use handle_command.
1034 (grub_cmd_terminal_output): Use handle_command.
1036 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1038 Fix comment handling.
1040 * tests/grub_script_comments.in: New testcase.
1041 * conf/tests.rmk: Rules for new testcase.
1042 * script/yylex.l: Updated flex rules.
1044 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1046 * docs/grub.texi (play): Document that zero pitches produce rests.
1047 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1050 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1052 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1055 2010-04-26 Christian Franke <franke@computer.org>
1057 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1058 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1059 (grub_get_prefix): Remove function.
1060 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1061 make_system_path_relative_to_its_root ().
1062 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1064 2010-04-24 Christian Franke <franke@computer.org>
1066 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1067 (kernel_img_LDFLAGS): Remove -static-libgcc.
1069 2010-04-24 Christian Franke <franke@computer.org>
1071 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1072 and CHECK_END_SYMBOL if grub-emu is built.
1073 Unset TARGET_OBJ2ELF if grub-emu is built
1074 without module support.
1076 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
1080 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1081 (grub_fstest_SOURCES): Likewise.
1082 (pkglib_MODULES): Add nilfs2.mod.
1083 (nilfs2_mod_SOURCES): New variable.
1084 (nilfs2_mod_CFLAGS): Likewise.
1085 (nilfs2_mod_LDFLAGS): Likewise.
1086 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1087 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1088 * fs/nilfs2.c: New file.
1090 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1092 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1095 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1097 Add grub-mkconfig support for NetBSD.
1099 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1100 * util/grub-mkconfig.in: export new NetBSD specific variables.
1101 * po/POTFILES-shell: added 10_netbsd.in.
1102 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1104 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1106 Fix emu build with grub-emu-pci and grub-emu-modules.
1108 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1110 * include/grub/libpciaccess.h: New file.
1111 * conf/any-emu.rmk: Update kernel headers for emu build.
1113 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1115 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1117 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1119 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1121 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1123 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1124 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1125 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1126 util/ieee1275/ofpath.c.
1127 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1128 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1129 * include/grub/sparc64/ieee1275/boot.h
1130 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1131 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1132 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1133 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1135 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1136 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1137 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1140 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1142 * util/grub-mkconfig.in: Corrected two == equality tests.
1143 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1144 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1145 expect a number appended to it.
1146 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1147 expects a number appended to it.
1149 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1151 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1153 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1155 * util/hostdisk.c (make_device_name): Change to new partition naming.
1157 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1159 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1161 2010-04-17 Christian Franke <franke@computer.org>
1163 * Makefile.in: Add missing localedir setting.
1165 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
1167 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1168 mistake in r2156. Noticed by Anthony Fok.
1170 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1172 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1174 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1176 Fix a spurious, uninitialized variable warning.
1178 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1179 Initialize variable, shdr.
1180 (grub_freebsd_load_elfmodule): Likewise.
1181 (grub_freebsd_load_elf_meta): Likewise.
1183 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1185 Fix for escaped dollar in double quoted strings.
1187 * script/yylex.l: Updated flex rules.
1188 * conf/tests.rmk: Rule for new testcase.
1189 * tests/grub_script_dollar.in: New testcase.
1191 2010-04-13 Carles Pina i Estany <carles@pina.cat>
1192 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
1194 Enclose all translated strings in grub.cfg in single quotes, and
1195 escape them appropriately (Ubuntu bug #552921).
1197 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1198 * util/grub.d/10_hurd.in: Use it.
1199 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1200 * util/grub.d/10_linux.in (linux_entry): Likewise.
1202 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1204 Fix cygwin compilation.
1206 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1207 * include/grub/misc.h (__register_frame_info)
1208 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1209 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1210 * kern/misc.c (__register_frame_info)
1211 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1212 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1214 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1216 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1218 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1220 Unify libgcc processing.
1222 * Makefile.in (kernel_img_LDFLAGS): New variable.
1223 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1224 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1226 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1227 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1228 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1229 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1230 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1231 overwriting. Remove -lgcc and -static-libgcc
1232 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1233 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1234 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1235 (kernel_img_LDFLAGS): Append instead of overwriting.
1236 Remove -lgcc and -static-libgcc
1237 * conf/sparc64-ieee1275.rmk: Likewise.
1238 * include/grub/powerpc/libgcc.h: Move to ...
1239 * include/grub/libgcc.h: .. this.
1240 * include/grub/libgcc.h: Don't export most of the function on x86.
1241 (__bswapsi2): New export.
1242 (__bswapdi2): Likewise.
1243 * include/grub/mips/libgcc.h: Removed.
1244 * include/grub/sparc64/libgcc.h: Likewise.
1246 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1248 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
1249 disk_info_msg (conflicts with gettexting into languages with cases).
1251 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1253 Add grub-probe support for NetBSD.
1255 * util/getroot.c (find_root_device): Convert block device to
1256 character device on NetBSD.
1257 * util/probe.c (probe): Require character device on NetBSD.
1258 * util/hostdisk.c: NetBSD specific headers.
1259 (configure_device_driver): new function to tune device driver
1260 parameters (currently only for NetBSD floppy driver).
1261 (grub_util_biosdisk_open): NetBSD specific code (get disk size
1262 via disklabel ioctl).
1263 (open_device): call configure_device_driver on NetBSD.
1264 (convert_system_partition_to_system_disk): NetBSD specific code.
1265 (device_is_wholedisk): Likewise.
1266 (grub_util_biosdisk_get_grub_dev): Likewise.
1267 (make_device_name): Fixed a typo in bsd_part_str.
1268 * configure.ac: check for opendisk() and getrawpartition() on
1269 NetBSD and set LIBUTIL.
1270 * Makefile.in: add LIBUTIL to LIBS.
1272 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1276 * util/grub-script-check.c: Better help message.
1278 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1282 * configure.ac: Flex version check.
1283 * conf/common.rmk: Add -Wno-error to sh.mod.
1284 * script/yylex.l: Remove all #pragma.
1286 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1288 * include/grub/util/misc.h (canonicalise_file_name): Add missing
1290 Reported by: Seth Goldberg.
1292 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1294 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
1295 Rename "module" to "module2".
1296 Reported by: Seth Goldberg.
1298 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1300 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
1302 Reported by: Seth Goldberg.
1304 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1306 * lib/posix_wrap/locale.h: Add missing file.
1307 Reported by: Seth Goldberg.
1309 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1311 grub-emu module load support.
1313 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
1314 NO_DYNAMIC_MODULES switched to this.
1315 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
1317 * conf/any-emu.rmk: Generate symlist.
1318 (kernel_img_HEADERS): Add util/datetime.h.
1319 (kernel_img_HEADERS) [sdl]: Add sdl.h.
1320 (kernel_img_HEADERS) [libusb]: Add libusb.h.
1321 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
1322 kern/$(target_cpu)/cache.S.
1323 * configure.ac (grub-emu-modules): New option.
1324 * genmk.rb: Handle multiple source lists.
1325 * include/grub/sdl.h: New file.
1326 * include/grub/libusb.h: Likewise.
1327 * util/grub-emu.c (main): Hanle (host) root.
1328 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
1329 GRUB_ERR_UNKNOWN_DEVICE.
1330 * util/misc.c: Move mm functions to ...
1331 * util/mm.c: ... here. All users updated.
1333 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1335 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
1336 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
1338 (maintainer-clean): Remove libgcrypt-grub.
1340 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1342 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
1344 2010-04-09 EFI Coder <eficoder@hotmail.com>
1346 * normal/menu_text.c (print_message): Clean up the message and show
1347 the Fn information when on EFI
1348 * term/efi/console.c (grub_console_checkkey): Add F4 support.
1350 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1352 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
1354 * normal/crypto.c (read_crypto_list): Likewise.
1355 * normal/dyncmd.c (read_command_list): Likewise.
1356 * normal/term.c (read_terminal_list): Likewise.
1357 * normal/main.c (read_lists): Use explicit prefix.
1358 (read_lists_hook): Use read_lists.
1359 (grub_normal_execute): Likewise.
1361 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1363 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
1364 Reported by: Thomas Schmitt.
1365 Add -no-emul-boot to grub-mkisofs parameters.
1367 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1369 * font/font.c: Indented.
1371 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1373 Elif support to GRUB script (by Deepak Vankadaru).
1375 * tests/grub_script_if.in: New testcase.
1376 * conf/tests.rmk: Rule for new testcase.
1377 * script/parser.y: Grammar rules for elif.
1379 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1381 While and until loops support to GRUB script.
1383 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
1384 (grub_script_create_cmdwhile): New function prototype.
1385 (grub_script_execute_cmdwhile): New function prototype.
1386 * script/execute.c (grub_script_execute_cmdwhile): New function.
1387 * script/parser.y (command): New commands.
1388 (whilecmd): New grammar rule.
1389 (untilcmd): New grammar rule.
1390 * script/script.c (grub_script_create_cmdwhile): New function.
1391 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
1394 * tests/grub_script_while1.in: New testcase.
1395 * conf/tests.rmk: Rule for new testcase.
1397 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1399 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
1402 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
1404 GRUB_BACKGROUND support.
1406 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
1407 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
1409 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1411 Load fonts and modules for gfxmenu in grub-mkconfig.
1412 Idea by: Mario Vazquez
1414 * util/grub.d/00_header.in: Load pf2 and image modules.
1416 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1418 grub-mkconfig multiple terminal support.
1420 * util/grub-mkconfig.in: Handle multiple terminals correctly.
1421 * util/grub.d/00_header.in: Likewise.
1423 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1425 * Makefile.in: Specify files explicitly instead of using $< and $@ since
1426 we use cd $(srcdir).
1428 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
1430 * util/grub.d/10_linux.in: Only use the first word of
1431 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
1432 spaces in GRUB_DISTRIBUTOR.
1433 * util/grub.d/10_kfreebsd.in: Likewise.
1434 * util/grub.d/10_hurd.in: Likewise.
1436 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
1438 Fix unit testing framework for Qemu 0.12.
1440 * tests/util/grub-shell.in: Remove -serial stdio option.
1442 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1444 POSIX header file wrappers.
1446 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
1448 * lib/posix_wrap/ctype.h: Likewise.
1449 * lib/posix_wrap/errno.h: Likewise.
1450 * lib/posix_wrap/langinfo.h: Likewise.
1451 * lib/posix_wrap/limits.h: Likewise.
1452 * lib/posix_wrap/localcharset.h: Likewise.
1453 * lib/posix_wrap/stdint.h: Likewise.
1454 * lib/posix_wrap/stdio.h: Likewise.
1455 * lib/posix_wrap/stdlib.h: Likewise.
1456 * lib/posix_wrap/string.h: Likewise.
1457 * lib/posix_wrap/sys/types.h: Likewise.
1458 * lib/posix_wrap/unistd.h: Likewise.
1459 * lib/posix_wrap/wchar.h: Likewise.
1460 * lib/posix_wrap/wctype.h: Likewise.
1461 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
1462 (grub_script.yy.h): Likewise.
1463 * script/yylex.l: Remove POSIX emulation #defines.
1464 * Makefile.in (POSIX_CFLAGS): New variable.
1465 (GNULIB_UTIL_CFLAGS): Likewise.
1469 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
1470 (regexp_mod_SOURCES): New variable.
1471 (regexp_mod_CFLAGS): Likewise.
1472 (regexp_mod_LDFLAGS): Likewise.
1473 * commands/regexp.c: New file.
1474 * gnulib/regcomp.c: New file. Imported from gnulib.
1475 * gnulib/regex.c: Likewise.
1476 * gnulib/regex_internal.c: Likewise.
1477 * gnulib/regex_internal.h: Likewise.
1478 * gnulib/regexec.c: Likewise.
1479 * gnulib/regex.h: Likewise.
1481 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1483 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
1484 unsupported video mode types.
1486 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1488 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
1490 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1492 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
1493 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
1495 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1497 Remove unused grub_vga_get_font.
1499 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
1500 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
1502 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1504 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
1505 * include/grub/misc.h: Likewise.
1507 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1509 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
1510 for which failure is fatal.
1512 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1514 * util/grub-install.in: Use mkdir -p to create grub directory.
1515 * util/i386/efi/grub-install.in: Likewise.
1516 * util/ieee1275/grub-install.in: Likewise.
1518 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1520 * Makefile.in (LEX): new variable.
1522 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1524 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
1525 `=' and added double quotes on operands of this equality test.
1527 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1529 * Makefile.in (uninstall): Remove a leftover debug echo.
1530 Reported by: Grégoire Sutre
1532 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1534 MIPS multiboot2 support.
1536 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
1537 (multiboot2_mod_SOURCES): New variable.
1538 (multiboot2_mod_CFLAGS): Likewise.
1539 (multiboot2_mod_LDFLAGS): Likewise.
1540 (multiboot2_mod_ASFLAGS): Likewise.
1541 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
1543 (MULTIBOOT_ENTRY_REGISTER): Likewise.
1544 (MULTIBOOT_MBI_REGISTER): Likewise.
1545 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
1546 (MULTIBOOT_ELF32_MACHINE): Likewise.
1547 (MULTIBOOT_ELF64_MACHINE): Likewise.
1548 * include/grub/mips/multiboot.h: New file.
1549 * include/grub/video.h (grub_video_driver_id): New type
1550 GRUB_VIDEO_DRIVER_SM712.
1551 (grub_video_get_info_and_fini): Export.
1552 (grub_video_get_palette): Likewise.
1553 (grub_video_get_driver_id): Likewise.
1554 * include/multiboot2.h: Resynced with spec.
1555 * loader/i386/multiboot.c: Moved from here ...
1556 * loader/multiboot.c: ... here. All users updated.
1557 (grub_multiboot_boot): Use platform-specific macros.
1558 * loader/i386/multiboot_elfxx.c: Moved from here ...
1559 * loader/multiboot_elfxx.c: ... here. All users updated.
1560 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
1561 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
1562 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
1564 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1566 Import gnulib argp module.
1568 * gnulib/argp-ba.c: New file.
1569 * gnulib/argp-eexst.c: Likewise.
1570 * gnulib/argp-fmtstream.c: Likewise.
1571 * gnulib/argp-fmtstream.h: Likewise.
1572 * gnulib/argp-fs-xinl.c: Likewise.
1573 * gnulib/argp-help.c: Likewise.
1574 * gnulib/argp-namefrob.h: Likewise.
1575 * gnulib/argp-parse.c: Likewise.
1576 * gnulib/argp-pin.c: Likewise.
1577 * gnulib/argp-pv.c: Likewise.
1578 * gnulib/argp-pvh.c: Likewise.
1579 * gnulib/argp-version-etc.c: Likewise.
1580 * gnulib/argp-version-etc.h: Likewise.
1581 * gnulib/argp-xinl.c: Likewise.
1582 * gnulib/argp.h: Likewise.
1584 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1586 * kern/device.c (grub_device_iterate): Clear errors after failed
1589 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1591 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
1592 returned by firmware.
1594 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1596 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
1597 compilation on coreboot and qemu
1599 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1601 * include/multiboot2.h: Resync with spec.
1603 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1605 Multiboot2 tag support
1607 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
1608 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
1609 Remove loader/multiboot_loader.c.
1610 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
1611 (grub_multiboot2_real_boot): Likewise.
1612 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
1613 (grub_get_multiboot_mmap_count): New proto.
1614 (grub_fill_multiboot_mmap): Likewise.
1615 (grub_multiboot_set_video_mode): Likewise.
1616 (grub_multiboot_set_console): Likewise.
1617 (grub_multiboot_load): Likewise.
1618 (grub_multiboot_load_elf): Likewise.
1619 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
1620 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
1621 * include/multiboot.h: Resynced with specification.
1622 * include/multiboot2.h: Resynced with specification.
1623 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
1624 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
1625 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
1626 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
1628 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
1629 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
1630 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
1632 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
1634 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
1635 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1637 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
1638 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
1639 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
1641 * loader/i386/multiboot_mbi2.c: New file.
1643 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1647 * Makefile.in (GNULIB_CFLAGS): New variable.
1648 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
1649 (grub_script_check_CFLAGS): New variable.
1650 * gnulib/alloca.h: Resync with gnulib.
1651 * gnulib/error.c: Likewise.
1652 * gnulib/error.h: Likewise.
1653 * gnulib/fnmatch.c: Likewise.
1654 * gnulib/fnmatch_loop.c: Likewise.
1655 * gnulib/getdelim.c: Likewise.
1656 * gnulib/getline.c: Likewise.
1657 * gnulib/getopt.c: Likewise.
1658 * gnulib/getopt1.c: Likewise.
1659 * gnulib/getopt_int.h: Likewise.
1660 * gnulib/gettext.h: Likewise.
1661 * gnulib/progname.c: Likewise.
1662 * gnulib/progname.h: Likewise.
1664 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
1666 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
1667 which is the case with --disabled-nls.
1669 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
1670 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
1671 * util/misc.c: Likewise.
1672 * util/mkisofs/mkisofs.c: Likewise.
1673 * util/mkisofs/mkisofs.h: Likewise.
1675 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1677 Simplify Apple CC support.
1679 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
1680 Add 0 byte at the end not to have a symbol with empty target.
1681 * mmap/i386/pc/mmap_helper.S: Likewise.
1682 * genmk.rb: Ignore errors 2030 and 2050.
1683 * kern/i386/pc/startup.S: Use LOCAL when possible.
1685 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
1687 Testcase and the fix for final semicolon on cmdline.
1689 * tests/grub_script_final_semicolon.in: New testcase.
1690 * conf/tests.rmk: Rules for the new testcase.
1691 * script/parser.y: Grammar fix.
1693 2010-03-26 BVK Chaitanya <bvk@localhost>
1695 Blank lines testcase for GRUB script.
1697 * tests/grub_script_blanklines.in: New testcase.
1698 * conf/tests.rmk: Rules for the new testcase.
1700 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1704 * genmk.rb: Add -DGRUB_FILE to all C targets.
1705 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
1706 * include/grub/list.h: Likewise.
1707 * include/grub/misc.h: Likewise.
1708 * include/grub/mm.h: Likewise.
1709 * include/grub/test.h: Likewise.
1710 * kern/mm.c: Likewise.
1711 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1713 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1715 Sunpc partitions support.
1717 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
1718 (grub_fstest_SOURCES): Likewise.
1719 (pkglib_MODULES): Add part_sunpc.mod.
1720 (part_sunpc_mod_SOURCES): New variable.
1721 (part_sunpc_mod_CFLAGS): Likewise.
1722 (part_sunpc_mod_LDFLAGS): Likewise.
1723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
1724 * partmap/sunpc.c: New file.
1726 2010-03-26 BVK Chaitanya <bvk@localhost>
1728 For loop support to GRUB script.
1730 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
1731 (grub_script_create_cmdfor): New function prototype.
1732 (grub_script_execute_cmdfor): New function prototype.
1733 * script/execute.c (grub_script_execute_cmdfor): New function.
1734 * script/parser.y (command): New for command.
1735 (forcmd): New grammar rule.
1736 * script/script.c (grub_script_create_cmdfor): New function.
1737 * util/grub-script-check.c (grub_script_execute_cmdfor): New
1739 * tests/grub_script_for1.in: New testcase.
1740 * conf/tests.rmk: Rules for new testcase.
1742 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1746 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
1747 'partition' is NULL, grub_partition_get_start already does that.
1748 * commands/loadenv.c (check_blocklists): Likewise.
1749 (write_blocklists): Likewise.
1750 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
1751 (grub_fstest_SOURCES): Likewise.
1752 (pkglib_MODULES): Add part_bsd.mod.
1753 (part_bsd_mod_SOURCES): New variable.
1754 (part_bsd_mod_CFLAGS): Likewise.
1755 (part_bsd_mod_LDFLAGS): Likewise.
1756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
1757 (grub_emu_SOURCES): Likewise.
1758 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1759 * include/grub/bsdlabel.h: New file.
1760 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
1762 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
1763 (grub_partition_map_list): New variable.
1764 (grub_partition_map_register): Inline.
1765 (grub_partition_map_unregister): Likewise.
1766 (FOR_PARTITION_MAPS): New macro.
1767 (grub_partition_map_iterate): Removed.
1768 (grub_partition_get_start): Handle nested partitions.
1769 * include/grub/msdos_partition.h: Remove bsd-related entries.
1770 (grub_pc_partition): Remove.
1771 * kern/disk.c (grub_disk_close): Free partition data.
1772 (grub_disk_adjust_range): Handle nested partitions.
1773 * kern/partition.c (grub_partition_map_probe): New function.
1774 (grub_partition_probe): Parse name to number, handle subpartitions.
1775 (get_partmap): New function.
1776 (grub_partition_iterate): Handle subpartitions.
1777 (grub_partition_get_name): Likewise.
1778 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
1779 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
1780 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
1781 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
1783 (acorn_partition_map_probe): Remove.
1784 (acorn_partition_map_get_name): Likewise.
1785 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
1787 Set 'index' to 0 since there can be only one partition entry per sector.
1788 (amiga_partition_map_probe): Remove.
1789 (amiga_partition_map_get_name): Likewise.
1790 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
1792 Set 'offset' and 'index' to real positions of partitions.
1793 (apple_partition_map_probe): Remove.
1794 (apple_partition_map_get_name): Likewise.
1795 * partmap/bsdlabel.c: New file.
1796 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
1798 Allocate 'data' so it can be correctly freed.
1799 Set 'index' to offset inside sector.
1800 (gpt_partition_map_probe): Remove.
1801 (gpt_partition_map_get_name): Likewise.
1802 * partmap/msdos.c (grub_partition_parse): Remove.
1803 (pc_partition_map_iterate): Don't force raw access.
1805 Make 'ext_offset' a local variable.
1806 (pc_partition_map_probe): Remove.
1807 (pc_partition_map_get_name): Remove.
1808 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
1810 (sun_partition_map_probe): Remove.
1811 (sun_partition_map_get_name): Likewise.
1812 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
1813 (grub_pcpart_type): Likewise.
1814 * util/hostdisk.c (open_device): Handle new numbering scheme.
1815 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
1816 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
1817 * util/grub-probe.c (probe_partmap): Handle nested paritions.
1818 * util/grub-install.in: Insert all subpartition modules.
1819 * util/ieee1275/grub-install.in: Likewise.
1821 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
1823 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
1826 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
1828 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
1830 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
1832 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
1833 match where 'make install' puts them.
1834 * util/i386/efi/grub-install.in: Likewise.
1836 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
1838 * .bzrignore: Add gentrigtables, grub-script-check,
1839 grub_script_check_init.c, grub_script_check_init.h, and
1842 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
1844 * kern/parser.c: Indented.
1846 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1848 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
1850 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1852 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
1853 alpha_mask_size == 0 case.
1855 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
1857 GRUB shell lexer and parser improvements.
1859 * conf/any-emu.rmk: Build rule updates.
1860 * conf/common.rmk: Likewise.
1861 * conf/i386-coreboot.rmk: Likewise.
1862 * conf/i386-efi.rmk: Likewise.
1863 * conf/i386-ieee1275.rmk: Likewise.
1864 * conf/i386-pc.rmk: Likewise.
1865 * conf/powerpc-ieee1275.rmk: Likewise.
1866 * conf/x86_64-efi.rmk: Likewise.
1868 * configure.ac: Configure check for flex.
1870 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
1872 (grub_lexer_param): Struct member updates.
1873 (grub_parser_param): Likewise.
1874 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
1875 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
1876 (grub_script_lexer_init): Prototype update.
1877 (grub_script_lexer_record_start): Likewise.
1878 (grub_script_lexer_record_stop): Likewise.
1879 (grub_script_lexer_yywrap): New function prototype.
1880 (grub_script_lexer_fini): Likewise.
1881 (grub_script_execute_argument_to_string): Removed by...
1882 (grub_script_execute_argument_to_argv): ...better version.
1884 * script/execute.c (ROUND_UPTO): New macro.
1885 (grub_script_execute_cmdline): Out of memory fixes.
1886 (grub_script_execute_menuentry): Likewise.
1887 (grub_script_execute_argument_to_string): Removed. Update all
1889 (grub_script_execute_argument_to_argv): ...better version.
1890 * script/function.c (grub_script_function_create): Use
1891 grub_script_execute_argument_to_argv instead of
1892 grub_script_execute_argument_to_string.
1894 * script/lexer.c (check_varstate): Removed.
1895 (check_textstate): Removed.
1896 (grub_script_lexer_record_start): Likewise.
1897 (grub_script_lexer_record_stop): Likewise.
1898 (recordchar): Replaced with...
1899 (grub_script_lexer_record): ...new function.
1900 (nextchar): Removed.
1901 (grub_script_lexer_init): Rewritten.
1902 (grub_script_yylex): Rewritten.
1903 (append_newline): New function.
1904 (grub_script_lexer_yywrap): New function.
1905 (grub_script_lexer_fini): New function.
1906 (grub_script_yyerror): Sets error flag.
1908 * script/yylex.l: New file.
1909 (grub_lexer_yyfree): Wrapper for flex yyffre.
1910 (grub_lexer_yyalloc): Likewise.
1911 (grub_lexer_yyrealloc): Likewise.
1912 * script/parser.y: Refactored.
1914 * script/script.c (grub_script_arg_add): Out of memory fixes.
1915 (grub_script_add_arglist): Likewise.
1916 (grub_script_create_cmdline): Likewise.
1917 (grub_script_create_cmdmenu): Likewise.
1918 (grub_script_add_cmd): Likewise.
1919 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
1920 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
1923 * tests/grub_script_echo1.in: New testcase.
1924 * tests/grub_script_vars1.in: New testcase.
1925 * tests/grub_script_echo_keywords.in: New testcase.
1927 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1929 Remove some redundancy in build system.
1931 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
1932 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
1933 (TARGET_LDFLAGS): Add -nostdlib.
1934 (TARGET_IMG_LDFLAGS): Likewise.
1935 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
1936 anything since mmap isn't available.
1937 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
1939 (pkglib_MODULES): Remove reboot.mod.
1940 (reboot_mod_SOURCES): Removed.
1941 (reboot_mod_CFLAGS): Likewise.
1942 (reboot_mod_LDFLAGS): Likewise.
1943 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
1944 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
1945 (DEFSYMFILES): Add kernel_syms.lst.
1946 (kernel_img_HEADERS): Add common headers.
1947 (symlist.c): New target.
1948 (kernel_syms.lst): Likewise.
1949 (pkglib_MODULES): Add memdisk.mod.
1950 (memdisk_mod_SOURCES): New variable.
1951 (memdisk_mod_CFLAGS): Likewise.
1952 (memdisk_mod_LDFLAGS): Likewise.
1953 (pkglib_MODULES): Add reboot.mod.
1954 (reboot_mod_SOURCES): New variable.
1955 (reboot_mod_CFLAGS): Likewise.
1956 (reboot_mod_LDFLAGS): Likewise.
1957 (pkglib_MODULES): Add date.mod.
1958 (date_mod_SOURCES): New variable.
1959 (date_mod_CFLAGS): Likewise.
1960 (date_mod_LDFLAGS): Likewise.
1961 (pkglib_MODULES): Add datehook.mod.
1962 (datehook_mod_SOURCES): New variable.
1963 (datehook_mod_CFLAGS): Likewise.
1964 (datehook_mod_LDFLAGS): Likewise.
1965 (pkglib_MODULES): Add lsmmap.mod.
1966 (lsmmap_mod_SOURCES): New variable.
1967 (lsmmap_mod_CFLAGS): Likewise.
1968 (lsmmap_mod_LDFLAGS): Likewise.
1969 (pkglib_MODULES): Add boot.mod.
1970 (boot_mod_SOURCES): New variable.
1971 (boot_mod_CFLAGS): Likewise.
1972 (boot_mod_LDFLAGS): Likewise.
1973 * conf/i386-coreboot.rmk: Removed redundant parts.
1974 * conf/i386-ieee1275.rmk: Likewise.
1975 * conf/i386-pc.rmk: Likewise.
1976 * conf/mips-yeeloong.rmk: Likewise.
1977 * conf/mips.rmk: Likewise.
1978 * conf/powerpc-ieee1275.rmk: Likewise.
1979 * conf/sparc64-ieee1275.rmk: Likewise.
1980 * conf/x86_64-efi.rmk: Likewise.
1981 * conf/i386-coreboot.rmk: Moved qemu parts ..
1982 * conf/i386-qemu.rmk: ... here
1983 * conf/i386-efi.rmk: Moved common parts to...
1984 * conf/x86-efi.rmk: ... here.
1985 * conf/i386.rmk: Added modules common to all x86 variants.
1986 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
1987 * disk/memdisk.c: Remove grub/machine/kernel.h.
1988 * gensymlist.sh.in: Include symbol.h.
1989 * hook/datehook.c: Correct module name.
1990 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
1991 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
1992 * include/grub/i386/efi/serial.h: New file.
1993 * include/grub/x86_64/efi/serial.h: Likewise.
1994 * util/time.c: Likewise.
1995 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
1997 2010-03-14 Colin King <colin.king@ubuntu.com>
1998 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2000 Shrink the pre-partition-table part of boot.img by eight bytes.
2002 * boot/i386/pc/boot.S (ERR): New macro.
2003 (chs_mode): Use ERR.
2004 (geometry_error): Likewise.
2005 (hd_probe_error): Remove. This is only used once, so we wrwite
2007 (read_error): Instead of printing read_error_string, just set up
2008 %si and fall through to ...
2009 (error_message): ... this new function, also used by ERR.
2011 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2013 Speed up consecutive hostdisk operations on the same device.
2015 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2016 (grub_util_biosdisk_open): Initialise disk->data.
2017 (struct linux_partition_cache): New structure.
2018 (linux_find_partition): Cache partition start positions; these are
2019 expensive to compute on every read and write.
2020 (open_device): Cache open file descriptor in disk->data, so that we
2021 don't have to reopen it and flush the buffer cache for consecutive
2022 operations on the same device.
2023 (grub_util_biosdisk_close): New function.
2024 (grub_util_biosdisk_dev): Set `close' member.
2026 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2027 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2028 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2029 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2030 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2032 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2034 Compile parts of grub-emu as modules.
2036 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2037 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2038 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2039 (all-local): Add $(GRUB_EMU).
2040 (install-local): Install $(GRUB_EMU).
2041 (uninstall): Uninstall $(GRUB_EMU).
2042 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2043 * kern/dl.c: Likewise.
2044 * commands/sleep.c: Not include machine/time.h.
2045 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2046 (COMMON_CFLAGS): Likewise.
2047 (sbin_UTILITIES): Remove grub-emu.
2048 (grub_emu_SOURCES): Removed.
2049 (kernel_img_RELOCATABLE): New variable.
2050 (pkglib_PROGRAMS): Add kernel.img.
2051 (kernel_img_SOURCES): New variable
2052 (kernel_img_CFLAGS): Likewise.
2053 (kernel_img_LDFLAGS): Likewise.
2054 (TARGET_NO_STRIP): Likewise.
2055 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2056 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2057 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2058 (grub-emu): New target.
2059 (GRUB_EMU): New variable.
2060 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2061 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2062 * loader/xnu.c: Likewise.
2063 * include/grub/pci.h: Likewise.
2064 * genemuinit.sh: New file.
2065 * genemuinitheader.sh: Likewise.
2066 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2067 Support TARGET_NO_DYNAMIC_MODULES.
2068 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2069 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2070 * disk/loopback.c: Likewise.
2071 * font/font_cmd.c: Likewise.
2072 * partmap/acorn.c: Likewise.
2073 * partmap/amiga.c: Likewise.
2074 * partmap/apple.c: Likewise.
2075 * partmap/gpt.c: Likewise.
2076 * partmap/msdos.c: Likewise.
2077 * partmap/sun.c: Likewise.
2078 * parttool/msdospart.c: Likewise.
2079 * term/gfxterm.c: Likewise.
2080 * video/bitmap.c: Likewise.
2081 * video/readers/jpeg.c: Likewise.
2082 * video/readers/png.c: Likewise.
2083 * video/readers/tga.c: Likewise.
2084 * video/video.c: Likewise.
2085 * util/grub-emu.c (read_command_list): Removed.
2086 (main): Don't call util_init_nls.
2087 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2088 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2090 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2092 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2093 date.mod, datehook.mod.
2094 (datetime_mod_SOURCES): New variable.
2095 (datetime_mod_CFLAGS): Likewise.
2096 (datetime_mod_LDFLAGS): Likewise.
2097 (date_mod_SOURCES): Likewise.
2098 (date_mod_CFLAGS): Likewise.
2099 (date_mod_LDFLAGS): Likewise.
2100 (datehook_mod_SOURCES): Likewise.
2101 (datehook_mod_CFLAGS): Likewise.
2102 (datehook_mod_LDFLAGS): Likewise.
2103 * conf/sparc64-ieee1275.rmk: Likewise.
2104 * lib/ieee1275/datetime.c: New file.
2106 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2108 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2109 (ieee1275_fb_mod_SOURCES): New variable.
2110 (ieee1275_fb_mod_CFLAGS): Likewise.
2111 (ieee1275_fb_mod_LDFLAGS): Likewise.
2112 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2114 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2115 (HEAP_MAX_ADDR): Likewise.
2116 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2118 Correct stop condition.
2119 (grub_ieee1275_devices_iterate): New function.
2120 * video/ieee1275.c: New file.
2122 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2124 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2126 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2128 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2129 SCRATCH_PAD_DISKBOOT as scratch.
2130 (bootit): Pass Openfirmware pointer in %o4.
2131 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2133 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2134 with util/grub-mkrawimage.c.
2135 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2136 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2137 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2138 (grub_aout_load) [GRUB_UTIL]: Likewise.
2139 * include/grub/kernel.h (grub_modules_get_end): New proto.
2140 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2141 (SCRATCH_PAD_BOOT): New definition.
2142 (SCRATCH_PAD_DISKBOOT): Likewise.
2143 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2144 * include/grub/sparc64/ieee1275/ieee1275.h
2145 (grub_ieee1275_original_stack): New variable
2146 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2148 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2149 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2150 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2151 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2152 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2153 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2154 (grub_platform_image_format_t): New type.
2155 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2156 * kern/main.c (grub_modules_get_end)
2157 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2158 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2159 (codestart): Switch stacks.
2160 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2162 (grub_heap_init): Use grub_modules_get_end.
2163 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2165 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2167 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2169 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
2171 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2173 2010-03-08 Matt Kraai <kraai@ftbfs.org>
2175 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2178 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2180 * genmoddep.awk: Output all missing symbols and not only first.
2182 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2184 * NEWS: Put the date of 1.98 release.
2186 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2188 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2191 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2193 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2194 completition in the middle of string.
2196 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2198 * util/grub-mkrescue.in: Use mktemp with explicit template.
2200 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2202 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2204 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2206 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2209 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2211 Fix FreeBSD compilation.
2213 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2214 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2216 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2218 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2220 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2222 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2224 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2226 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2228 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2230 Support relative image path in theme file.
2232 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2233 (image_set_property): Handle theme_dir and relative path.
2235 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2237 * configure.ac: Alias amd64 to x86_64.
2239 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2241 * NEWS: mention multiboot on EFI.
2243 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2245 * kern/main.c (grub_load_modules): Handle errors from init functions of
2248 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2250 * normal/autofs.c (autoload_fs_module): Handle errors.
2252 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2254 Disable linux.mod on qemu-mips since it's not functional and leads
2255 to compilation failure.
2257 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
2258 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
2259 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
2260 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
2261 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
2262 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
2263 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
2264 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
2265 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
2266 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
2267 Reported by: BVK Chaitanya
2269 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
2271 * INSTALL: Add gettext as a dependency and add qemu to a new section
2272 "Prerequisites for make-check".
2274 2010-03-04 Christian Franke <franke@computer.org>
2276 * util/grub-pe2elf.c: Add missing include "progname.h".
2278 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2280 * normal/crypto.c (read_crypto_list): Fix a typo.
2281 Reported by: Seth Goldberg.
2283 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2285 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
2286 Reported by: Seth Goldberg.
2288 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2290 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2293 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2295 * genmk.rb: Remove terminal*.lst in make clean.
2296 Reported by: Seth Goldberg.
2298 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2300 * util/i386/efi/grub-install.in: Copy gettext files.
2302 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2304 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2306 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2308 Wait for user entry basing on presence of output rather than on errors.
2310 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
2311 (grub_install_newline_hook): Likewise.
2312 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
2313 * normal/menu.c (show_menu): Check line_counter to determine presence
2315 * normal/term.c (grub_normal_line_counter): New variable.
2316 (grub_normal_get_line_counter): New function.
2317 (grub_install_newline_hook): Likewise.
2319 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2321 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2323 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2325 * configure.ac: Update version to 1.98.
2327 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2329 * util/grub.d/10_linux.in (linux_entry): Don't default to
2330 gfxpayload=keep if Linux doesn't support video handover.
2332 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2334 Don't compile video modules on yeeloong since video subsystem is part
2337 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
2338 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
2339 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
2340 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
2341 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
2342 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
2343 * include/grub/bitmap_scale.h: Likewise.
2344 * include/grub/bufio.h: Likewise.
2345 * include/grub/font.h: Likewise.
2346 * include/grub/gfxterm.h: Likewise.
2347 * include/grub/video.h: Likewise.
2348 * include/grub/vbe.h: Don't include video_fb.h.
2349 * video/i386/pc/vbe.c: Include video_fb.h.
2350 * commands/i386/pc/vbetest.c: Include video.h.
2352 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
2354 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
2355 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
2356 default entry if GRUB_SAVEDEFAULT=true. This allows using
2357 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
2358 saving a new default on every boot.
2360 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2362 * normal/crypto.c (read_crypto_list): Fix a memory leak.
2363 * normal/term.c (read_terminal_list): Likewise.
2364 * normal/main.c (grub_normal_init_page): Likewise.
2365 (grub_normal_read_line_real): Likewise.
2367 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2369 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
2371 Reported by: Seth Goldberg.
2373 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
2375 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
2376 duplicate declaration of `start'.
2378 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2380 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
2382 Reported by: Georgy Buranov
2384 2010-02-20 Carles Pina i Estany <carles@pina.cat>
2386 * util/grub-mkrawimage.c (usage): Change string formatting to
2389 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2391 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
2394 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2396 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
2397 Reported by: Michael Suchanek.
2399 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
2401 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
2402 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
2404 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
2406 Remove any reference to non-free fonts.
2408 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
2409 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
2410 uses non-free components.
2411 * font/font.c (grub_font_get_name): Remove example name.
2412 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
2413 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2414 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
2415 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2417 2010-02-16 Georgy Buranov <gburanov@gmail.com>
2419 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2421 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2423 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
2425 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
2427 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2429 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2431 * gensymlist.sh.in: Use TARGET_CC instead of CC.
2433 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2435 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
2436 * docs/grub.texi (Command-line and menu entry commands): Document play
2439 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2441 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
2442 parse arguments as inline tempo and notes. Move code for playing notes
2444 (play): ... new function.
2446 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2448 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
2449 grub_uint16_t instead of short.
2450 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
2451 disk from little endian to cpu endianness.
2453 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
2455 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
2456 GRUB_TICKS_PER_SECOND instead of 120.
2458 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2460 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
2461 escape sequence after \e.
2463 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2465 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
2466 non-ASCII characters.
2468 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2470 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
2471 set root in single quotes to prevent \, from being unescaped.
2473 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2475 Prevent unknown commands from stopping menuentry execution.
2477 * script/execute.c (grub_script_execute_cmdline): Print error after
2480 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2482 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
2483 Reported by: Pavel Pisa.
2485 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2487 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
2489 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2491 Merge grub_ieee1275_map_physical into grub_map and rename to
2494 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
2495 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
2497 * kern/ieee1275/openfw.c (grub_map): Rename to ...
2498 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
2500 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2502 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2504 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
2505 opening and not after.
2507 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2509 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
2512 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2514 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
2515 (alloc_phys): Use ALIGN_UP instead of align_addr.
2517 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2519 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2521 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2523 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2525 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2527 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
2530 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2532 Fix over-4GiB seek on sparc64.
2534 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
2535 Replace pos_i and pos_lo with pos. All users updated.
2536 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2538 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2540 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
2543 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2545 * util/grub-mkrawimage.c (main): Call set_program_name.
2547 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2549 Properly align 64-bit targets.
2551 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
2552 (generate_image): Use ALIGN_ADDR.
2554 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2556 Properly create cross-endian images.
2558 * include/grub/types.h (grub_host_to_target_addr): New macro
2559 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2561 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2563 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2565 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2567 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
2569 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
2570 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
2571 (grub_linux_boot): Divide by 64K when on VESA.
2573 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2575 Support GRUB_GFXPAYLOAD_LINUX.
2577 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
2578 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2580 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2582 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
2583 to show messages instead of discarding them.
2584 Process errors after executing command and not before. Keep old method
2587 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2589 * configure.ac: Check for ft2build.h.
2591 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2593 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2595 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2597 * genkernsyms.sh.in: Use TARGET_CC.
2599 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
2603 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2605 * include/grub/multiboot2.h: Remove leftover file.
2606 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
2607 * include/grub/partition.h [GRUB_UTIL]: Likewise.
2609 2010-02-07 Yves Blusseau <blusseau@zetam.org>
2611 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
2613 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2615 Fix warnings in grub-emu when compiling with maximum warning options.
2617 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
2618 (grub_arch_modules_addr): Return 0 and not NULL.
2619 * util/misc.c (ENABLE_RELOCATABLE): New definition.
2620 (xstrdup): Use newstr instead of dup.
2621 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
2622 of disk to dsk to avoid shadowing.
2623 (find_free_slot): Fix prototype.
2624 * util/getroot.c (grub_util_is_dmraid): Make static.
2625 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
2626 Add missing prototype.
2627 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
2629 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2631 * loader/i386/linux.c (grub_linux_setup_video): Handle error
2634 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2636 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
2639 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2641 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
2642 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
2643 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
2644 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
2645 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
2646 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2648 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2650 * include/grub/err.h (grub_err_printf): Don't export.
2652 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2654 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
2656 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2658 * include/grub/i18n.h (grub_gettext_dummy): Removed.
2659 * kern/misc.c (grub_gettext_dummy): Make static.
2661 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2663 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
2665 * kern/term.c (grub_putchar): Likewise.
2667 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2669 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
2670 buggy hook call and memory leak.
2672 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2674 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
2676 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2678 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
2680 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2682 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
2684 Return grub_errno on allocation error.
2686 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2688 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
2690 2010-02-06 Yves Blusseau <blusseau@zetam.org>
2692 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
2693 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
2695 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2697 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
2699 (grub_pxefs_open): Likewise.
2701 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2703 * util/grub.d/10_hurd.in: Add --class information to menuentries.
2704 * util/grub.d/10_kfreebsd.in: Likewise.
2705 * util/grub.d/10_linux.in: Likewise.
2707 2010-02-06 Colin D Bennett <colin@gibibit.com>
2709 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
2710 (gfxmenu_mod_SOURCES): New variable.
2711 (gfxmenu_mod_CFLAGS): Likewise.
2712 (gfxmenu_mod_LDFLAGS): Likewise.
2713 * include/grub/term.h (grub_term_set_current_output): Declare
2715 * docs/gfxmenu-theme-example.txt: New file.
2716 * gfxmenu/gfxmenu.c: Likewise.
2717 * gfxmenu/gui_box.c: Likewise.
2718 * gfxmenu/gui_canvas.c: Likewise.
2719 * gfxmenu/gui_circular_progress.c: Likewise.
2720 * gfxmenu/gui_image.c: Likewise.
2721 * gfxmenu/gui_label.c: Likewise.
2722 * gfxmenu/gui_list.c: Likewise.
2723 * gfxmenu/gui_progress_bar.c: Likewise.
2724 * gfxmenu/gui_string_util.c: Likewise.
2725 * gfxmenu/gui_util.c: Likewise.
2726 * gfxmenu/icon_manager.c: Likewise.
2727 * gfxmenu/model.c: Likewise.
2728 * gfxmenu/named_colors.c: Likewise.
2729 * gfxmenu/theme_loader.c: Likewise.
2730 * gfxmenu/view.c: Likewise.
2731 * gfxmenu/widget-box.c: Likewise.
2732 * include/grub/gfxmenu_model.h: Likewise.
2733 * include/grub/gfxmenu_view.h: Likewise.
2734 * include/grub/gfxwidgets.h: Likewise.
2735 * include/grub/gui.h: Likewise.
2736 * include/grub/gui_string_util.h: Likewise.
2737 * include/grub/icon_manager.h: Likewise.
2739 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2741 Agglomerate scrolling in gfxterm.
2743 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
2744 (grub_virtual_screen_setup): Initialise 'total_screen'.
2745 (write_char): Split to ...
2746 (paint_char): ... this ...
2747 (write_char): ... and this.
2748 (paint_char): Handle delayed scrolling.
2749 (draw_cursor): Likewise.
2750 (scroll_up): Split to ...
2751 (real_scroll): ... this ...
2752 (scroll_up): ... and this.
2753 (real_scroll): Handle multi-line scroll and draw below-the-bottom
2755 (grub_gfxterm_refresh): Call real_scroll.
2757 2010-02-06 Colin D Bennett <colin@gibibit.com>
2759 * include/grub/misc.h (grub_iscntrl): New inline function.
2760 (grub_isalnum): Likewise.
2761 (grub_strtol): Likewise.
2763 2010-02-06 Colin D Bennett <colin@gibibit.com>
2765 * normal/menu_text.c (get_entry_number): Move from here ...
2766 * normal/menu.c (get_entry_number): ... moved here.
2767 * include/grub/menu.h (grub_menu_get_default_entry_index):
2769 * normal/menu.c (grub_menu_get_default_entry_index): New function.
2770 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
2771 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
2772 (grub_menu_viewer_should_return): Likewise.
2773 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
2774 * normal/menu_text.c (run_menu): Enable menu switching.
2775 * normal/menu_viewer.c (should_return): New variable.
2776 (menu_viewer_changed): Likewise.
2777 (grub_menu_viewer_show_menu): Handle menu viewer changes.
2778 (grub_menu_viewer_should_return): New function.
2779 (menuviewer_write_hook): Likewise.
2780 (grub_menu_viewer_init): Likewise.
2782 2010-02-06 Colin D Bennet <colin@gibibit.com>
2783 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2785 Support for gfxterm in a window.
2787 * include/grub/gfxterm.h: New file.
2788 * include/grub/video.h (struct grub_video_rect): New declaration.
2789 (grub_video_rect_t): Likewise.
2790 * term/gfxterm.c (struct grub_gfxterm_window): New type.
2791 (refcount): New variable.
2792 (render_target): Likewise.
2794 (repaint_callback): Likewise.
2795 (grub_virtual_screen_setup): Use 'render_target'.
2796 (init_window): New function.
2797 (grub_gfxterm_init_window): Likewise.
2798 (grub_gfxterm_init): Check reference counter.
2800 (destroy_window): New function.
2801 (grub_gfxterm_destroy_window): Likewise.
2802 (grub_gfxterm_fini): Check reference counter.
2804 (redraw_screen_rect): Restore viewport.
2805 Use 'render_target' and 'window'.
2806 Call 'repaint_callback'.
2807 (write_char): Use 'render_target'.
2808 (draw_cursor): Likewise.
2809 (scroll_up): Restore viewport.
2810 Use 'render_target' and 'window'.
2811 Call 'repaint_callback'.
2812 (grub_gfxterm_cls): Likewise.
2813 (grub_gfxterm_refresh): Use 'window'.
2814 (grub_gfxterm_set_repaint_callback): New function.
2815 (grub_gfxterm_background_image_cmd): Use 'window'.
2816 (grub_gfxterm_get_term): New function.
2817 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
2819 2010-02-06 Colin D Bennett <colin@gibibit.com>
2821 Bitmap scaling support.
2823 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
2824 (bitmap_scale_mod_SOURCES): New variable.
2825 (bitmap_scale_mod_CFLAGS): Likewise.
2826 (bitmap_scale_mod_LDFLAGS): Likewise.
2827 * include/grub/bitmap_scale.h: New file.
2828 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
2829 (background_image_cmd_options): New variable.
2830 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
2831 (cmd): Rename and change type to ...
2832 (background_image_cmd_handle): ... this. All users updated.
2833 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
2834 * video/bitmap_scale.c: New file.
2836 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2840 * Makefile.in (LIBSDL): New variable.
2841 (enable_grub_emu_sdl): Likewise.
2842 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
2843 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
2844 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
2845 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
2846 * util/sdl.c: New file.
2848 2010-02-06 Colin D Bennett <colin@gibibit.com>
2849 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2851 Double buffering support.
2853 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
2854 * include/grub/video.h: Update comment.
2855 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2857 (grub_video_fb_doublebuf_blit_init): New prototype.
2858 * term/gfxterm.c (scroll_up): Support double buffering.
2859 (grub_gfxterm_refresh): Likewise.
2860 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
2861 (grub_video_fb_doublebuf_blit_init): Likewise.
2862 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
2863 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
2864 'displayed_page', 'render_page' and 'update_screen'.
2865 (grub_video_vbe_fini): Free offscreen buffer.
2866 (doublebuf_pageflipping_commit): New function.
2867 (doublebuf_pageflipping_update_screen): Likewise.
2868 (doublebuf_pageflipping_init): Likewise.
2869 (double_buffering_init): Likewise.
2870 (grub_video_vbe_setup): Enable doublebuffering.
2871 (grub_video_vbe_swap_buffers): Implement.
2872 (grub_video_vbe_set_active_render_target): Handle double buffering.
2873 (grub_video_vbe_get_active_render_target): Likewise.
2874 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
2875 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
2876 (grub_video_vbe_enable_double_buffering): Likewise.
2877 (grub_video_vbe_swap_buffers): Use update_screen.
2878 (grub_video_set_mode): Use double buffering.
2880 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2882 * maintainance/gentrigtables.py: Remove.
2883 * lib/trig.c: Likewise.
2885 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
2887 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
2889 (trigtables.c): New rule.
2890 (gentrigtables): Likewise.
2891 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
2893 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2895 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
2898 2010-02-06 Colin D Bennet <colin@gibibit.com>
2900 Trigonometry support.
2902 * include/grub/trig.h: New file.
2903 * lib/trig.c: Likewise.
2904 * maintainance/gentrigtables.py: Likewise.
2905 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
2906 (trig_mod_SOURCES): New variable.
2907 (trig_mod_CFLAGS): Likewise.
2908 (trig_mod_LDFLAGS): Likewise.
2910 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2912 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
2915 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2917 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
2920 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2922 * util/hostdisk.c (open_device): Don't use partition device when reading
2923 before the partition.
2924 (grub_util_biosdisk_read): Don't read from partition and before the
2925 partition in single operation.
2926 (grub_util_biosdisk_write): Don't write to partition and before the
2927 partition in single operation.
2929 2010-02-03 Torsten Landschoff <torsten@debian.org>
2931 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2934 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2936 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
2938 (grub_biosdisk_write): Refuse to write to CDROM.
2940 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2942 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
2944 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2946 * font/font.c (find_glyph): Check that bmp_idx is available before
2948 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
2949 with (font == NULL).
2951 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
2953 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
2955 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
2957 * include/grub/script_sh.h (sourcecode): Add const qualifier.
2958 * util/grub-script-check.c (getline): Fix empty lines case.
2960 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
2962 * Makefile.in (check): Exit with fail status when one of the tests
2964 * tests/example_functional_test.c (example_test): Fix reversed assert.
2965 * tests/example_unit_test.c (example_test): Likewise.
2967 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
2969 * util/grub.d/10_linux.in: This script does not use any of the
2970 contents of gettext.sh, only the external command `gettext', so stop
2971 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
2972 the same prefix as GRUB.)
2973 * util/grub.d/10_kfreebsd.in: Likewise.
2975 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2977 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
2980 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2982 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2985 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2987 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
2988 having a 4KiB and not 32KiB buffer size.
2990 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2992 * util/hostfs.c: Include `<errno.h>'.
2993 (grub_hostfs_read): Handle errors from fseeko() and fread().
2995 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2997 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
2998 loop when using read hooks on files whose size isn't sector-aligned.
3000 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3002 Remove unused parameter.
3004 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3005 (grub_iso9660_open): Remove initialization of `data->length'.
3007 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3009 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3012 2010-01-27 Carles Pina i Estany <carles@pina.cat>
3014 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3015 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3017 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3019 * util/bin2h.c (usage): Fix warning (space after backslash).
3021 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3023 * font/font.c: Include `grub/fontformat.h.
3024 Remove font file format constants.
3025 (grub_font_load): Use the new macros.
3026 * include/grub/fontformat.h: New file.
3027 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3028 (write_font_pf2): Use the new macros.
3030 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3032 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3035 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3037 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3039 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3040 (_start): Macroify `0x7F'.
3042 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3043 (make_install_device): Use "(pxe)" as fallback prefix when booting
3046 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3048 * configure.ac: Reset LIBS after check for libgcc symbols.
3050 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
3052 * util/hostdisk.c (open_device): Add trailing newline to debug
3055 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3057 * configure.ac: Check for `limits.h'.
3058 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3060 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3062 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3063 capitalize error strings.
3065 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3067 * util/grub.d/10_hurd.in: Add a recovery mode.
3069 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3071 * configure.ac: Check for libgcc symbols with -nostdlib.
3073 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3075 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3077 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3079 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3080 stack since heap may be unavailable at that point.
3081 (grub_ofconsole_gotoxy): Likewise.
3083 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3085 * configure.ac: Check for _restgpr_14_x.
3086 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3087 and _savegpr_* prototypes.
3089 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3091 Use generic grub_reboot() for i386-efi.
3093 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3094 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3095 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3097 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3099 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3100 presence of "prefix" variable as it breaks when normal.mod is
3103 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3105 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3106 stack since heap is unavailable at that point.
3108 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3110 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3111 (grub_freebsd_bootinfo): Rewritten.
3112 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3114 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3116 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3118 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3120 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3123 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
3125 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3126 around for handling "/" to the correct fix. Fix a memory leak. Use
3127 xstrdup instead of strdup.
3129 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3131 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3133 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3135 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3137 * font/font.c (struct grub_font): New member 'bmp_idx'.
3138 (font_init): Initialise 'bmp_idx'.
3139 (load_font_index): Fill 'bmp_idx'.
3140 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3142 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3144 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3147 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3149 Move context handling out of the kernel.
3151 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3152 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3153 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3154 * conf/i386-efi.rmk: Likewise.
3155 * conf/i386-ieee1275.rmk: Likewise.
3156 * conf/i386-pc.rmk: Likewise.
3157 * conf/powerpc-ieee1275.rmk: Likewise.
3158 * conf/sparc64-ieee1275.rmk: Likewise.
3159 * conf/x86_64-efi.rmk: Likewise.
3160 * include/grub/env.h: Include grub/menu.h.
3161 (grub_env_var_type): Removed.
3162 (grub_env_var): Replaced field 'type' with 'global'.
3163 (grub_env_find): New prototype.
3164 (grub_env_context_open): Remove EXPORT_FUNC.
3165 (grub_env_context_close): Likewise.
3166 (grub_env_export): Likewise.
3167 (grub_env_set_data_slot): Removed.
3168 (grub_env_get_data_slot): Likewise.
3169 (grub_env_unset_data_slot): Likewise.
3170 (grub_env_unset_menu): New prototype.
3171 (grub_env_set_menu): Likewise.
3172 (grub_env_get_menu): Likewise.
3173 * include/grub/env_private.h: New file.
3174 * include/grub/normal.h (grub_context_init): New prototype.
3175 (grub_context_fini): Likewise.
3176 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3177 * normal/context.c (grub_cmd_export): ... to here.
3178 * kern/env.c: Include env_private.h.
3179 (HASHSZ): Moved to include/grub/env_private.h.
3180 (grub_env_context): Likewise.
3181 (grub_env_sorted_var): Likewise.
3182 (current_context): Renamed from this ...
3183 (grub_current_context): ...to this. 'static' removed. All users updated.
3184 (grub_env_find): Removed 'static'.
3185 (grub_env_context_open): Moved to normal/context.c.
3186 (grub_env_context_close): Likewise.
3187 (grub_env_export): Likewise.
3188 (mangle_data_slot_name): Removed.
3189 (grub_env_set_data_slot): Likewise.
3190 (grub_env_get_data_slot): Likewise.
3191 (grub_env_unset_data_slot): Likewise.
3192 * kern/main.c (grub_set_root_dev): Don't export root.
3193 It will be done later.
3194 (grub_main): Don't export prefix.
3195 It will be done later.
3196 * normal/context.c: New file.
3197 * normal/main.c (free_menu): Use grub_env_unset_menu.
3198 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3199 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3200 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3201 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3203 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3207 * commands/setpci.c: New file.
3208 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3209 (setpci_mod_SOURCES): New variable.
3210 (setpci_mod_CFLAGS): Likewise.
3211 (setpci_mod_LDFLAGS): Likewise.
3213 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3215 Byte-addressable PCI configuration space.
3217 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3219 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3220 GRUB_PCI_REG_CACHELINE.
3221 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3222 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3223 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3224 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3225 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3226 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3227 grub_pci_make_address.
3228 (lock_rom_area): Likewise.
3229 * commands/lspci.c (grub_lspci_iter): Use macroses
3230 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3231 of grub_pci_make_address.
3232 * disk/ata.c (grub_ata_pciinit): Likewise.
3233 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3234 (GRUB_PCI_REG_VENDOR): Likewise.
3235 (GRUB_PCI_REG_DEVICE): Likewise.
3236 (GRUB_PCI_REG_COMMAND): Likewise.
3237 (GRUB_PCI_REG_STATUS): Likewise.
3238 (GRUB_PCI_REG_REVISION): Likewise.
3239 (GRUB_PCI_REG_CLASS): Likewise.
3240 (GRUB_PCI_REG_CACHELINE): Likewise.
3241 (GRUB_PCI_REG_LAT_TIMER): Likewise.
3242 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
3243 (GRUB_PCI_REG_BIST): Likewise.
3244 (GRUB_PCI_REG_ADDRESSES): Likewise.
3245 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3246 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3247 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3248 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3249 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3250 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3251 (GRUB_PCI_REG_CIS_POINTER): Likewise.
3252 (GRUB_PCI_REG_SUBVENDOR): Likewise.
3253 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
3254 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
3255 (GRUB_PCI_REG_CAP_POINTER): Likewise.
3256 (GRUB_PCI_REG_IRQ_LINE): Likewise.
3257 (GRUB_PCI_REG_IRQ_PIN): Likewise.
3258 (GRUB_PCI_REG_MIN_GNT): Likewise.
3259 (GRUB_PCI_REG_MAX_LAT): Likewise.
3260 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
3261 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
3262 * video/efi_uga.c (find_framebuf): Likewise.
3263 * video/sm712.c (grub_video_sm712_setup): Likewise.
3264 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
3267 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3269 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
3270 can be reliably determined to be supported.
3272 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3274 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
3275 that VESA is supported.
3276 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
3279 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3281 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
3283 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3285 * util/misc.c (make_system_path_relative_to_its_root): Work around
3286 special-casing of "/", as previous incarnation of this routine did.
3288 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3290 Fix any-emu compilation.
3292 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
3293 * grub_bin2h_SOURCES: New variable.
3295 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3297 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
3299 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3301 * util/grub.d/00_header.in: Fix handling of locale_dir.
3303 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3305 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
3306 as possible unifont location (Gentoo).
3307 Reported by: Alexander Brüning
3309 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3311 Don't try to generate lists for kernel.img.
3313 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
3314 (pkglib_MODULES): Remove kernel.img.
3315 (kernel_img_EXPORTS): Removed.
3316 (kernel_img_RELOCATABLE): New variable.
3317 * conf/x86_64-efi.rmk: Likewise.
3318 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
3320 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3322 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
3323 grub_xasprintf or grub_snprintf.
3324 (grub_vsprintf): Likewise.
3325 (grub_snprintf): New proto.
3326 (grub_vsnprintf): Likewise.
3327 (grub_xasprintf): Likewise.
3328 (grub_xvasprintf): Likewise.
3329 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
3330 (grub_sprintf): Removed.
3331 (grub_vsnprintf): New function.
3332 (grub_snprintf): Likewise.
3333 (grub_xvasprintf): Likewise.
3334 (grub_xasprintf): Likewise.
3335 (grub_vsprintf): Renamed to ...
3336 (grub_vsnprintf_real): ...this. New argument max_len.
3338 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
3340 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
3341 fix grub-script-check warning.
3343 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3345 * include/grub/font.h (grub_font_load): Fix prototype.
3347 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3349 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
3351 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3353 * include/grub/x86_64/at_keyboard.h: New file.
3355 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3357 * loader/mips/linux.c: Include missing grub/i18n.h.
3359 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3361 * normal/menu.c (notify_execution_failure): Clarify error message.
3363 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3365 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
3366 return value (and revert all return statements). Update users.
3368 2010-01-20 Dan Merillat <debian@dan.merillat.org>
3370 * kern/device.c (grub_device_iterate): Allocate new part_ent
3371 structure based on sizeof (*p) rather than sizeof (p->next), to
3372 account for structure padding.
3374 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
3375 disk is NULL, which might happen for LVM physical volumes with no
3378 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3380 * loader/mips/linux.c (grub_cmd_initrd)
3381 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
3383 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3385 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
3386 (grub_video_video_init, grub_video_bitmap_init)
3387 (grub_font_manager_init, grub_term_gfxterm_init)
3388 (grub_at_keyboard_init): New extern declarations.
3389 (grub_machine_init): Initialize gfxterm and at_keyboard.
3391 * kern/main.c (grub_main): Revert grub_printf delay kludge.
3393 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
3394 `gfxterm.mod' into core image.
3396 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3397 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3398 (kernel_img_FORMAT): Copy to ...
3400 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3401 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3402 (kernel_img_FORMAT): ... here, and ...
3404 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3405 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3406 (kernel_img_FORMAT): ... here.
3408 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
3409 and input (at_keyboard) terminals in kernel.
3410 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
3412 (pkglib_MODULES): Remove `pci.mod'.
3413 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
3414 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
3415 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
3416 (at_keyboard_mod_LDFLAGS): Remove variables.
3418 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
3420 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
3422 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
3424 * include/grub/mips/libgcc.h: Only export symbols for functions
3425 that libgcc provides.
3427 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
3431 * bus/bonito.c: New file.
3432 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
3433 GRUB_PCI_NUM_DEVICES.
3434 * term/i386/pc/serial.c: Move to ...
3435 * term/serial.c: ... here. All users updated.
3436 * util/i386/pc/grub-mkimage.c: Move to ...
3437 * util/grub-mkrawimage.c: ... here. All users updated.
3438 * term/i386/pc/at_keyboard.c: Move to ...
3439 * term/at_keyboard.c: ... here. All users updated.
3440 * conf/mips-qemu-mips.rmk: New file.
3441 * conf/mips-yeeloong.rmk: Likewise.
3442 * conf/mips.rmk: Likewise.
3443 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
3445 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
3447 (grub_ata_pciinit): Support CS5536.
3448 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
3449 * font/font_cmd.c (loadfont_command): Open file before passing it to
3451 (pseudo_file_read): New function.
3452 (pseudo_file_close): Likewise.
3453 (pseudo_fs): New structure.
3454 (load_font_module): New function.
3455 (GRUB_MOD_INIT(font_manager)): Load embedded font.
3456 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
3457 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
3458 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
3459 * include/grub/i386/at_keyboard.h: Split into ...
3460 * include/grub/at_keyboard.h: ... this ...
3461 * include/grub/i386/at_keyboard.h: ... and this.
3462 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
3464 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
3466 (grub_elf64_size): Likewise.
3467 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
3469 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
3470 * include/grub/i386/coreboot/serial.h: Rewritten.
3471 * include/grub/i386/ieee1275/serial.h: Include
3472 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
3473 * include/grub/i386/pc/serial.h: Moved from here ...
3474 * include/grub/serial.h: ... to here. All users updated.
3475 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
3476 (GRUB_PCI_NUM_BUS): Likewise.
3477 (GRUB_PCI_NUM_DEVICES): Likewise.
3478 (grub_pci_device_map_range): Add missing volatile keyword.
3479 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
3480 * include/grub/mips/at_keyboard.h: New file.
3481 * include/grub/mips/cache.h: Likewise.
3482 * include/grub/mips/io.h: Likewise.
3483 * include/grub/mips/kernel.h: Likewise.
3484 * include/grub/mips/libgcc.h: Likewise.
3485 * include/grub/mips/pci.h: Likewise.
3486 * include/grub/mips/qemu-mips/boot.h: Likewise.
3487 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3488 * include/grub/mips/qemu-mips/loader.h: Likewise.
3489 * include/grub/mips/qemu-mips/memory.h: Likewise.
3490 * include/grub/mips/qemu-mips/serial.h: Likewise.
3491 * include/grub/mips/qemu-mips/time.h: Likewise.
3492 * include/grub/mips/relocator.h: Likewise.
3493 * include/grub/mips/time.h: Likewise.
3494 * include/grub/mips/types.h: Likewise.
3495 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
3496 * include/grub/mips/yeeloong/boot.h: Likewise.
3497 * include/grub/mips/yeeloong/kernel.h: Likewise.
3498 * include/grub/mips/yeeloong/loader.h: Likewise.
3499 * include/grub/mips/yeeloong/memory.h: Likewise.
3500 * include/grub/mips/yeeloong/pci.h: Likewise.
3501 * include/grub/mips/yeeloong/serial.h: Likewise.
3502 * include/grub/mips/yeeloong/time.h: Likewise.
3503 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
3504 * kern/elf.c (grub_elf32_size): New parameter. All users
3506 (grub_elf64_size): Likewise.
3507 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
3508 Load modules before saying "Welcome to GRUB!".
3509 Call grub_refresh after saying "Welcome to GRUB!".
3510 * kern/mips/cache.S: New file.
3511 * kern/mips/cache_flush.S: Likewise.
3512 * kern/mips/dl.c: Likewise.
3513 * kern/mips/init.c: Likewise.
3514 * kern/mips/qemu-mips/init.c: Likewise.
3515 * kern/mips/startup.S: Likewise.
3516 * kern/mips/yeeloong/init.c: Likewise.
3517 * kern/term.c (grub_putcode): Handle NULL terminal.
3518 (grub_getcharwidth): Likewise.
3519 (grub_getkey): Likewise.
3520 (grub_checkkey): Likewise.
3521 (grub_getkeystatus): Likewise.
3522 (grub_getxy): Likewise.
3523 (grub_getwh): Likewise.
3524 (grub_gotoxy): Likewise.
3525 (grub_cls): Likewise.
3526 (grub_setcolorstate): Likewise.
3527 (grub_setcolor): Likewise.
3528 (grub_getcolor): Likewise.
3529 (grub_refresh): Likewise.
3530 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
3531 (write_jump): Add hatch nop.
3532 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
3533 * lib/mips/setjmp.S: New file.
3534 * loader/mips/linux.c: Likewise.
3535 * term/i386/pc/at_keyboard.c: Move from here ...
3536 * term/at_keyboard.c: ... to here.
3537 * term/i386/pc/serial.c: Moved from here ...
3538 * term/serial.c: ... to here. All users updated.
3539 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
3540 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
3541 (serial_translate_key_sequence): Avoid deadlock.
3542 (grub_serial_getkey): Handle backspace.
3543 (grub_serial_putchar): Fix newline handling.
3544 * util/i386/pc/grub-mkimage.c: Move from here ...
3545 * util/grub-mkrawimage.c: ... to here. All users updated.
3546 (generate_image): New parameters 'font_path' and 'format'.
3547 Support embedding font.
3548 Use grub_host_to_target* instead of grub_cpu_to_le*.
3549 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
3550 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
3551 (options): New option "--font".
3553 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
3554 (main): Handle "--font".
3555 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
3556 (grub_virtual_screen_setup): Set bg_color_display.
3557 (redraw_screen_rect): Use bg_color_display instead of incorrect
3559 (grub_gfxterm_cls): Likewise.
3560 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
3561 Support embedding config file.
3562 (add_segments): Likewise.
3563 (options): New option "--config".
3564 (main): Handle "--config".
3565 * video/sm712.c: New file.
3567 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3569 Fix parallel builds.
3571 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
3572 font.c depend on ascii.h).
3574 2010-01-12 Carles Pina i Estany <carles@pina.cat>
3576 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
3578 2010-01-11 Carles Pina i Estany <carles@pina.cat>
3580 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
3581 By default: disabled.
3582 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
3585 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3587 * font/font.c: Update copyright years.
3588 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
3590 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3592 * font/font.c: Include `ascii.h'.
3593 (ASCII_BITMAP_SIZE): New macro.
3594 (ascii_font_glyph): Define.
3595 (ascii_glyph_lookup): New function.
3596 (grub_font_get_string_width): Change comment. If glyph not found, use
3598 (grub_font_get_glyph_with_fallback): If glyph not available returns
3600 * util/grub-mkfont.c (file_formats): New enum.
3601 (options): Add `ascii-bitmaps' new option.
3602 (usage): Add `asii-bitmaps' new option.
3603 (write_font_ascii_bitmap): New function.
3604 (write_font): Rename to ...
3605 (write_font_p2): ... this. Remove print_glyphs call.
3606 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
3607 used. Call print_glyphs.
3608 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
3610 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3612 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
3613 (grub_bin2h_SOURCES): New variable.
3614 * util/bin2h.c: New file.
3616 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3618 * include/multiboot.h: Resynced with spec.
3619 * include/multiboot2.h: Likewise.
3620 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
3621 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
3623 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3625 * include/grub/term.h (grub_term_register_input,
3626 grub_term_register_output): Check return of terminal init()
3627 routines, and abort if errors are raised.
3629 * commands/terminal.c: Update copyright year.
3631 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3633 * commands/terminal.c (grub_cmd_terminal_input)
3634 (grub_cmd_terminal_output): Check return of terminal init()
3635 routines, and abort if errors are raised.
3637 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3639 * include/grub/i386/bsd.h: Fix include pathes.
3641 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3643 Add missing *BSD copyright headers.
3645 * include/grub/aout.h: Add BSD licence.
3646 * include/grub/i386/bsd.h: Parts under different licences moved to ...
3647 * include/grub/i386/freebsd_linker.h: ... here,
3648 * include/grub/i386/freebsd_reboot.h: ... here,
3649 * include/grub/i386/netbsd_bootinfo.h: ... here,
3650 * include/grub/i386/netbsd_reboot.h: ... here,
3651 * include/grub/i386/openbsd_bootarg.h: ... here,
3652 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
3653 licence to each file.
3655 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3657 * acinclude.m4: Remove `nop' assembly instruction; it's not
3658 implemented by all architectures.
3660 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3662 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
3663 ELILO. This is no longer necessary.
3665 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
3667 Added new tool, grub-scrit-check to verify grub.cfg syntax.
3669 * util/grub-script-check.c: grub-script-check tool.
3670 * conf/common.rmk: Make rules for grub-script-check.
3672 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3674 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
3675 spotting it back in 2008. Shame on me for forgetting he did.
3677 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
3679 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3681 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
3682 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
3683 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
3684 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
3685 (GRUB_VIDEO_TYPE_EFI): Rename to ...
3686 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
3688 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
3690 * include/grub/test.h: Add license header.
3691 * tests/example_functional_test.c: Likewise.
3692 * tests/example_unit_test.c: Likewise.
3693 * tests/lib/functional_test.c: Likewise.
3694 * tests/lib/test.c: Likewise.
3695 * tests/lib/unit_test.c: Likewise.
3697 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3699 Use flag-based instead of hook-based video mode selection and "auto"
3702 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
3703 (grub_video_set_mode): Changed prototype. All users updated.
3704 (grub_video_check_mode_flag): New inline function.
3705 * video/video.c (parse_modespec): New function.
3706 (grub_video_set_mode): Parse flags and keywords.
3708 2010-01-17 Carles Pina i Estany <carles@pina.cat>
3710 * util/misc.c (grub_util_info): Fix the order of the parameters in a
3713 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3715 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
3717 2010-01-16 Carles Pina i Estany <carles@pina.cat>
3719 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
3721 * util/grub-emu.c (usage): Likewise.
3722 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
3723 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3724 * util/i386/pc/grub-mkimage.c (usage): Likewise.
3725 * util/i386/pc/grub-setup.c (usage): Likewise.
3727 2010-01-16 Carles Pina i Estany <carles@pina.cat>
3729 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
3731 (grub_util_info): Likewise.
3732 (grub_util_error): Likewise.
3733 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
3734 and/or new lines in `grub_util_warna', `grub_util_info',
3735 `grub_util_error' calls.
3736 * util/getroot.c: Likewise.
3737 * util/grub-editenv.c: Likewise.
3738 * util/grub-emu.c: Likewise.
3739 * util/grub-fstest.c: Likewise.
3740 * util/grub-mkdevicemap.c: Likewise.
3741 * util/grub-mkfont.c: Likewise.
3742 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3743 * util/grub-mkrelpath.c: Likewise.
3744 * util/grub-pe2elf.c: Likewise.
3745 * util/grub-probe.c: Likewise.
3746 * util/hostdisk.c: Likewise.
3747 * util/i386/efi/grub-mkimage.c: Likewise.
3748 * util/i386/pc/grub-mkimage.c: Likewise.
3749 * util/i386/pc/grub-setup.c: Likewise.
3750 * util/ieee1275/ofpath.c: Likewise.
3751 * util/mkisofs/eltorito.c: Likewise.
3752 * util/mkisofs/rock.c: Likewise.
3753 * util/mkisofs/write.c: Likewise.
3754 * util/raid.c: Likewise.
3755 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3756 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3758 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3760 Enable multiboot on non-pc.
3762 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
3763 multiboot.mod and multiboot2.mod to ...
3764 * conf/i386.rmk (pkglib_MODULES): ... here.
3765 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
3767 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
3768 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
3770 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
3771 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
3773 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
3774 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
3776 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
3777 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
3779 (ata_mod_SOURCES): Removed.
3780 (ata_mod_CFLAGS): Likewise.
3781 (ata_mod_LDFLAGS): Likewise.
3782 (relocator_mod_SOURCES): Removed.
3783 (relocator_mod_CFLAGS): Likewise.
3784 (relocator_mod_ASFLAGS): Likewise.
3785 (relocator_mod_LDFLAGS): Likewise.
3787 * include/grub/x86_64/multiboot.h: New file.
3788 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
3791 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3793 Video multiboot support.
3795 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
3797 * include/multiboot.h: Resynced with multiboot specification.
3798 * include/multiboot2.h: Likewise.
3799 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
3800 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
3801 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
3802 (HAS_VGA_TEXT): Likewise.
3803 (accepts_video): New variable.
3804 (grub_multiboot_set_accepts_video): New function.
3805 (grub_multiboot_get_mbi_size): Account for video structures.
3806 (set_video_mode): New function.
3807 (retrieve_video_parameters): Likewise.
3808 (grub_multiboot_make_mbi): Fill video fields.
3810 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3814 * include/grub/video.h (grub_video_driver_id): New type.
3815 (grub_video_adapter): New member 'id'. All users updated.
3816 (grub_video_get_driver_id): New proto.
3817 * video/video.c (grub_video_get_driver_id): New function.
3819 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3821 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
3824 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3826 * normal/cmdline.c (print_completion): Gettextizze.
3828 2001-01-14 Carles Pina i Estany <carles@pina.cat>
3830 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
3832 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3834 * gettext/gettext.c (grub_gettext_translate): Push and pop
3836 (grub_gettext_delete_list): Change comment style.
3837 * kern/err.c (grub_error): Gettextizze.
3838 (grub_fatal): Gettextizze.
3840 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3842 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
3843 (grub_linux16_real_boot): ... this.
3844 * kern/i386/loader.S: Likewise.
3845 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
3846 (grub_linux16_boot): New function. Switches to text mode and calls
3847 grub_linux16_real_boot().
3849 * loader/i386/bsd.c: Include `<grub/video.h>'.
3850 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
3851 text mode before calling grub_unix_real_boot().
3853 * loader/i386/multiboot.c: Include `<grub/video.h>'.
3854 (grub_multiboot_boot): Switch to text mode before calling
3855 grub_relocator32_boot().
3857 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
3858 (grub_chainloader_boot): Switch to text mode before calling
3859 grub_chainloader_real_boot().
3861 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3862 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3864 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
3867 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3868 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3870 * util/grub.d/00_header.in: Define a "savedefault" function for use
3872 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
3874 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3875 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3877 * util/grub-mkconfig_lib.in (save_default_entry): Only set
3878 saved_entry if boot_once is unset.
3879 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
3880 previous saved entry (i.e. grub-reboot).
3882 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3884 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
3886 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3888 * util/grub.d/00_header.in: Use `set var=val' rather than plain
3890 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
3892 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3894 * util/grub-reboot.in: Fix --version output.
3895 * util/grub-set-default.in: Likewise.
3897 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3899 * util/grub.d/00_header.in: Silently ignore zero-sized environment
3902 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3904 * util/grub.d/00_header.in: Quote the value assigned to `default',
3905 in case it contains spaces.
3907 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3909 * util/grub.d/30_os-prober.in: Fix merge error that moved a
3910 `save_default_entry' call from the macosx case to the linux case.
3912 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3913 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
3915 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
3916 in `chosen' environment variable.
3917 * normal/menu_text.c (get_entry_number): Check if the variable
3918 matches the title of a menu entry.
3919 (run_menu): Pass menu to get_entry_number.
3921 * util/grub-reboot.in: New file.
3922 * util/grub-set-default.in: New file.
3923 * conf/common.rmk (grub-reboot): New utility.
3924 (grub-set-default): New utility.
3926 * util/grub-mkconfig_lib.in (save_default_entry): New function.
3927 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
3928 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
3929 move it to `saved_entry' for the next boot. Load environment on
3931 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
3932 * util/grub.d/10_hurd.in: Likewise.
3933 * util/grub.d/10_linux.in (linux_entry): Likewise.
3934 * util/grub.d/10_windows.in: Likewise.
3935 * util/grub.d/30_os-prober.in: Likewise.
3937 * util/grub-install.in: Create environment block.
3938 * util/i386/efi/grub-install.in: Likewise.
3939 * util/ieee1275/grub-install.in: Likewise.
3940 * util/sparc64/ieee1275/grub-install.in: Likewise.
3942 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
3944 Unit testing framework for GRUB.
3946 * Makefile.in: Test framework build rules for 'make check'.
3947 * conf/tests.rmk: Build rules for individual tests and framework.
3949 * include/grub/test.h: Header file for whitebox tests.
3950 * tests/lib/functional_test.c: Framework support for whitebox
3952 * tests/lib/test.c: Common whitebox testing code for unit and
3954 * tests/lib/unit_test.c: Framework support for whitebox unit
3957 * tests/util/grub-shell-tester.in: Support utility for grub-script
3959 * tests/util/grub-shell.in: Utility to execute grub-script
3960 commands in a Qemu instance.
3962 * tests/example_functional_test.c: Example whitebox functional
3964 * tests/example_grub_script_test.in: Example grub-script test.
3965 * tests/example_scripted_test.in: Example scripted test.
3966 * tests/example_unit_test.c: Example whitebox unit test.
3968 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3970 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
3971 Add loader/i386/multiboot_mbi.c.
3972 (multiboot2_mod_SOURCES): Likewise.
3973 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
3974 (multiboot2_mod_SOURCES): Likewise.
3975 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
3976 (grub_multiboot_make_mbi): Likewise.
3977 (grub_multiboot_free_mbi): Likewise.
3978 (grub_multiboot_init_mbi): Likewise.
3979 (grub_multiboot_add_module): Likewise.
3980 (grub_multiboot_set_bootdev): Likewise.
3981 * loader/i386/multiboot.c (mbi): Removed.
3982 (mbi_dest): Likewise.
3983 (alloc_mbi): New variable.
3984 (grub_multiboot_payload_size): Removed. All users updated.
3985 (grub_multiboot_pure_size): New variable.
3986 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
3987 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
3988 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
3989 (grub_fill_multiboot_mmap): Likewise.
3990 (grub_multiboot_get_bootdev): Likewise.
3991 (grub_multiboot): Use multiboot_mbi functions.
3992 * loader/i386/multiboot_mbi.c: New file.
3994 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3996 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
3997 it would result in module crash.
3999 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4001 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4002 (grub_ofconsole_getwh): Split to ...
4003 (grub_ofconsole_getwh): ... this.
4004 (grub_ofconsole_dimensions): ...and this.
4005 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4007 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4009 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4011 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4013 * loader/i386/pc/multiboot2.c: Removed stalled file.
4015 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4017 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4018 Reported by: Grégoire Sutre
4020 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4022 * util/misc.c (canonicalize_file_name): New function.
4023 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4024 instead of realpath().
4026 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
4028 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4029 and make it clearer that it's optional. Based on confusion
4032 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4034 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4035 in premature implicit newline.
4037 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4039 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4040 which resulted in garbled command line at the end of screen.
4042 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4044 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4045 initialization with similar approach as with other Linux loaders.
4047 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4049 Fix i386-ieee1275 build.
4051 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4052 and grub_term_height() for video_{width,height} initialization.
4054 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4058 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4060 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4061 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4063 Support for multiple terminals.
4065 * Makefile.in (pkglib_DATA): terminal.lst.
4066 (terminal.lst): New target.
4067 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4068 (GRUB_MOD_INIT(handler)): Likewise.
4069 (GRUB_MOD_FINI(handler)): Likewise.
4070 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4071 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4072 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4073 (grub_cmd_sleep): Use grub_term_save_pos.
4074 * commands/terminal.c: New file.
4075 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4076 commands/terminal.c and lib/charset.c.
4077 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4078 (pkglib_MODULES): Add terminal.mod.
4079 (terminal_mod_SOURCES): New variable.
4080 (terminal_mod_CFLAGS): Likewise.
4081 (terminal_mod_LDFLAGS): Likewise.
4082 * genhandlerlist.sh: Don't handle terminals.
4083 * genmk.rb: Generate terminal-*.lst.
4084 * genterminallist.sh: New file.
4085 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4086 (grub_is_valid_utf8): Likewise.
4087 (grub_utf8_to_ucs4_alloc): Likewise.
4088 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4089 (grub_menu_register_viewer): Changed argument.
4090 (grub_menu_try_text): New proto.
4091 (grub_gfxmenu_try_hook): New declaration.
4092 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4093 (grub_menu_init_page): Additional argument term.
4094 (grub_normal_init_page): Likewise.
4095 (grub_cmdline_get): Arguments simplified.
4096 (grub_utf8_to_ucs4_alloc): Removed.
4097 (grub_print_ucs4): Additional argument term.
4098 (grub_getstringwidth): Likewise.
4099 (grub_print_message_indented): Likewise.
4100 (grub_menu_text_register_instances): New proto.
4101 (grub_show_menu): Likewise.
4102 (read_terminal_list): Likewise.
4103 (grub_set_more): Likewise.
4104 * include/grub/parser.h: Include handler.h.
4105 * include/grub/reader.h: Rewritten.
4106 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4107 (GRUB_TERM_WIDTH): Changed to function.
4108 (GRUB_TERM_HEIGHT): Likewise.
4109 (GRUB_TERM_BORDER_WIDTH): Likewise.
4110 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4111 (GRUB_TERM_NUM_ENTRIES): Likewise.
4112 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4113 (GRUB_TERM_CURSOR_X): Likewise.
4114 (grub_term_input_class): Likewise.
4115 (grub_term_output_class): Likewise.
4116 (grub_term_outputs_disabled): New declaration.
4117 (grub_term_inputs_disabled): Likewise.
4118 (grub_term_outputs): Likewise.
4119 (grub_term_inputs): Likewise.
4120 (grub_term_register_input): Rewritten.
4121 (grub_term_register_output): Likewise.
4122 (grub_term_unregister_input): Likewise.
4123 (grub_term_unregister_output): Likewise.
4124 (FOR_ACTIVE_TERM_INPUTS): New macro.
4125 (FOR_DISABLED_TERM_INPUTS): Likewise.
4126 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4127 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4128 * include/grub/terminfo.h: Add oterm argument to all protypes.
4129 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4130 Use grub_rescue_run.
4131 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4133 * kern/reader.c: Removed. All users updated.
4134 * kern/rescue_reader.c (grub_rescue_init): Removed.
4135 (grub_rescue_reader): Likewise.
4136 (grub_register_rescue_reader): Likewise.
4137 (grub_rescue_run): New function based on kern/reader.c.
4138 * kern/term.c: Adapted for multiterm.
4139 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4140 (grub_is_valid_utf8): Likewise.
4141 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4142 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4144 * loader/i386/linux.c (grub_linux_boot): Likewise.
4145 * normal/auth.c (grub_username_get): New function.
4146 (grub_auth_check_authentication): Use grub_username_get.
4147 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4148 * normal/color.c: Adapt for multiterm.
4149 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4150 (grub_normal_init_page): Additional argument term.
4151 (read_lists): Call read_terminal_lists.
4152 (grub_enter_normal_mode): Call grub_cmdline_run.
4153 Handle grub_normal_exit_level.
4154 (grub_cmd_normal): Make reentrant.
4155 (grub_cmd_normal_exit): New function.
4156 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4157 * normal/menu.c: Adapt for multiterm.
4158 * normal/menu_entry.c: Likewise.
4159 * normal/menu_text.c: Likewise.
4160 * normal/menu_viewer.c: Removed. All users updated.
4161 * normal/term.c: New file.
4162 * util/console.c: Change order of includes to workaround a bug in
4164 * term/terminfo.c: New argument oterm on all exported functions.
4166 * util/grub-editenv.c (grub_term_input_class): Removed.
4167 (grub_term_output_class): Likewise.
4169 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4171 Make loader output a bit more user-friendly.
4173 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4174 is being loaded. Likewise for the Hurd.
4176 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4177 that kernel of FreeBSD ${version} is being loaded.
4179 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4181 (grub_cmd_initrd): Likewise.
4182 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4183 that Linux ${version} is being loaded. Likewise for initrd.
4185 2010-01-09 Carles Pina i Estany <carles@pina.cat>
4187 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4189 2010-01-08 Carles Pina i Estany <carles@pina.cat>
4191 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4192 (GRUB_MOD_INIT): Gettextizze.
4193 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4194 (GRUB_MOD_INIT): Gettextizze.
4195 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4196 (grub_cmd_linux): Capitalise Linux.
4197 (GRUB_MOD_INIT): Gettextizze.
4198 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4199 (grub_cmd_linux): Capitalise Linux.
4200 (GRUB_MOD_INIT): Gettextizze.
4201 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4202 (grub_cmd_linux): Capitalise Linux.
4203 (GRUB_MOD_INIT): Gettextizze.
4204 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4205 (GRUB_MOD_INIT): Gettextizze.
4206 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4207 (grub_cmd_linux): Capitalise Linux.
4208 (GRUB_MOD_INIT): Gettextizze.
4209 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4210 (grub_cpu_xnu_init): Gettextizze.
4211 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4212 (GRUB_MOD_INIT): Gettextizze.
4213 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4214 (GRUB_MOD_INIT): Gettextizze.
4215 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4216 (grub_linux_load64): Capitalise Linux.
4217 (GRUB_MOD_INIT): Gettextizze.
4218 * loader/xnu.c: Include `<grub/i18n.h>'.
4219 (GRUB_MOD_INIT): Gettextizze.
4220 * po/POTFILES: Add `loader/efi/appleloader.c',
4221 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4222 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4223 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4224 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4225 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4228 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4230 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4232 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4234 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4235 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4236 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4238 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4240 Reset Multiboot 2 support. New loader implements the draft in
4241 /branches/multiboot2 and shares as much code as possible with the
4242 production Multiboot 1 implementation.
4244 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
4245 * loader/multiboot2.c: Likewise.
4246 * loader/i386/multiboot_helper.S: Likewise.
4247 * include/multiboot2.h: Replace with latest version from the draft
4248 in /branches/multiboot2.
4250 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
4251 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
4252 and `loader/multiboot2.c'.
4253 (pkglib_MODULES): Add `multiboot2.mod'.
4254 (multiboot2_mod_SOURCES): New variable.
4255 (multiboot2_mod_LDFLAGS): Likewise.
4256 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
4258 * conf/i386-pc.rmk: Likewise.
4260 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4261 (multiboot_mod_SOURCES): Remove variable.
4262 (multiboot_mod_LDFLAGS): Likewise.
4263 (multiboot_mod_CFLAGS): Likewise.
4265 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
4266 `<multiboot2.h>' instead of `<multiboot.h>'.
4267 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
4268 (MULTIBOOT_HEADER_MAGIC): New macros.
4270 * loader/multiboot_loader.c (module_version_status): Remove variable.
4271 (find_multi_boot2_header): Remove function.
4272 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
4273 logic. Always check for the Multiboot version we're compiling for.
4274 (grub_cmd_module_loader): Likewise.
4275 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
4276 command instead of `multiboot'.
4278 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4280 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
4281 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
4284 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4285 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4287 Fix breakage introduced with previous commit.
4289 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
4291 * normal/handler.c (read_handler_list): Revert part of previous commit
4292 affecting this file.
4293 * normal/main.c (read_lists): Move read_handler_list() call back to ...
4294 (grub_normal_execute): ... here.
4296 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4298 Merge prefix-redefinition-fix branch.
4300 * normal/autofs.c (read_fs_list): Make function capable of being
4301 run multiple times, gracefuly replacing the previous data
4303 * normal/dyncmd.c (read_command_list): Likewise.
4304 * normal/handler.c (read_handler_list): Likewise.
4305 * normal/main.c (read_lists): New function. Calls all the
4306 list reading functions.
4307 (grub_normal_execute): Use read_lists() instead of calling all
4308 list reading functions explicitly. Register read_lists() as a
4309 variable hook attached to ${prefix}.
4311 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4313 Merge crypto branch.
4315 * Makefile.in (pkglib_DATA): Add crypto.lst.
4316 (crypto.lst): New target.
4317 * commands/hashsum.c: New file.
4318 * commands/password.c (check_password): Use grub_crypto_memcmp.
4319 * commands/password_pbkdf2.c: New file.
4320 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
4321 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
4322 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
4323 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
4324 -I$(srcdir)/lib/libgcrypt_wrap.
4325 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
4326 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
4327 password_pbkdf2.mod.
4328 (crypto_mod_SOURCES): New variable.
4329 (crypto_mod_CFLAGS): Likewise.
4330 (crypto_mod_LDFLAGS): Likewise.
4331 (hashsum_mod_SOURCES): New variable.
4332 (hashsum_mod_CFLAGS): Likewise.
4333 (hashsum_mod_LDFLAGS): Likewise.
4334 (pbkdf2_mod_SOURCES): New variable.
4335 (pbkdf2_mod_CFLAGS): Likewise.
4336 (pbkdf2_mod_LDFLAGS): Likewise.
4337 (password_pbkdf2_mod_SOURCES): New variable.
4338 (password_pbkdf2_mod_CFLAGS): Likewise.
4339 (password_pbkdf2_mod_LDFLAGS): Likewise.
4340 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
4341 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
4342 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
4343 Include conf/gcry.rmk.
4344 * include/grub/auth.h: Rewritten.
4345 * include/grub/crypto.h: New file.
4346 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
4347 * include/grub/normal.h (read_crypto_list): New prototype.
4348 * lib/crypto.c: New file.
4349 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4350 * lib/pbkdf2.c: Likewise.
4351 * normal/auth.c (grub_auth_strcmp): Removed.
4352 (grub_iswordseparator): Likewise.
4353 (grub_auth_strword): Likewise.
4354 (is_authenticated): Use grub_strword.
4355 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
4356 and grub_strword. Pass entered password to authentication callback.
4357 * normal/crypto.c: New file.
4358 * normal/main.c: Call read_crypto_list.
4359 * util/grub-mkpasswd-pbkdf2.c: New file.
4360 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
4362 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
4364 Fix descent and ascent calculation.
4366 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
4367 (options): New option "asce".
4369 (add_char): Ignore invalid glyphs for descent calculation.
4370 Calculate ascent from actual content.
4371 (print_glyphs): Use 'asce'.
4372 (write_font): Likewise. Allow ascent override.
4373 (main): Handle "asce" option.
4375 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4377 * kern/err.c: Include `<grub/i18n.h>'.
4378 (grub_print_error): Add full stop. Gettextizze.
4379 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
4380 (grub_bsd_load_elf): Capitalise ELF.
4381 (grub_cmd_freebsd_loadenv): Add `s' in error string.
4382 (grub_cmd_freebsd_module): Likewise.
4383 (grub_cmd_freebsd_module_elf): Likewise.
4384 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
4386 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4388 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
4389 * commands/search_file.c (HELP_MESSAGE): New macro.
4390 * commands/search_label.c (HELP_MESSAGE): Likewise.
4391 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
4392 * po/POTFILES: Add `commands/search_file.c',
4393 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
4394 `commands/search.c'.
4396 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4398 * config.rpath: Update from Gnulib.
4400 2010-01-05 Yves Blusseau <blusseau@zetam.org>
4402 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
4404 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
4406 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
4408 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4410 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
4411 arguments to fread so that we get a return value in bytes, rather
4412 than something that will normally be rounded down to 0.
4413 Adjust error handling to avoid producing garbage when size_t is not
4414 the same size as long long.
4416 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4418 * util/mkisofs/write.c (padblock_write): Check return value of
4421 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4423 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
4426 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
4428 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4430 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
4431 instead of manual alignment.
4432 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
4433 verbose). Avoid attempts to read past end of the device
4434 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
4435 but GRUB_DISK_CACHE_SIZE may exceed that).
4437 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4439 * commands/crc.c (grub_cmd_crc): Abort on read errors.
4440 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
4443 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4445 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
4447 (grub_efi_piwg_device_path): New structure
4448 (grub_efi_piwg_device_path_t): New type.
4449 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
4450 (devpath_1): Transform to a structure. All users updated.
4451 (devpath_2): Likewise.
4452 (devpath_3): Likewise.
4453 (devpath_4): Likewise.
4454 (devpath_5): Likewise.
4456 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4458 * loader/efi/appleloader.c: Restored. Update all users.
4460 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4462 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
4464 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
4465 (struct boot_blocklist): Move from here ...
4466 * include/grub/i386/pc/boot.h [ASM_FILE]
4467 (struct grub_boot_blocklist): ... to here. Update all users.
4468 (setup): Only initialize `start' member of `first_block'
4469 structure. Add assert() calls to verify the other members.
4471 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
4472 (generate_image): Fix broken blocklist length initialization.
4473 Add assert() call to verify blocklist `segment' field.
4475 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4477 * loader/efi/appleloader.c: Remove. Update all users.
4479 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4481 * boot/i386/pc/boot.S: Update copyright year.
4482 * boot/i386/pc/cdboot.S: Likewise.
4483 * boot/i386/pc/diskboot.S: Likewise.
4484 * boot/i386/pc/lnxboot.S: Likewise.
4485 * boot/i386/pc/pxeboot.S: Likewise.
4486 * bus/pci.c: Likewise.
4487 * commands/cmp.c: Likewise.
4488 * commands/help.c: Likewise.
4489 * commands/hexdump.c: Likewise.
4490 * commands/i386/pc/halt.c: Likewise.
4491 * commands/i386/pc/play.c: Likewise.
4492 * commands/i386/pc/vbeinfo.c: Likewise.
4493 * commands/ls.c: Likewise.
4494 * commands/test.c: Likewise.
4495 * disk/dmraid_nvidia.c: Likewise.
4496 * disk/i386/pc/biosdisk.c: Likewise.
4497 * disk/ieee1275/nand.c: Likewise.
4498 * disk/ieee1275/ofdisk.c: Likewise.
4499 * disk/lvm.c: Likewise.
4500 * disk/raid.c: Likewise.
4501 * disk/raid6_recover.c: Likewise.
4502 * disk/scsi.c: Likewise.
4503 * fs/affs.c: Likewise.
4504 * fs/cpio.c: Likewise.
4505 * fs/ext2.c: Likewise.
4506 * fs/hfs.c: Likewise.
4507 * fs/iso9660.c: Likewise.
4508 * fs/ntfs.c: Likewise.
4509 * fs/sfs.c: Likewise.
4510 * fs/udf.c: Likewise.
4511 * fs/ufs.c: Likewise.
4512 * fs/xfs.c: Likewise.
4513 * gencmdlist.sh: Likewise.
4514 * genmk.rb: Likewise.
4515 * include/grub/disk.h: Likewise.
4516 * include/grub/efi/api.h: Likewise.
4517 * include/grub/efi/efi.h: Likewise.
4518 * include/grub/efi/pe32.h: Likewise.
4519 * include/grub/elf.h: Likewise.
4520 * include/grub/fs.h: Likewise.
4521 * include/grub/i386/at_keyboard.h: Likewise.
4522 * include/grub/i386/pc/memory.h: Likewise.
4523 * include/grub/i386/pc/vbe.h: Likewise.
4524 * include/grub/i386/pci.h: Likewise.
4525 * include/grub/i386/tsc.h: Likewise.
4526 * include/grub/ieee1275/ieee1275.h: Likewise.
4527 * include/grub/ntfs.h: Likewise.
4528 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
4529 * include/grub/sparc64/libgcc.h: Likewise.
4530 * include/grub/symbol.h: Likewise.
4531 * include/grub/types.h: Likewise.
4532 * include/multiboot2.h: Likewise.
4533 * io/gzio.c: Likewise.
4534 * kern/device.c: Likewise.
4535 * kern/disk.c: Likewise.
4536 * kern/efi/efi.c: Likewise.
4537 * kern/efi/mm.c: Likewise.
4538 * kern/elf.c: Likewise.
4539 * kern/file.c: Likewise.
4540 * kern/i386/dl.c: Likewise.
4541 * kern/i386/pc/init.c: Likewise.
4542 * kern/i386/pc/startup.S: Likewise.
4543 * kern/ieee1275/ieee1275.c: Likewise.
4544 * kern/ieee1275/init.c: Likewise.
4545 * kern/main.c: Likewise.
4546 * kern/mm.c: Likewise.
4547 * kern/powerpc/dl.c: Likewise.
4548 * kern/sparc64/dl.c: Likewise.
4549 * kern/x86_64/dl.c: Likewise.
4550 * lib/hexdump.c: Likewise.
4551 * loader/efi/appleloader.c: Likewise.
4552 * loader/i386/ieee1275/linux.c: Likewise.
4553 * loader/i386/pc/chainloader.c: Likewise.
4554 * loader/i386/pc/linux.c: Likewise.
4555 * loader/i386/pc/multiboot2.c: Likewise.
4556 * loader/ieee1275/multiboot2.c: Likewise.
4557 * loader/multiboot2.c: Likewise.
4558 * loader/multiboot_loader.c: Likewise.
4559 * loader/powerpc/ieee1275/linux.c: Likewise.
4560 * normal/completion.c: Likewise.
4561 * normal/menu_entry.c: Likewise.
4562 * partmap/apple.c: Likewise.
4563 * util/grub.d/10_hurd.in: Likewise.
4564 * util/hostfs.c: Likewise.
4565 * video/readers/png.c: Likewise.
4567 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
4569 * include/grub/misc.h (GNUC_PREREQ): New macro.
4570 (ATTRIBUTE_ERROR): New macro.
4571 * include/grub/list.h (grub_bad_type_cast_real): Use
4574 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4576 * normal/menu_text.c (print_message): Change messages.
4578 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4580 * normal/menu_entry.c (store_completion): Gettextizze.
4582 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4584 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
4586 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4588 * po/POTFILES: Sort correctly.
4590 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4592 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
4593 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
4594 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
4596 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
4597 summary. Gettextizze the strings.
4598 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
4599 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
4600 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
4602 (GRUB_MOD_INIT): Remove command name from summary.
4603 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
4605 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
4606 * term/i386/pc/serial.c (options): Add full stops.
4607 (GRUB_MOD_INIT): Remove command name from the summary.
4609 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4611 * commands/acpi.c: Gettextizze help strings and/or options. Include
4612 `grub/i18n.h' if needed.
4613 * commands/blocklist.c: Likewise.
4614 * commands/boot.c: Likewise.
4615 * commands/cat.c: Likewise.
4616 * commands/cmp.c: Likewise.
4617 * commands/configfile.c: Likewise.
4618 * commands/crc.c: Likewise.
4619 * commands/date.c: Likewise.
4620 * commands/echo.c: Likewise.
4621 * commands/efi/fixvideo.c: Likewise.
4622 * commands/efi/loadbios.c: Likewise.
4623 * commands/gptsync.c: Likewise.
4624 * commands/halt.c: Likewise.
4625 * commands/handler.c: Likewise.
4626 * commands/hdparm.c: Likewise.
4627 * commands/hexdump.c: Likewise.
4628 * commands/i386/cpuid.c: Likewise.
4629 * commands/i386/pc/drivemap.c: Likewise.
4630 * commands/i386/pc/halt.c: Likewise.
4631 * commands/i386/pc/pxecmd.c: Likewise.
4632 * commands/i386/pc/vbeinfo.c: Likewise.
4633 * commands/i386/pc/vbetest.c: Likewise.
4634 * commands/ieee1275/suspend.c: Likewise.
4635 * commands/keystatus.c: Likewise.
4636 * commands/loadenv.c: Likewise.
4637 * commands/ls.c: Likewise.
4638 * commands/lsmmap.c: Likewise.
4639 * commands/lspci.c: Likewise.
4640 * commands/memrw.c: Likewise.
4641 * commands/minicmd.c: Likewise.
4642 * commands/parttool.c: Likewise.
4643 * commands/password.c: Likewise.
4644 * commands/probe.c: Likewise.
4645 * commands/read.c: Likewise.
4646 * commands/reboot.c: Likewise.
4647 * commands/search.c: Likewise.
4648 * commands/sleep.c: Likewise.
4649 * commands/test.c: Likewise.
4650 * commands/true.c: Likewise.
4651 * commands/usbtest.c: Likewise.
4652 * commands/videotest.c: Likewise.
4653 * commands/xnu_uuid.c: Likewise.
4654 * disk/loopback.c: Likewise.
4655 * hello/hello.c: Likewise.
4656 * loader/i386/bsd.c: Likewise.
4657 * term/i386/pc/serial.c: Likewise.
4658 * po/POTFILES: Add new files.
4660 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
4662 * term/i386/pc/at_keyboard.c
4663 (keyboard_controller_wait_untill_ready): Rename to ...
4664 (keyboard_controller_wait_until_ready): ... this. Update all users.
4666 2010-01-01 Carles Pina i Estany <carles@pina.cat>
4668 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
4669 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
4670 string using string width.
4671 * normal/menu_text.c (grub_print_message_indented): Use
4672 grub_print_spaces and not print_spaces.
4673 (print_timeout): Likewise.
4674 (print_spaces): Move to...
4675 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
4677 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
4681 * gnulib/getdelim.c: New file.
4682 * gnulib/getline.c: Likewise.
4684 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
4686 * include/grub/list.h (grub_assert_fail): Removed.
4687 (grub_bad_type_cast_real): New function.
4688 (grub_bad_type_cast): New macro.
4689 (GRUB_AS_LIST): Use grub_bad_type_cast.
4690 (GRUB_AS_LIST_P): Likewise.
4691 (GRUB_AS_NAMED_LIST): Likewise.
4692 (GRUB_AS_NAMED_LIST_P): Likewise.
4693 (GRUB_AS_PRIO_LIST): Likewise.
4694 (GRUB_AS_PRIO_LIST_P): Likewise.
4695 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
4697 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
4699 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
4702 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
4704 * configure.ac: Check for TARGET_CFLAGS initialization before we
4705 initialize it ourselves (sigh).
4706 Move a few modifications to TARGET_CFLAGS to be unconditional
4707 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
4710 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
4711 * term/i386/pc/at_keyboard.c
4712 (keyboard_controller_wait_untill_ready): Likewise.
4713 (keyboard_controller_led): Rename `led_status' paramter to avoid
4716 2009-12-28 Carles Pina i Estany <carles@pina.cat>
4718 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
4721 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4723 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
4725 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4727 * normal/menu_text.c (grub_print_message_indented): Prevent
4728 past-the-end-of-array dereference.
4730 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4732 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
4733 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
4735 2009-12-27 Carles Pina i Estany <carles@pina.cat>
4737 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
4738 * normal/main.c (grub_normal_read_line): Remove a space from the
4741 2009-12-27 Carles Pina i Estany <carles@pina.cat>
4743 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
4744 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4745 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4746 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4747 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4748 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4749 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4751 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4753 * video/readers/jpeg.c (cmd): Declare.
4754 (grub_cmd_jpegtest): Use `grub_command_t' type.
4755 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4757 (GRUB_MOD_FINI): Use `cmd' to unregister.
4758 * video/readers/png.c (cmd): Declare.
4759 (grub_cmd_pngtest): Use `grub_command_t' type.
4760 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4762 (GRUB_MOD_FINI): Use `cmd' to unregister.
4763 * video/readers/tga.c (cmd): Declare.
4764 (grub_cmd_tgatest): Use `grub_command_t' type.
4765 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4767 (GRUB_MOD_FINI): Use `cmd' to unregister.
4769 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4771 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
4773 * kern/corecmd.c (grub_register_core_commands): Likewise.
4774 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
4775 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4776 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
4777 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4778 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4779 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
4780 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4781 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
4782 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4783 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4784 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4785 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4786 * normal/handler.c (insert_handler): Likewise.
4787 * normal/main.c (GRUB_MOD_INIT): Likewise.
4788 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
4790 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4792 * commands/help.c (grub_cmd_help): Print the command name before the
4794 (GRUB_MOD_INIT): Remove command name from the summary.
4795 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
4797 * lib/arg.c (find_long): Print the command name before the summary.
4798 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
4800 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
4801 * commands/cat.c (GRUB_MOD_INIT): Likewise.
4802 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
4803 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
4804 * commands/crc.c (GRUB_MOD_INIT): Likewise.
4805 * commands/date.c (GRUB_MOD_INIT): Likewise.
4806 * commands/echo.c (GRUB_MOD_INIT): Likewise.
4807 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
4808 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
4809 * commands/handler.c (GRUB_MOD_INIT): Likewise.
4810 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
4811 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
4812 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
4813 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
4814 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
4815 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
4816 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
4817 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
4818 * commands/ls.c (GRUB_MOD_INIT): Likewise.
4819 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
4820 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
4821 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
4822 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
4823 * commands/password.c (GRUB_MOD_INIT): Likewise.
4824 * commands/probe.c (GRUB_MOD_INIT): Likewise.
4825 * commands/read.c (GRUB_MOD_INIT): Likewise.
4826 * commands/search.c (GRUB_MOD_INIT): Likewise.
4827 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
4828 * commands/test.c (GRUB_MOD_INIT): Likewise.
4829 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
4830 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
4831 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
4832 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
4833 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
4834 * lib/arg.c (GRUB_MOD_INIT): Likewise.
4835 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
4836 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4837 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4838 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4839 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
4840 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
4841 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
4842 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
4844 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4846 Use search command for preliminar UUID search.
4848 * commands/search.c: Split into ...
4849 * commands/search_wrap.c: ...this
4850 * commands/search.c: ...and this.
4851 * commands/search_file.c: New file.
4852 * commands/search_label.c: New file.
4853 * commands/search_uuid.c: New file.
4854 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
4855 Add commands/search_wrap.c, commands/search_file.c,
4856 commands/search_label.c and commands/search_uuid.c.
4857 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
4858 (search_mod_SOURCES): Set to commands/search_wrap.c.
4859 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
4861 (search_fs_file_mod_SOURCES): New variable.
4862 (search_fs_file_mod_CFLAGS): Likewise.
4863 (search_fs_file_mod_LDFLAGS): Likewise.
4864 (search_label_mod_SOURCES): Likewise.
4865 (search_label_mod_CFLAGS): Likewise.
4866 (search_label_mod_LDFLAGS): Likewise.
4867 (search_fs_uuid_mod_SOURCES): New variable.
4868 (search_fs_uuid_mod_CFLAGS): Likewise.
4869 (search_fs_uuid_mod_LDFLAGS): Likewise.
4870 (fs_file_mod_SOURCES): Removed.
4871 (fs_file_mod_CFLAGS): Likewise.
4872 (fs_file_mod_LDFLAGS): Likewise.
4873 (fs_uuid_mod_SOURCES): Removed.
4874 (fs_uuid_mod_CFLAGS): Likewise.
4875 (fs_uuid_mod_LDFLAGS): Likewise.
4876 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
4877 Set to util/grub-install.in.
4878 * disk/fs_file.c: Removed.
4879 * disk/fs_uuid.c: Likewise.
4880 * include/grub/search.h: New file.
4881 * util/grub-install.in: Handle sparc64.
4882 Create and use load.cfg.
4883 * util/sparc64/ieee1275/grub-install.in: Removed.
4885 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4887 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
4888 Ignore return status if CF is cleared.
4889 (grub_biosdisk_get_diskinfo_standard): Likewise.
4891 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4893 * term/i386/pc/at_keyboard.c
4894 (keyboard_controller_wait_untill_ready): New function.
4895 (grub_keyboard_controller_write, grub_keyboard_controller_read)
4896 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
4897 for keyboard polling, rather than duplicate the same loop. This
4898 saves a few bytes in code size.
4900 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4902 Support for (pxe[:server[:gateway]]) syntax and
4903 use environment variable for PXE.
4905 * commands/i386/pc/pxecmd.c (options): Removed.
4906 (print_ip): Removed.
4907 (grub_cmd_pxe): Removed
4908 (grub_cmd_pxe_unload): New function.
4909 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
4910 (grub_pxe_your_ip): Made static.
4911 (grub_pxe_default_server_ip): Likewise.
4912 (grub_pxe_default_gateway_ip): Likewise.
4913 (grub_pxe_blksize): Likewise.
4914 (parse_ip): New function.
4915 (grub_pxe_open): Support server and gateway specification.
4916 (grub_pxe_close): Free disk->data.
4917 (grub_pxefs_open): Use disk->data.
4918 (grub_pxefs_read): Likewise.
4919 (grub_env_write_readonly): New function.
4920 (set_mac_env): Likewise.
4921 (set_env_limn_ro): Likewise.
4922 (parse_dhcp_vendor): Likewise.
4923 (grub_pxe_detect): Set the environment variables.
4924 (set_ip_env): New function.
4925 (write_ip_env): Likewise.
4926 (grub_env_write_pxe_default_server): Likewise.
4927 (grub_env_write_pxe_default_gateway): Likewise.
4928 (grub_env_write_pxe_blocksize): Likewise.
4929 (GRUB_MOD_INIT(pxe)): Set environment variables.
4930 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
4931 (grub_pxe_mac_addr_t): ... this. All users updated.
4932 (grub_pxe_your_ip): Removed.
4933 (grub_pxe_server_ip): Likewise.
4934 (grub_pxe_gateway_ip): Likewise.
4935 (grub_pxe_blksize): Likewise.
4937 2009-12-25 Carles Pina i Estany <carles@pina.cat>
4939 * commands/help.c: Include `<grub/i18n.h>'.
4940 (grub_cmd_help): Gettextizze.
4941 (GRUB_MOD_INIT): Likewise.
4942 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
4943 (GRUB_MOD_INIT): Gettextizze.
4944 * commands/search.c: Include `<grub/i18n.h>'.
4945 (options): Gettextizze.
4946 (GRUB_MOD_INIT): Gettextizze.
4947 * lib/arg.c: Include `<grub/i18n.h>'.
4948 (help_options): Gettextizze.
4949 (find_long): Likewise.
4950 (grub_arg_show_help): Likewise.
4951 * normal/dyncmd.c: Include `<grub/i18n.h>'.
4952 (read_command_list): Gettextizze.
4953 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
4954 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
4956 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4958 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
4959 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
4960 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
4961 (led_status): New variable.
4962 (keyboard_controller_led): New function.
4963 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
4964 update led status for caps lock, num lock and scroll lock.
4966 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
4968 * util/hostdisk.c (open_device): Fix a comment.
4970 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4972 * util/grub-install.in (host_os): New variable.
4973 * util/i386/efi/grub-install.in (host_os): Likewise.
4975 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4977 * util/mkisofs/write.c (padblock_write): Abort when given an
4978 excedingly large embed image, instead of silently truncating it.
4980 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4982 * include/multiboot.h: Indentation fixes.
4984 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4986 * include/multiboot.h (struct multiboot_aout_symbol_table)
4987 (struct multiboot_elf_section_header_table): New structure
4988 declarations (stolen from GRUB Legacy).
4989 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
4992 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
4993 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
4996 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4998 * include/multiboot.h: Make comments src2texi-friendly.
5000 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5002 For consistency with [multiboot]/docs/boot.S.
5004 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5005 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5006 (MULTIBOOT_MAGIC2): Rename from this ...
5007 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5009 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5011 * include/multiboot.h: Remove `<grub/types.h>'.
5012 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5013 types. Update all users.
5015 2009-12-25 Carles Pina i Estany <carles@pina.cat>
5017 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5018 `couldn't' and `can not' by `cannot'.
5019 * commands/i386/pc/drivemap.c: Likewise.
5020 * disk/ata.c: Likewise.
5021 * disk/ieee1275/nand.c: Likewise.
5022 * fs/affs.c: Likewise.
5023 * fs/fat.c: Likewise.
5024 * fs/hfs.c: Likewise.
5025 * fs/hfsplus.c: Likewise.
5026 * fs/iso9660.c: Likewise.
5027 * fs/jfs.c: Likewise.
5028 * fs/minix.c: Likewise.
5029 * fs/reiserfs.c: Likewise.
5030 * fs/sfs.c: Likewise.
5031 * fs/udf.c: Likewise.
5032 * fs/ufs.c: Likewise.
5033 * fs/xfs.c: Likewise.
5034 * loader/powerpc/ieee1275/linux.c: Likewise.
5035 * loader/sparc64/ieee1275/linux.c: Likewise.
5036 * util/grub-probe.c: Likewise.
5037 * util/misc.c: Likewise.
5039 2009-12-24 Carles Pina i Estany <carles@pina.cat>
5041 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5043 * commands/acpi.c: Likewise.
5044 * commands/blocklist.c: Likewise.
5045 * commands/efi/loadbios.c: Likewise.
5046 * commands/i386/pc/drivemap.c: Likewise.
5047 * commands/loadenv.c: Likewise.
5048 * commands/memrw.c: Likewise.
5049 * commands/password.c: Likewise.
5050 * commands/videotest.c: Likewise.
5051 * disk/ata.c: Likewise.
5052 * disk/ata_pthru.c: Likewise.
5053 * disk/dmraid_nvidia.c: Likewise.
5054 * disk/ieee1275/nand.c: Likewise.
5055 * disk/ieee1275/ofdisk.c: Likewise.
5056 * disk/loopback.c: Likewise.
5057 * disk/lvm.c: Likewise.
5058 * disk/mdraid_linux.c: Likewise.
5059 * disk/raid.c: Likewise.
5060 * disk/raid6_recover.c: Likewise.
5061 * disk/scsi.c: Likewise.
5062 * efiemu/main.c: Likewise.
5063 * efiemu/mm.c: Likewise.
5064 * efiemu/pnvram.c: Likewise.
5065 * efiemu/symbols.c: Likewise.
5066 * font/font.c: Likewise.
5067 * fs/cpio.c: Likewise.
5068 * fs/hfsplus.c: Likewise.
5069 * fs/iso9660.c: Likewise.
5070 * fs/jfs.c: Likewise.
5071 * fs/minix.c: Likewise.
5072 * fs/ntfs.c: Likewise.
5073 * fs/ntfscomp.c: Likewise.
5074 * fs/reiserfs.c: Likewise.
5075 * fs/ufs.c: Likewise.
5076 * fs/xfs.c: Likewise.
5077 * gettext/gettext.c: Likewise.
5078 * include/grub/auth.h: Likewise.
5079 * kern/elf.c: Likewise.
5080 * kern/file.c: Likewise.
5081 * kern/ieee1275/init.c: Likewise.
5082 * kern/ieee1275/mmap.c: Likewise.
5083 * kern/ieee1275/openfw.c: Likewise.
5084 * kern/powerpc/dl.c: Likewise.
5085 * kern/sparc64/dl.c: Likewise.
5086 * lib/arg.c: Likewise.
5087 * loader/i386/bsd.c: Likewise.
5088 * loader/i386/bsdXX.c: Likewise.
5089 * loader/i386/efi/linux.c: Likewise.
5090 * loader/i386/efi/xnu.c: Likewise.
5091 * loader/i386/ieee1275/linux.c: Likewise.
5092 * loader/i386/linux.c: Likewise.
5093 * loader/i386/multiboot.c: Likewise.
5094 * loader/i386/pc/linux.c: Likewise.
5095 * loader/i386/pc/multiboot2.c: Likewise.
5096 * loader/i386/xnu.c: Likewise.
5097 * loader/ieee1275/multiboot2.c: Likewise.
5098 * loader/macho.c: Likewise.
5099 * loader/machoXX.c: Likewise.
5100 * loader/multiboot2.c: Likewise.
5101 * loader/multiboot_loader.c: Likewise.
5102 * loader/powerpc/ieee1275/linux.c: Likewise.
5103 * loader/sparc64/ieee1275/linux.c: Likewise.
5104 * loader/xnu.c: Likewise.
5105 * loader/xnu_resume.c: Likewise.
5106 * mmap/i386/pc/mmap.c: Likewise.
5107 * normal/menu_viewer.c: Likewise.
5108 * partmap/acorn.c: Likewise.
5109 * partmap/amiga.c: Likewise.
5110 * partmap/apple.c: Likewise.
5111 * script/lexer.c: Likewise.
5112 * term/gfxterm.c: Likewise.
5113 * term/i386/pc/serial.c: Likewise.
5114 * term/i386/pc/vga.c: Likewise.
5115 * term/ieee1275/ofconsole.c: Likewise.
5116 * term/terminfo.c: Likewise.
5117 * video/bitmap.c: Likewise.
5118 * video/efi_gop.c: Likewise.
5119 * video/efi_uga.c: Likewise.
5120 * video/fb/video_fb.c: Likewise.
5121 * video/i386/pc/vbe.c: Likewise.
5122 * video/readers/tga.c: Likewise.
5123 * video/video.c: Likewise.
5125 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
5127 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5128 * commands/lspci.c: Likewise.
5129 * commands/probe.c: Likewise.
5130 * commands/xnu_uuid.c: Likewise.
5131 * conf/i386-coreboot.rmk: Likewise.
5132 * conf/i386-efi.rmk: Likewise.
5133 * conf/i386-ieee1275.rmk: Likewise.
5134 * conf/i386-pc.rmk: Likewise.
5135 * conf/powerpc-ieee1275.rmk: Likewise.
5136 * conf/sparc64-ieee1275.rmk: Likewise.
5137 * conf/x86_64-efi.rmk: Likewise.
5138 * fs/i386/pc/pxe.c: Likewise.
5139 * gettext/gettext.c: Likewise.
5140 * include/grub/efi/graphics_output.h: Likewise.
5141 * include/grub/i386/pc/memory.h: Likewise.
5142 * kern/env.c: Likewise.
5143 * kern/i386/qemu/startup.S: Likewise.
5144 * lib/i386/pc/biosnum.c: Likewise.
5145 * lib/i386/relocator.c: Likewise.
5146 * lib/i386/relocator_asm.S: Likewise.
5147 * lib/relocator.c: Likewise.
5148 * loader/i386/bsd.c: Likewise.
5149 * loader/i386/multiboot.c: Likewise.
5150 * loader/i386/pc/chainloader.c: Likewise.
5151 * loader/i386/xnu.c: Likewise.
5152 * loader/xnu.c: Likewise.
5153 * normal/main.c: Likewise.
5154 * normal/menu_text.c: Likewise.
5155 * util/getroot.c: Likewise.
5156 * util/grub-mkconfig_lib.in: Likewise.
5157 * util/grub.d/00_header.in: Likewise.
5158 * util/i386/pc/grub-mkimage.c: Likewise.
5159 * util/mkisofs/eltorito.c: Likewise.
5160 * util/mkisofs/exclude.h: Likewise.
5161 * util/mkisofs/hash.c: Likewise.
5162 * util/mkisofs/iso9660.h: Likewise.
5163 * util/mkisofs/joliet.c: Likewise.
5164 * util/mkisofs/mkisofs.c: Likewise.
5165 * util/mkisofs/mkisofs.h: Likewise.
5166 * util/mkisofs/multi.c: Likewise.
5167 * util/mkisofs/name.c: Likewise.
5168 * util/mkisofs/rock.c: Likewise.
5169 * util/mkisofs/tree.c: Likewise.
5170 * util/mkisofs/write.c: Likewise.
5171 * video/efi_gop.c: Likewise.
5173 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5175 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5178 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5180 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5181 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5183 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5185 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5186 (GRUB_MOD_INIT(memrw)): Update help line.
5188 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5190 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5191 Use grub_extcmd_t. All users updated.
5192 (options): New variable.
5193 (grub_cmd_read): Restructure for readability. Support "-v" option.
5194 (grub_cmd_write): Restructure for readability.
5196 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5198 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5200 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5202 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5203 with the actual contents of the correspondending make variable.
5204 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5205 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5206 specifying `*.lst' and `efiemu??.o'
5208 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5210 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5211 after function name.
5212 Noticed by Rene Engelhard <rene@debian.org>.
5214 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5216 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5217 (options): New variable.
5218 (iospace): Likewise.
5219 (grub_lspci_iter): List IO spaces if "-i" was given.
5220 (grub_cmd_lspci): Parse options.
5221 (GRUB_MOD_INIT(lspci)): Use extcmd.
5222 (GRUB_MOD_FINI(lspci)): Likewise.
5224 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5226 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5228 Patch by Tony Mancill <tmancill@debian.org>.
5230 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5232 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5233 (grub_uhci_portstatus): Likewise.
5234 (grub_uhci_portstatus): Add necessary delay.
5235 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
5237 2009-12-21 Carles Pina i Estany <carles@pina.cat>
5239 * commands/acpi.c (options): Fix capitalizations and/or full stops.
5240 (GRUB_MOD_INIT): Likewise.
5241 * commands/boot.c (GRUB_MOD_INIT): Likewise.
5242 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
5243 * commands/echo.c (options): Fix capitalizations and/or full stops.
5244 * commands/efi/loadbios.c (enable_rom_area): Likewise.
5245 (enable_rom_area): Likewise.
5246 (GRUB_MOD_INIT): Likewise.
5247 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5248 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
5249 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5250 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
5251 * commands/hexdump.c (options): Likewise.
5252 * commands/i386/cpuid.c (options): Likewise.
5253 (GRUB_MOD_INIT): Likewise.
5254 * commands/i386/pc/drivemap.c (options): Likewise.
5255 (GRUB_MOD_INIT): Likewise.
5256 * commands/i386/pc/halt (options): Likewise.
5257 (GRUB_MOD_INIT): Likewise.
5258 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5259 * commands/i386/pc/pxecmd.c (options): Likewise.
5260 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
5261 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
5262 * commands/keystatus.c (options): Likewise.
5263 (GRUB_MOD_INIT): Likewise.
5264 * commands/loadenv.c (options): Likewise.
5265 * commands/ls.c (options): Likewise.
5266 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5267 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5268 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5269 * commands/parttool.c (helpmsg): Likewise.
5270 * commands/probe.c (options): Likewise.
5271 * commands/read.c (GRUB_MOD_INIT): Likewise.
5272 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
5273 * commands/search.c (options): Likewise.
5274 * commands/sleep.c (options): Likewise.
5275 * commands/test.c (GRUB_MOD_INIT): Likewise.
5276 * commands/true.c (GRUB_MOD_INIT): Likewise.
5277 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
5278 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
5279 * lib/arg.c (help_options): Likewise.
5280 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
5282 * po/POTFILES: Add `commands/loadenv.c'.
5284 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
5286 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
5287 instead of specifying them explicit.
5289 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5291 * NEWS: Add grub-probe support for GNU/Hurd.
5293 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5295 * NEWS: gettext was added after 1.97.
5297 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5299 * util/mkisofs/msdos_partition.h: New file (based on
5300 include/grub/msdos_partition.h).
5301 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
5302 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
5303 (ld_options, main): Recognize --protective-msdos-label.
5304 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
5305 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
5306 (padblock_write): If `use_protective_msdos_label' is set, patch a
5307 protective DOS-style label in the output image.
5309 * util/grub-mkrescue.in: Use --protective-msdos-label.
5311 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5313 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
5316 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5318 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
5320 (ld_options, main): Recognize `--embedded-boot'.
5321 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
5323 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
5324 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
5325 (padblock_write): Likewise. Rewrite to support embedded boot image.
5327 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
5328 for BIOS-based disk boot instead of only ElTorito.
5330 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5332 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
5333 build (not needed for bootstrap).
5335 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5337 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
5338 from i386-pc build (not needed for bootstrap).
5339 Rewrite a pair of strings.
5341 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5343 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
5345 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
5347 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
5349 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5351 * kern/env.c (grub_env_context_open): Mark exported variable for
5354 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5356 * kern/env.c (grub_env_export): Create nonexistent variables before
5359 2009-12-20 Carles Pina i Estany <carles@pina.cat>
5361 * include/grub/auth.h: Include `<grub/i18n.h>'.
5362 (GRUB_GET_PASSWORD): Gettextizze string.
5363 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
5365 (grub_utf8_to_ucs4_alloc): Fix indentation.
5366 (grub_print_ucs4): Likewise.
5367 (grub_getstringwidth): Likewise.
5368 (print_message_indented): New declaration.
5369 * normal/auth.c: Include `<grub/i18n.h>'.
5370 (grub_auth_check_authentication): Gettexttize string.
5371 * normal/cmdline.c: Include `<grub/i18n.h>'.
5372 (grub_cmdline_get): Gettextizze.
5373 * normal/color.c: Include `<grub/i18n.h>'.
5374 (grub_parse_color_name_pair): Gettexttize strings.
5375 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
5376 string (use `print_message_indented').
5377 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
5378 `include/grub/normal.h'.
5379 (print_message_indented): Renamed to ...
5380 (grub_print_message_indented): ... this. Remove `static' qualifer (now
5381 used in normal/main.c).
5382 (print_message): Use `grub_print_message_indented' instead of
5383 `print_message_indented'.
5384 (print_timeout): Likewise.
5385 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
5386 (grub_normal_print_device_info): Gettexttize strings.
5387 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
5389 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5391 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
5392 of arguments. Return number of tokens and not arguments. All users
5395 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5397 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
5398 non-MSDOS paritions.
5400 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5402 * include/grub/types.h (UNUSED): Removed since it conflicts with
5403 NetBSD headers. All users changed to direct __attribute__ ((unused)).
5404 Reported by Grégoire Sutre.
5406 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5408 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
5409 (grub_print_ucs4_alloc): Likewise.
5410 (grub_getstringwidth): Likewise.
5411 * normal/main.c (grub_normal_init_page): Gettextize version string.
5412 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
5413 (getstringwidth): Renamed to ...
5414 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
5415 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
5416 (grub_print_ucs4): Remove `static' qualifer (now used in
5418 * po/POTFILES: Add normal/main.c.
5420 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5422 * normal/menu_text.c (STANDARD_MARGIN): New macro.
5423 (print_message_indented): Add `margin_left' and `margin_right'
5425 (print_message): Update `print_message_indented' calls. Adds '\n' to the
5427 (print_timeout): Use `print_message_indented' to print the message.
5428 Deletes `second_stage' parameter.
5429 (run_menu): Update `print_timeout' calls.
5431 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5433 Fix console palette on OpenFirmware.
5435 * term/ieee1275/ofconsole.c (MAX): Removed.
5436 (colors): Redone based on VGA palette.
5437 (grub_ofconsole_setcolor): Discard brightness bit since only 8
5438 colors are supported.
5439 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
5441 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5443 Fix potential EfiEmu double prepare.
5445 * efiemu/main.c (prepared): New variable
5446 (grub_efiemu_unload): Set prepare to '0'.
5447 (grub_efiemu_prepare): Return if already prepared. Set prepared.
5449 set_virtual_address_map support.
5451 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
5453 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
5455 (grub_efiemu_crc32): Likewise.
5456 (grub_efiemu_crc64): Likewise.
5457 (grub_efiemu_set_virtual_address_map): Likewise.
5458 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
5460 (grub_autoefi_set_virtual_address_map): Likewise.
5461 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
5462 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
5463 Restructure flow to accomodate it.
5464 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
5465 (grub_efiemu_crc): Recompute CRC32.
5466 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
5467 (efiemu_ptv_relocated): ... this. Made global. All users updated.
5468 * efiemu/symbols.c (relocated_handle): New variable.
5469 (grub_efiemu_free_syms): Free relocated_handle.
5470 (grub_efiemu_alloc_syms): Allocate relocated_handle.
5471 (grub_efiemu_write_sym_markers): New function.
5472 (grub_efiemu_set_virtual_address_map): Likewise.
5474 Newer XNU parameters.
5476 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
5477 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
5478 (grub_xnu_fill_devicetree): New prototype.
5479 (grub_xnu_heap_real_start): New variable.
5480 * loader/xnu.c (get_name_ptr): New function.
5481 (grub_xnu_load_driver): Fill namelen and name.
5485 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
5486 and 'loader/macho64.c'.
5487 * conf/i386-pc.rmk: Likewise.
5488 * conf/x86_64-efi.rmk: Likewise.
5489 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
5490 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
5491 * include/grub/macho.h (grub_macho_segment64): New structure.
5492 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
5493 (grub_macho_size32): ... to this.
5494 (grub_macho32_get_entry_point): Renamed from ...
5495 (grub_macho_get_entry_point32): ... to this.
5496 (grub_macho_contains_macho64): New prototype.
5497 (grub_macho_size64): Likewise.
5498 (grub_macho_get_entry_point64): Likewise.
5499 (grub_macho32_load): Renamed from ...
5500 (grub_macho_load32): ... to this.
5501 (grub_macho32_filesize): Renamed from ...
5502 (grub_macho_filesize32): ... to this.
5503 (grub_macho32_readfile): Renamed from ...
5504 (grub_macho_readfile32): ... to this.
5505 (grub_macho_filesize64): New prototype.
5506 (grub_macho_readfile64): Likewise.
5507 (grub_macho_parse32): Likewise.
5508 (grub_macho_parse64): Likewise.
5509 * loader/macho.c: Split into ...
5510 * loader/machoXX.c: ... and this. Replace 32 with XX.
5511 * loader/macho32.c: New file.
5512 * loader/macho64.c: Likewise.
5513 * loader/xnu.c (grub_xnu_is_64bit): New variable.
5514 (grub_cmd_xnu_kernel): Make 32-bit only.
5515 (grub_cmd_xnu_kernel64): New function.
5516 (grub_xnu_load_driver): Support Mach-O 64.
5517 (grub_cmd_xnu_mkext): Likewise.
5518 * util/grub.d/30_os-prober.in (osx_entry): New function.
5519 Generate entries for 64-bit boot too.
5521 Eliminate ad-hoc tree format in XNU and EfiEmu.
5523 * efiemu/main.c (grub_efiemu_prepare): Update comment.
5524 * efiemu/pnvram.c: Rewritten to use environment variables.
5527 Inline utf16_to_utf8.
5529 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
5530 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
5532 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
5534 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
5535 * commands/usbtest.c (grub_usb_get_string): ... move here.
5536 (usb_print_str): Fix error handling.
5537 * include/grub/usb.h (grub_usb_get_string): Remove.
5539 UTF-8 to UTF-16 transformation.
5541 * conf/common.rmk (pkglib_MODULES): Add charset.mod
5542 (charset_mod_SOURCES): New variable.
5543 (charset_mod_CFLAGS): Likewise.
5544 (charset_mod_LDFLAGS): Likewise.
5545 * include/grub/utf.h: New file.
5546 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
5548 Support for device properties.
5550 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
5551 (grub_xnu_devprop_device_header): Likewise.
5552 (grub_xnu_devprop_device_descriptor): Likewise.
5553 (grub_xnu_devprop_add_device): New prototype.
5554 (grub_xnu_devprop_remove_device): Likewise.
5555 (grub_xnu_devprop_remove_property): Likewise.
5556 (grub_xnu_devprop_add_property_utf8): Likewise.
5557 (grub_xnu_devprop_add_property_utf16): Likewise.
5558 (grub_cpu_xnu_init): Likewise.
5559 (grub_cpu_xnu_fini): Likewise.
5560 (grub_cpu_xnu_unload): Likewise.
5561 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
5562 (property_descriptor): Likewise.
5563 (devices): New variable.
5564 (grub_xnu_devprop_remove_property): New function.
5565 (grub_xnu_devprop_add_device): Likewise.
5566 (grub_xnu_devprop_remove_device): Likewise.
5567 (grub_xnu_devprop_add_property): Likewise.
5568 (grub_xnu_devprop_add_property_utf8): Likewise.
5569 (grub_xnu_devprop_add_property_utf16): Likewise.
5570 (hextoval): Likewise.
5571 (grub_cpu_xnu_fill_devprop): Likewise.
5572 (grub_cmd_devprop_load): Likewise.
5573 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
5574 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
5575 (cmd_devprop_load): New variable.
5576 (grub_cpu_xnu_init): New function.
5577 (grub_cpu_xnu_fini): Likewise.
5578 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
5579 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
5580 (grub_cmd_xnu_devtree): Likewise.
5581 (hextoval): New function.
5582 (unescape): Likewise.
5583 (grub_xnu_fill_devicetree): Likewise.
5585 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
5586 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
5588 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5590 Workaround for broken ATI VBE.
5592 * video/i386/pc/vbe.c (last_set_mode): New variable.
5593 (grub_vbe_set_video_mode): Set 'last_set_mode'.
5594 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
5595 (grub_video_vbe_setup): Don't check for reserved flag.
5597 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
5599 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
5602 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5604 UUID support for HFS.
5606 * fs/hfs.c (grub_hfs_uuid): New function.
5607 (grub_hfs_fs): New value .uuid.
5608 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
5610 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
5612 Fix a segfault with parsing unknown long options.
5614 * util/grub-mkrelpath.c (options): Zero terminate it.
5616 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5618 * include/grub/misc.h (grub_puts): New declaration.
5619 (grub_puts_): Likewise.
5620 * kern/misc.c (grub_puts): New definition.
5621 (grub_puts_): Likewise.
5623 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5625 * util/grub-probe.c (probe): Improve error message.
5627 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5629 * loader/i386/multiboot_elfxx.c
5630 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
5633 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5637 * loader/i386/xnu_helper.S: Removed. All users updated.
5638 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
5639 (relocator_mod_SOURCES): New variable.
5640 (relocator_mod_CFLAGS): Likewise.
5641 (relocator_mod_LDFLAGS): Likewise.
5642 (relocator_mod_ASFLAGS): Likewise.
5643 * conf/x86_64.rmk: Likewise.
5644 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
5645 (grub_multiboot_payload_entry_offset): Likewise.
5646 (grub_multiboot_forward_relocator): Likewise.
5647 (grub_multiboot_forward_relocator_end): Likewise.
5648 (grub_multiboot_backward_relocator): Likewise.
5649 (grub_multiboot_backward_relocator_end): Likewise.
5650 (grub_multiboot_payload_eip): New variable.
5651 (grub_multiboot_payload_orig): Likewise.
5652 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
5653 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
5654 * include/grub/i386/memory.h
5655 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
5656 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
5657 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
5658 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
5659 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
5660 * include/grub/i386/relocator.h: New file.
5661 * include/grub/x86_64/relocator.h: Likewise.
5662 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
5663 (XNU_RELOCATOR): New macro.
5664 (grub_xnu_launcher_start): Remove.
5665 (grub_xnu_launcher_end): Likewise.
5666 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
5667 (grub_xnu_heap_real_start): Remove.
5668 (grub_xnu_heap_start): Change to void *. All users updated.
5669 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
5670 * lib/i386/relocator.c: New file.
5671 * lib/i386/relocator_asm.S: Likewise.
5672 * lib/i386/relocator_backward.S: Likewise.
5673 * lib/mips/relocator.c: Likewise.
5674 * lib/mips/relocator_asm.S: Likewise.
5675 * lib/relocator.c: Likewise.
5676 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
5678 (playground): Likewise.
5679 (grub_multiboot_payload_orig): New variable.
5680 (grub_multiboot_payload_dest): Likewise.
5681 (grub_multiboot_payload_size): Likewise.
5682 (grub_multiboot_payload_eip): Likewise.
5683 (grub_multiboot_payload_esp): Likewise.
5684 (grub_multiboot_boot): Use grub_relocator32_boot.
5685 (grub_multiboot_unload): Free relocators.
5686 (grub_multiboot): Setup stack. Use relocators.
5687 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
5688 (grub_multiboot_load_elfXX): Use relocators.
5689 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
5690 (grub_multiboot_payload_size): Likewise.
5691 (grub_multiboot_payload_dest): Likewise.
5692 (grub_multiboot_payload_entry_offset): Likewise.
5693 (grub_multiboot_forward_relocator): Likewise.
5694 (grub_multiboot_backward_relocator): Likewise.
5695 (grub_multiboot_real_boot): Likewise.
5696 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
5697 (grub_xnu_entry_point): Likewise.
5698 (grub_xnu_arg1): Likewise.
5699 (grub_xnu_stack): Likewise.
5700 (grub_xnu_launch): Removed.
5701 (grub_xnu_boot_resume): New function.
5702 (grub_xnu_boot): Use relocators.
5703 * loader/i386/xnu_helper.S: Removed.
5704 * loader/xnu.c (grub_xnu_heap_start): New variable.
5705 (grub_xnu_heap_size): Likewise.
5706 (grub_xnu_heap_malloc): Use relocators.
5707 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
5709 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5711 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
5714 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5716 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
5717 GRUB_ERR_NONE before calling grub_env_set.
5719 2009-12-12 Robert Millan <rmh@aybabtu.com>
5721 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
5722 * genmk.rb (video): New variable.
5723 (CLEANFILES, VIDEOFILES): Add #{video}.
5724 (#{video}): New target rule.
5725 * genvideolist.sh: New file.
5726 * Makefile.in (pkglib_DATA): Add video.lst.
5727 (video.lst): New target rule.
5728 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
5730 * util/grub.d/30_os-prober.in: Replace `vbe' with
5731 ${GRUB_VIDEO_BACKEND}.
5733 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
5735 * THANKS: Add David Miller.
5737 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5739 libpciaccess support.
5741 * Makefile.in (LIBPCIACCESS): New variable.
5742 (enable_grub_emu_pci): Likewise.
5743 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
5744 util/pci.c and commands/lspci.c.
5745 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
5746 * configure.ac (grub-emu-pci): New option.
5747 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
5748 (grub_pci_device_unmap_range): Likewise.
5749 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
5750 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
5751 (grub_pci_address_t) [!GRUB_UTIL]: New type.
5752 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
5753 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
5754 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
5755 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
5756 * include/grub/pciutils.h: New file.
5757 * util/pci.c: Likewise.
5759 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
5761 * util/misc.c: Don't include <errno.h> twice.
5763 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
5765 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
5766 name in an error message.
5767 (grub_biosdisk_rw): Likewise.
5769 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5771 Eliminate NTFS 4Gib barrier.
5773 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
5774 (read_run_data): Likewise.
5775 (grub_ntfs_read_run_list): Likewise.
5776 (grub_ntfs_read_block): Likewise.
5777 (grub_ntfs_iterate_dir): Likewise.
5778 (read_mft): Likewise.
5779 (read_data): Likewise.
5781 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
5782 to avoid 64-bit division
5783 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
5784 (grub_ntfs_rlst): Use grub_disk_addr_t.
5786 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5788 Eliminate grub-fstest 4Gib barrier.
5790 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
5791 (read_file): Fix error reporting.
5793 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5795 Eliminate hexdump 4Gib barrier.
5797 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
5798 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
5800 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5802 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
5805 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
5807 Remove miscellaneous files in distclean target.
5809 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
5811 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
5813 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
5814 if they're already set. This resolves the conflict between my
5815 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
5816 fixing the --grub-probe option again.
5817 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
5818 change on 2009-10-06, so that we now once again source
5819 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5821 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
5823 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
5824 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
5827 2009-12-08 Carles Pina i Estany <carles@pina.cat>
5829 * include/grub/misc.h (grub_printf_): New declaration.
5830 * kern/misc.c (grub_printf_): New definition.
5831 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
5832 instead of `grub_printf' and `_'.
5833 * normal/menu_entry.c (store_completion): Likewise.
5835 (grub_menu_entry_run): Likewise.
5836 * normal/menu_text.c (grub_wait_after_message): Likewise.
5837 (notify_booting): Likewise.
5838 (notify_fallback): Likewise.
5839 (notify_execution_failure): Likewise.
5841 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
5843 * configure.ac: Check for vasprintf.
5844 * util/misc.c (asprintf): Move allocation from here ...
5845 (vasprintf): ... to here. New function.
5846 (xasprintf): New function.
5847 * include/grub/util/misc.h (vasprintf, xasprintf): Add
5849 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5850 * util/grub-mkfont.c (write_font): Likewise.
5851 * util/grub-probe.c (probe): Likewise.
5852 * util/hostdisk.c (make_device_name): Likewise.
5854 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
5856 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
5857 anything even prefixed with 'cdrom' as a cdrom.
5859 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
5861 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
5864 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5866 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
5867 grub_gettext_msg_list.
5868 (grub_gettext_gettranslation_from_position): Return const char *
5870 (grub_gettext_translate): Add the translated strings into a list,
5871 returns from the list if existing there.
5872 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
5873 (grub_gettext_delete_list): Delete the list.
5874 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
5875 lang environment variable is changed.
5876 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
5878 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5880 Rename kernel.mod to kernel.img.
5882 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
5883 (kernel_mod_EXPORTS): Rename to ...
5884 (kernel_img_EXPORTS): ... this.
5885 (kernel_mod_SOURCES): Rename to ...
5886 (kernel_img_SOURCES): ... this.
5887 (kernel_mod_HEADERS): Rename to ...
5888 (kernel_img_HEADERS): ... this. All users updated.
5889 (kernel_mod_CFLAGS): Rename to ...
5890 (kernel_img_CFLAGS): ... this.
5891 (kernel_mod_ASFLAGS): Rename to ...
5892 (kernel_img_ASFLAGS): ... this.
5893 (kernel_mod_LDFLAGS): Rename to ...
5894 (kernel_img_LDFLAGS): ... this.
5895 * conf/x86_64-efi.rmk: Likewise.
5896 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
5897 (read_kernel_image): ... this. All users updated.
5898 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
5900 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5902 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
5903 (print_spaces): New function.
5904 (grub_print_ucs4): New function.
5905 (getstringwidth): New function.
5906 (print_message_indented): New function.
5907 (print_message): Gettexttize strings using print_message_indented.
5908 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
5910 (get_entry_number): Gettextize and uses dynamic terminal width.
5911 (notify_booting, notify_fallback, notify_execution_failure):
5913 * normal/menu_entry.c (store_completion): Cleanup the gettextized
5916 (grub_menu_entry_run): Likewise.
5917 * PO/POTFILES: Add normal/menu_entry.c.
5919 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5921 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
5923 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5925 * util/grub-install.in: Install gettext .mo files.
5926 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
5928 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5930 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
5933 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
5935 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
5936 non-firmware-dependant one in realmode.S takes precedence.
5938 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
5940 * commands/halt.c: Replace misc arch-specific headers with
5942 * commands/reboot.c: Likewise.
5943 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
5945 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
5946 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
5947 (kernel_img_SOURCES): ... to here.
5949 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
5950 * include/grub/i386/pc/init.h: Likewise.
5951 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5952 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5954 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
5956 * include/grub/i386/halt.h: Remove.
5957 * include/grub/i386/reboot.h: Likewise.
5959 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
5961 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
5963 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
5964 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
5965 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
5967 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5968 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5969 (usage): Add missing comma in printf.
5971 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
5973 Use the same reboot approach on i386 coreboot and qemu as we do on
5976 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
5977 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
5978 * kern/i386/reboot.c: Remove.
5979 * include/grub/i386/reboot.h (grub_reboot): Export function.
5980 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
5981 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
5982 0xf000:0xfff0 instead of 0xffff:0x0000.
5983 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
5984 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
5986 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
5988 Fix $srcdir != $objdir build.
5990 * Makefile.in (po/%.po): Rewrite as ...
5991 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
5993 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
5995 Fix GNU/Hurd grub-install crash.
5996 * util/grub-probe.c (probe): Try to access `path' only when it is not
5999 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6001 Correct module naming.
6003 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6004 (GRUB_MOD_INIT(efi_uga)): ... to this
6005 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6006 (GRUB_MOD_FINI(efi_uga)): ... to this
6007 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6008 (GRUB_MOD_INIT(efi_gop)): ... to this
6009 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6010 (GRUB_MOD_FINI(efi_gop)): ... to this
6012 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6014 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6016 (usage): Translate `arg' strings using gettext().
6017 Thanks to Jordi Mallach for the suggestion.
6019 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6021 GOP support. Based on patch from Bean
6022 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6024 * video/efi_gop.c: New file.
6025 * include/grub/efi/graphics_output.h: Likewise.
6026 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6027 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6029 * conf/x86_64-efi.rmk: Likewise.
6031 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6033 Rename efi_fb to efi_uga.
6035 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6037 (efi_fb_mod_SOURCES): Rename this ...
6038 (efi_uga_mod_SOURCES): ... to this.
6039 (efi_fb_mod_CFLAGS): Rename this ...
6040 (efi_uga_mod_CFLAGS): ... to this.
6041 (efi_fb_mod_LDFLAGS): Rename this ...
6042 (efi_uga_mod_LDFLAGS): ... to this.
6043 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6045 (efi_fb_mod_SOURCES): Rename this ...
6046 (efi_uga_mod_SOURCES): ... to this.
6047 (efi_fb_mod_CFLAGS): Rename this ...
6048 (efi_uga_mod_CFLAGS): ... to this.
6049 (efi_fb_mod_LDFLAGS): Rename this ...
6050 (efi_uga_mod_LDFLAGS): ... to this.
6051 * video/efi_fb.c: Move this ...
6052 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6054 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6056 * po/README: New file. Explain our PO file workflow.
6058 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6060 * po/ChangeLog: Remove. Move relevant entries back to ...
6061 * ChangeLog: ... here.
6062 * po/ca.po: Remove (now handled by TLP).
6063 * po/id.po: Likewise.
6064 * po/zh_CN.po: Likewise.
6065 * Makefile.in (LINGUAS): Initialize in a way that supports
6068 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6070 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6071 reliing on po/LINGUAS.
6072 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6073 (po/%.po): ... this.
6075 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6077 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6078 (main): Use `program_name' instead of nonexistent `progname'.
6080 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6082 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6083 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6085 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6087 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6089 * conf/i386-efi.rmk: Likewise.
6090 * conf/i386-ieee1275.rmk: Likewise.
6091 * conf/powerpc-ieee1275.rmk: Likewise.
6092 * conf/sparc64-ieee1275.rmk: Likewise.
6093 * conf/x86_64-efi.rmk: Likewise.
6095 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6097 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6099 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6101 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6103 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6105 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6106 (grub_mkdevicemap_SOURCES): New variable.
6107 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6108 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6109 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6110 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6111 (grub_mkdevicemap_SOURCES): Remove.
6112 * conf/i386-efi.rmk: Likewise.
6113 * conf/i386-ieee1275.rmk: Likewise.
6114 * conf/i386-pc.rmk: Likewise.
6115 * conf/powerpc-ieee1275.rmk: Likewise.
6116 * conf/sparc64-ieee1275.rmk: Likewise.
6117 * conf/x86_64-efi.rmk: Likewise.
6118 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6119 (usage): Fix strings to use `program_name'.
6120 (main): Initialize gettext.
6121 * util/grub-editenv.c: Likewise.
6122 * util/grub-emu.c: Likewise.
6123 * util/grub-fstest.c: Likewise.
6124 * util/grub-mkdevicemap.c: Likewise.
6125 * util/grub-mkfont.c: Likewise.
6126 * util/grub-mkrelpath.c: Likewise.
6127 * util/grub-pe2elf.c: Likewise.
6128 * util/grub-probe.c: Likewise.
6129 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6130 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6131 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6133 * util/misc.c: Include `"progname.h"'.
6134 (progname): Remove variable.
6135 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6137 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6139 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6140 printf and print a newline after the menuentry header line.
6141 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6143 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6145 autoconf >= 2.60 support $(localedir).
6147 * INSTALL: Note that autoconf 2.60 is required.
6148 * configure.ac (AC_PREREQ): Bump to 2.60.
6149 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6150 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6152 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6154 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6157 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6159 * normal/main.c (grub_normal_read_line): Fix off-by-one
6162 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6164 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6165 "parser.grub" in grub_command_execute() call.
6167 2009-11-24 Carles Pina i Estany <carles@pina.cat>
6169 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6170 * conf/i386-efi.rmk: Likewise.
6171 * conf/i386-ieee1275.rmk: Likewise.
6172 * conf/i386-pc.rmk: Likewise.
6173 * conf/powerpc-ieee1275.rmk: Likewise.
6174 * conf/sparc64-ieee1275.rmk: Likewise.
6175 * conf/x86_64-efi.rmk: Likewise.
6176 * gettext/gettex.c: Include <grub/i18n.h>.
6177 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6179 * include/grub/i18n.h: ... to here
6180 * include/grub/i18n.h: ... to here.
6181 * kern/misc.c: Include <grub/i18n.h>
6182 (grub_gettext_dummy): Move above user.
6184 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6186 * util/Makefile.in (install-local): Convert a `for' into a normal
6189 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6191 * autogen.sh: Add automake call.
6192 * config.guess: Remove.
6193 * config.sub: Likewise.
6194 * install-sh: Likewise.
6196 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6198 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6200 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6202 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6203 function to a normal shell `for'.
6205 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6207 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6209 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6211 * util/grub-mkrelpath.c: New file.
6212 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6213 (grub_mkrelpath_SOURCES): New variable.
6214 * include/grub/util/misc.h: New function prototype.
6215 * util/misc.c (make_system_path_relative_to_its_root): New function.
6217 * util/grub-mkconfig_lib.in (bindir): New variable.
6218 (grub_mkrelpath): Likewise.
6219 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6221 * util/probe.c (probe): Make the file path relative to its root.
6222 Change a info message to use the GRUB path. Enable again the
6223 check if we can read the file with GRUB facilities.
6225 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6228 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6230 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6233 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6235 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6238 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6240 * util/getroot.c (grub_util_is_dmraid): New function.
6241 (grub_util_get_dev_abstraction): Treat dmraid and multipath
6242 devices as normal ones, not as LVM.
6244 2009-11-23 Carles Pina i Estany <carles@pina.cat>
6246 * conf/common.rmk: Add grub-gettext_lib target and updates
6247 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
6249 * gettext/gettext.c: New file. (Reads mo files).
6250 * include/grub/file.h (grub_file_pread): New prototype.
6251 * include/grub/i18n.h (_): New prototype.
6252 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
6254 * kern/misc.c (grub_gettext_dummy): New function.
6255 * normal/menu_text.c: Include <grub/i18n.h>.
6256 * normal/menu_text.c (print_timeout): Gettexttize string.
6257 * normal/menu_text.c (print_message): Gettexttize string.
6258 * po/POTFILES: Add `normal/menu_text.c'.
6259 * po/ca.po: Add new translations.
6260 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
6261 gettext module and defines locale_dir and lang in grub.cfg.
6262 * NEWS: Add gettext support.
6264 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6266 * util/hostdisk.c: Include `<grub/i18n.h>'.
6267 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
6268 (make_device_name): Rewrite using asprintf.
6269 (convert_system_partition_to_system_disk): Replace 0 with NULL.
6270 (find_system_device): If a device is not found, generate one just
6271 by reusing the OS path name.
6272 (read_device_map): Make it permissible for device.map not to exist.
6274 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6276 * script/sh/execute.c: Move from here ...
6277 * script/execute.c: ... to here. Update all users.
6278 * script/sh/function.c: Move from here ...
6279 * script/function.c: ... to here. Update all users.
6280 * script/sh/lexer.c: Move from here ...
6281 * script/lexer.c: ... to here. Update all users.
6282 * script/sh/main.c: Move from here ...
6283 * script/main.c: ... to here. Update all users.
6284 * script/sh/parser.y: Move from here ...
6285 * script/parser.y: ... to here. Update all users.
6286 * script/sh/script.c: Move from here ...
6287 * script/script.c: ... to here. Update all users.
6289 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6291 * configure.ac: Detect all `emu' platforms. Define
6292 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
6293 --enable-grub-emu logic. Disable include/grub/machine
6294 symlink on `emu' platforms.
6296 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
6297 * gensymlist.sh.in: Likewise.
6299 * include/grub/i386/coreboot/machine.h: Remove file.
6300 * include/grub/i386/efi/machine.h: Likewise.
6301 * include/grub/i386/ieee1275/machine.h: Likewise.
6302 * include/grub/i386/pc/machine.h: Likewise.
6303 * include/grub/i386/qemu/machine.h: Likewise.
6304 * include/grub/powerpc/ieee1275/machine.h: Likewise.
6305 * include/grub/sparc64/ieee1275/machine.h: Likewise.
6306 * include/grub/x86_64/efi/machine.h: Likewise.
6308 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
6309 * commands/halt.c: Likewise.
6310 * commands/reboot.c: Likewise.
6311 * include/grub/autoefi.h: Likewise.
6312 * include/grub/i386/at_keyboard.h: Likewise.
6313 * include/grub/i386/kernel.h: Likewise.
6314 * include/grub/i386/loader.h: Likewise.
6315 * include/grub/i386/pc/memory.h: Likewise.
6316 * kern/dl.c: Likewise.
6317 * kern/i386/coreboot/init.c: Likewise.
6318 * loader/i386/bsd.c: Likewise.
6319 * loader/i386/linux.c: Likewise.
6320 * loader/multiboot_loader.c: Likewise.
6321 * term/i386/pc/serial.c: Likewise.
6322 * term/usb_keyboard.c: Likewise.
6324 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
6325 `<grub/machine/machine.h>'
6326 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
6327 * util/misc.c: Remove `<grub/machine/machine.h>' and
6328 `<grub/machine/time.h>'.
6330 * Makefile.in (enable_grub_emu): Remove variable.
6331 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
6333 * conf/any-emu.rmk: New file.
6334 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
6335 (grub_emu_init.c): Move from here ...
6336 * conf/any-emu.rmk: ... to here.
6338 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
6339 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
6340 * conf/any-emu.rmk: ... to here.
6342 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6344 * include/grub/parser.h (grub_parser_register): Document need
6345 of `name' parameter.
6346 * normal/main.c (grub_normal_read_line): Simplify prompt string.
6347 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
6350 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6352 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
6354 * include/grub/i18n.h (N_): New macro.
6355 * util/mkisofs/mkisofs.h: Likewise.
6356 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
6358 (usage): Use gettext() to translate help strings when printing them.
6360 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6362 Based on patch from Bean
6363 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6365 * video/efi_fb.c: New file.
6366 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
6367 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6369 * conf/x86_64-efi.rmk: Likewise.
6371 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
6373 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
6374 * util/i386/pc/grub-setup.c: Likewise.
6376 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6378 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
6380 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
6381 file_get_storage_info to implement grub_guess_root_device.
6383 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6385 * Makefile.in (target): Use make's builtin $(shell) function
6386 instead of calling directly $(SHELL) to create the locale directories,
6387 inside the $(foreach) function.
6389 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6391 * util/grub-mkrescue.in: Print an error and usage if output option
6394 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6396 Patch from Loïc Minier <loic.minier@ubuntu.com>.
6397 * util/grub.d/30_os-prober.in: Cope with Linux entries where
6398 root and /boot are on different devices.
6400 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6402 Fix build for srcdir != objdir.
6404 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
6405 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
6407 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
6408 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
6409 reference for input.
6411 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6413 * util/grub-mkrescue.in: Use source directory direcly (without copiing
6414 or hardlinking it). Remove -J option, Joliet is not compatible with
6415 multiple source directories.
6417 2009-11-21 Carles Pina i Estany <carles@pina.cat>
6418 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6420 * util/grub-mkrescue.in: Recognize `--override-directory' option.
6421 (process_input_dir): New function. Process an arbitrary input
6423 Misc adjustments to support both "override mode" and system-wide mode.
6425 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6427 * configure.ac (UNIFONT_BDF): Rename to ...
6428 (FONT_SOURCE): ... this. Update all users.
6430 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6432 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
6433 to the list of unifont files to look for.
6435 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6437 Patch from Joe Auricchio <jauricchio@gmail.com>
6438 * commands/minicmd.c (grub_mini_cmd_clear): New function.
6439 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
6440 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
6442 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6444 * Makefile.in (install-local): Add a missing backslash.
6446 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6448 * include/grub/x86_64/io.h: New file.
6450 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6452 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
6453 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
6454 Include `"progname.h"'.
6455 (main): Initialize gettext.
6456 * util/i386/pc/grub-setup.c: Gettexttize.
6457 * util/i386/pc/grub-mkimage.c: Likewise.
6459 * Makefile.in (po/*.po): Redefine as ...
6460 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
6462 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
6464 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6466 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
6467 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
6468 (program_name): Remove.
6469 (main): Initialize gettext support.
6470 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
6471 Include `<libintl.h>'.
6474 * util/mkisofs/eltorito.c: Gettexttize.
6475 * util/mkisofs/joliet.c: Likewise.
6476 * util/mkisofs/mkisofs.c: Likewise.
6477 * util/mkisofs/multi.c: Likewise.
6478 * util/mkisofs/rock.c: Likewise.
6479 * util/mkisofs/tree.c: Likewise.
6480 * util/mkisofs/write.c: Likewise.
6482 * po/POTFILES: Update with new files.
6484 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6486 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
6487 * util/mkisofs/iso9660.h: Likewise.
6488 * util/mkisofs/joliet.c: Likewise.
6489 * util/mkisofs/mkisofs.c: Likewise.
6490 * util/mkisofs/mkisofs.h: Likewise.
6491 * util/mkisofs/rock.c: Likewise.
6492 * util/mkisofs/tree.c: Likewise.
6493 * util/mkisofs/write.c: Likewise.
6495 * util/mkisofs/eltorito.c (rcsid): Remove.
6496 * util/mkisofs/hash.c: Likewise.
6497 * util/mkisofs/joliet.c: Likewise.
6498 * util/mkisofs/name.c: Likewise.
6499 * util/mkisofs/rock.c: Likewise.
6500 * util/mkisofs/tree.c: Likewise.
6501 * util/mkisofs/write.c: Likewise.
6503 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6505 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
6506 instead of static allocation.
6507 * util/mkisofs/match.h: Likewise.
6509 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6511 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
6512 and `util/grub.d/10_linux.in'.
6513 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
6514 translatable Shell files.
6516 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6518 * Makefile.in ($(srcdir)/aclocal.m4): New target.
6520 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6522 * INSTALL: Document Automake is needed for bootstrap.
6523 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
6524 * util/grub.d/10_kfreebsd.in (bindir): New variable.
6525 Add gettext initialization.
6526 (kfreebsd_entry): Make menuentry output translatable.
6528 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6530 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
6531 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
6532 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
6533 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
6534 (LINGUAS): Auto-generate using `po/LINGUAS'.
6535 * po/LINGUAS: New file.
6537 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6539 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
6541 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
6542 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
6543 bindtextdomain() calls for gettext initialization.
6545 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6547 * gnulib/progname.c: New file (imported from Gnulib).
6548 * gnulib/progname.h: Likewise.
6549 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6550 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
6551 (usage): Replace `progname' with `program_name'.
6552 (main): Use set_program_name() for program name initialization.
6554 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6556 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
6558 * Makefile.in (CPPFLAGS): ... to here.
6560 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6562 * aclocal.m4: Move from here ...
6563 * acinclude.m4: ... to here.
6564 * autogen.sh: Add call to `aclocal'.
6565 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
6567 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6569 * Makefile.in (CLEANFILES): Add `po/*.mo'.
6570 (LINGUAS): New variable.
6571 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
6572 (install-local): Install MO files.
6573 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
6574 * include/grub/i18n.h: New file.
6575 * po/POTFILES: New file.
6576 * po/ca.po: New file.
6577 * util/grub.d/10_linux.in (bindir): New variable.
6578 Add gettext initialization.
6579 (linux_entry): Make menuentry output translatable.
6580 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
6581 (usage): Make --help output translatable.
6582 (main): Initialize gettext.
6584 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6586 * import_gcry.py: New file (written by Vladimir with minor
6588 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
6590 * INSTALL: Document that Python is required for bootstrap.
6592 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6594 Import ciphers from libgcrypt 1.4.4.
6596 * lib/libgcrypt/cipher/ChangeLog
6597 * lib/libgcrypt/cipher/ac.c
6598 * lib/libgcrypt/cipher/arcfour.c
6599 * lib/libgcrypt/cipher/bithelp.h
6600 * lib/libgcrypt/cipher/blowfish.c
6601 * lib/libgcrypt/cipher/camellia-glue.c
6602 * lib/libgcrypt/cipher/camellia.c
6603 * lib/libgcrypt/cipher/camellia.h
6604 * lib/libgcrypt/cipher/cast5.c
6605 * lib/libgcrypt/cipher/cipher.c
6606 * lib/libgcrypt/cipher/crc.c
6607 * lib/libgcrypt/cipher/des.c
6608 * lib/libgcrypt/cipher/dsa.c
6609 * lib/libgcrypt/cipher/ecc.c
6610 * lib/libgcrypt/cipher/elgamal.c
6611 * lib/libgcrypt/cipher/hash-common.c
6612 * lib/libgcrypt/cipher/hash-common.h
6613 * lib/libgcrypt/cipher/hmac-tests.c
6614 * lib/libgcrypt/cipher/md.c
6615 * lib/libgcrypt/cipher/md4.c
6616 * lib/libgcrypt/cipher/md5.c
6617 * lib/libgcrypt/cipher/primegen.c
6618 * lib/libgcrypt/cipher/pubkey.c
6619 * lib/libgcrypt/cipher/rfc2268.c
6620 * lib/libgcrypt/cipher/rijndael-tables.h
6621 * lib/libgcrypt/cipher/rijndael.c
6622 * lib/libgcrypt/cipher/rmd.h
6623 * lib/libgcrypt/cipher/rmd160.c
6624 * lib/libgcrypt/cipher/rsa.c
6625 * lib/libgcrypt/cipher/seed.c
6626 * lib/libgcrypt/cipher/serpent.c
6627 * lib/libgcrypt/cipher/sha1.c
6628 * lib/libgcrypt/cipher/sha256.c
6629 * lib/libgcrypt/cipher/sha512.c
6630 * lib/libgcrypt/cipher/tiger.c
6631 * lib/libgcrypt/cipher/twofish.c
6632 * lib/libgcrypt/cipher/whirlpool.c
6634 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6636 Fix build for systems without error().
6638 * gnulib/error.c: New file (imported from Gnulib).
6639 * gnulib/error.h: Likewise.
6640 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
6641 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
6642 (this variable is now used by error()).
6644 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6646 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
6647 instead of relying that char is signed.
6649 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6651 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
6652 blocksize different from specified.
6653 (grub_pxefs_read): Likewise.
6655 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6657 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
6659 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
6660 (grub_ata_readwrite): Likewise. Update 2 format strings.
6661 (grub_atapi_read): Likewise.
6663 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
6664 * conf/i386.rmk (pkglib_MODULES): ... to here ...
6665 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
6666 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
6667 (ata_mod_LDFLAGS): Move from here ...
6668 * conf/i386.rmk: ... to here ...
6669 * conf/x86_64-efi.rmk: ... and here.
6670 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
6671 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
6673 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6675 Relicense multiboot.h, with RMS' blessing.
6677 * include/multiboot.h: Change to X11 license.
6679 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
6681 Support --version in grub-mkisofs.
6683 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
6684 (OPTION_VERSION): New macro.
6685 (ld_options): Recognize --version.
6686 (usage): Move `program_name' from here ...
6687 (program_name): ... to here. Add `static' qualifier.
6688 (main): Recognize `OPTION_VERSION'.
6690 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
6692 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
6693 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
6695 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6697 Fix help2man generation for mkisofs.
6699 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
6700 (usage): Send output to stdout (rather than stderr).
6702 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6704 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
6705 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6706 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
6707 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6708 (bin_SCRIPTS): Add `grub-mkfloppy'.
6709 (grub_mkfloppy_SOURCES): New variable.
6711 * util/grub-mkrescue.in: New file.
6712 * util/i386/pc/grub-mkfloppy.in: New file.
6714 * util/i386/coreboot/grub-mkrescue.in: Remove.
6715 * util/i386/pc/grub-mkrescue.in: Remove.
6717 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6719 * include/grub/multiboot.h (struct grub_multiboot_header): Move
6721 * include/multiboot.h (struct multiboot_header): ... to here. Update
6723 * include/grub/multiboot.h (struct grub_multiboot_info): Move
6725 * include/multiboot.h (struct multiboot_info): ... to here. Update
6727 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
6729 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
6731 * include/grub/multiboot.h (struct grub_mod_list): Move
6733 * include/multiboot.h (struct multiboot_mod_list): ... to here.
6736 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6738 * include/multiboot2.h (multiboot_word): Rename from this ...
6739 (multiboot2_word): ... to this. Update all users.
6740 (multiboot_header): Rename from this ...
6741 (multiboot2_header): ... to this. Update all users.
6742 (multiboot_tag_header): Rename from this ...
6743 (multiboot2_tag_header): ... to this. Update all users.
6744 (multiboot_tag_start): Rename from this ...
6745 (multiboot2_tag_start): ... to this. Update all users.
6746 (multiboot_tag_name): Rename from this ...
6747 (multiboot2_tag_name): ... to this. Update all users.
6748 (multiboot_tag_module): Rename from this ...
6749 (multiboot2_tag_module): ... to this. Update all users.
6750 (multiboot_tag_memory): Rename from this ...
6751 (multiboot2_tag_memory): ... to this. Update all users.
6752 (multiboot_tag_unused): Rename from this ...
6753 (multiboot2_tag_unused): ... to this. Update all users.
6754 (multiboot_tag_end): Rename from this ...
6755 (multiboot2_tag_end): ... to this. Update all users.
6757 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6759 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
6760 this platform we should support Multiboot1 first.
6762 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6763 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
6764 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
6766 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6768 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
6769 of write calls (converting them to fwrite() if they aren't already).
6770 (get_torito_desc): Likewise.
6771 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
6773 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6775 * util/i386/pc/grub-install.in: Move from here ...
6776 * util/grub-install.in: ... to here. Update all users.
6778 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
6780 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
6782 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6784 Support for El Torito without floppy emulation.
6786 * util/mkisofs/eltorito.c: Include `<errno.h>'.
6787 (init_boot_catalog): Improve error handling.
6788 (get_torito_desc): Don't use floppy emulation unless requested by
6789 user. Patch boot information table when requested via
6791 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
6792 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
6793 (use_boot_info_table): New variables.
6794 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
6795 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
6796 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
6797 `--eltorito-emul-floppy'.
6798 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
6799 and `OPTION_ELTORITO_EMUL_FLOPPY'.
6800 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
6801 (use_boot_info_table, get_731): New prototypes.
6802 * util/mkisofs/write.c (get_731): New function.
6804 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
6806 Fix the generation of the man page.
6808 * util/pc/i386/grub-install.in: Source
6809 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6811 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6813 Large file support for grub-mkisofs.
6815 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
6816 * util/mkisofs/mkisofs.c (next_extent, last_extent)
6817 (session_start): Upgrade type to `uint64_t'. Update all users.
6818 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
6819 (struct directory_entry): Upgrade type of `starting_block' and
6820 `size' to `uint64_t'. Update all users.
6821 (struct deferred): Remove unused structure.
6822 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
6824 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
6825 file is larger than `UINT32_MAX'.
6826 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
6827 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
6829 (struct deferred_write): Upgrade type of `extent' and `size' to
6830 `uint64_t'. Update all users.
6831 (last_extent_written): Upgrade type to `uint64_t'. Update all
6833 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
6834 Update all users. Upgrade type of `remain' to `int64_t' and
6835 `use' to `size_t'. Use error() to handle fread() errors.
6836 (write_files): Rely on write_one_file() rather than calling
6839 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
6841 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
6843 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6845 * util/mkisofs/fnmatch.c: Remove.
6846 * util/mkisofs/getopt1.c: Likewise.
6847 * util/mkisofs/getopt.c: Likewise.
6848 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
6849 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
6850 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
6851 `gnulib/getopt1.c' and `gnulib/getopt.c'.
6852 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
6854 * configure.ac: Detect `mingw32msvc' host_os.
6855 Check for lstat(), getuid() and getgid().
6857 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
6858 instances of `u_char' with `uint8_t'.
6860 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
6861 [!HAVE_GETUID] (getuid): New function (stub).
6862 [!HAVE_GETGID] (getgid): Likewise.
6863 [!HAVE_LSTAT] (lstat): Likewise.
6864 [!S_IROTH] (S_IROTH): New macro (dummy).
6865 [!S_IRGRP] (S_IRGRP): Likewise.
6867 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6869 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
6870 conditional expression).
6872 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6876 * gnulib/fnmatch.c: New file.
6877 * gnulib/fnmatch.h: Likewise.
6878 * gnulib/fnmatch_loop.c: Likewise.
6879 * gnulib/getopt.c: Likewise.
6880 * gnulib/getopt.h: Likewise.
6881 * gnulib/getopt1.c: Likewise.
6882 * gnulib/getopt_int.h: Likewise.
6883 * gnulib/gettext.h: Likewise.
6885 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6887 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
6888 * normal/handler.c (read_handler_list): Likewise.
6890 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6894 * kern/command.c (grub_register_command_prio): Use
6895 grub_zalloc() instead of explicitly zeroing data.
6896 * kern/list.c: Include `<grub/mm.h>'.
6897 (grub_named_list_find): Replace `0' with `NULL'.
6898 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
6899 (fs_module_list): Change type to `grub_named_list_t'. Update all
6901 * normal/dyncmd.c (read_command_list): Add space between function
6902 call and parenthesis.
6903 * normal/handler.c (read_handler_list): Likewise.
6905 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6907 * normal/auth.c (punishment_delay): Moved from here ...
6908 (grub_auth_strcmp): ... to here (inside function).
6910 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6912 * include/grub/list.h (struct grub_named_list): Remove `const'
6913 qualifier from `name'.
6914 (struct grub_prio_list): Likewise.
6916 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6918 * normal/auth.c: Include `<grub/time.h>'.
6919 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
6921 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6923 * normal/auth.c (punishment_delay): New variable.
6924 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
6925 (grub_auth_check_authentication): Punish failed login attempts with
6926 an incremental (2^N) delay.
6928 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6930 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
6931 path with $(srcdir).
6933 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6935 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
6937 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6939 * util/i386/coreboot/grub-mkrescue.in: New file.
6940 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
6943 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
6944 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
6945 * configure.ac: Add header and function checks to satisfy grub-mkisofs
6947 * util/mkisofs/defaults.h: New file.
6948 * util/mkisofs/eltorito.c: Likewise.
6949 * util/mkisofs/exclude.h: Likewise.
6950 * util/mkisofs/fnmatch.c: Likewise.
6951 * util/mkisofs/getopt.c: Likewise.
6952 * util/mkisofs/getopt1.c: Likewise.
6953 * util/mkisofs/hash.c: Likewise.
6954 * util/mkisofs/include/fctldefs.h: Likewise.
6955 * util/mkisofs/include/mconfig.h: Likewise.
6956 * util/mkisofs/include/prototyp.h: Likewise.
6957 * util/mkisofs/include/statdefs.h: Likewise.
6958 * util/mkisofs/iso9660.h: Likewise.
6959 * util/mkisofs/joliet.c: Likewise.
6960 * util/mkisofs/match.c: Likewise.
6961 * util/mkisofs/match.h: Likewise.
6962 * util/mkisofs/mkisofs.c: Likewise.
6963 * util/mkisofs/mkisofs.h: Likewise.
6964 * util/mkisofs/multi.c: Likewise.
6965 * util/mkisofs/name.c: Likewise.
6966 * util/mkisofs/rock.c: Likewise.
6967 * util/mkisofs/tree.c: Likewise.
6968 * util/mkisofs/write.c: Likewise.
6970 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6972 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
6975 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6977 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
6978 `grub-mkimage' (and use $0 when possible).
6980 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6982 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
6983 error message for excessively large memory map.
6985 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6987 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
6990 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6992 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
6993 message for coreboot users.
6995 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
6997 Fix build with GNU gold.
6999 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7000 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7001 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7003 * aclocal.m4: Likewise.
7005 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
7007 * configure.ac (AC_PREREQ): Bump to 2.59d.
7008 * INSTALL: Make it more clear when Autoconf and Ruby are
7009 needed and when to run `./autogen.sh'.
7011 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7013 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7016 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7018 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7020 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7022 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7023 giving it to GNU Mach.
7025 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7027 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7028 GNU partition number to get internal GRUB partition number.
7030 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7032 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7033 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7035 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7037 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7038 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7041 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
7043 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7045 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7049 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7050 `-isystem=$(srcdir)/include'.
7052 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7054 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7055 checked (grub-install doesn't currently rely on it).
7057 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7061 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7062 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7063 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7064 * conf/i386-ieee1275.rmk: Likewise.
7065 * conf/i386-pc.rmk: Likewise.
7066 * conf/powerpc-ieee1275.rmk: Likewise.
7067 * conf/sparc64-ieee1275.rmk: Likewise.
7068 * conf/x86_64-efi.rmk: Likewise.
7070 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7072 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7074 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7076 * include/grub/misc.h: Stop checking for APPLE_CC.
7078 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7080 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7081 doesn't cause an infinite call loop.
7083 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
7085 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7088 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7090 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7092 * Makefile.in: Likewise.
7094 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7096 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7098 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7100 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7102 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7104 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7106 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7108 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7110 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7112 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7114 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7115 in $(MAKEINFO) invocation. This makes it clear in output that
7116 errors are being ignored.
7118 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7120 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7122 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7123 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7124 * conf/i386-ieee1275.rmk: Likewise.
7125 * conf/i386-pc.rmk: Likewise.
7126 * conf/powerpc-ieee1275.rmk: Likewise.
7127 * conf/sparc64-ieee1275.rmk: Likewise.
7128 * conf/x86_64-efi.rmk: Likewise.
7130 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7132 * util/grub-editenv.c (main): If only a command is given, use
7133 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7134 (usage): FILENAME is now optional and has a default.
7136 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7138 Improve grub-mkconfig performance when there are several menu
7139 entries on a single filesystem.
7141 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7142 prepare_grub_to_access_device.
7143 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7144 * util/grub.d/30_os-prober.in: Likewise.
7146 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7148 * util/grub.d/10_freebsd.in: Remove.
7149 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7150 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7152 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7154 * docs/grub.cfg: Fix example usage of *BSD loaders.
7156 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7158 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7159 grub_util_error() call.
7161 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7163 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7164 `reserved_first_sector' member.
7165 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7166 `reserved_first_sector' to 1.
7167 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7168 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7169 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7170 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7171 filesystems which begin at first sector.
7172 (options): New option --skip-fs-probe.
7173 (main): Handle --skip-fs-probe and pass it to setup().
7175 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7177 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7178 (memset): Fix function prototype.
7180 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7181 2009-10-25 Vasily Averin <vvs@parallels.com>
7183 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7184 `dirent.direntlen == 0'.
7186 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7188 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7190 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7192 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7194 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7195 `__trampoline_setup' and `__ucmpdi2'.
7196 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7197 that libgcc provides.
7199 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7201 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7202 * include/grub/sparc64/libgcc.h (memset): Likewise.
7203 * include/grub/misc.h (memset, memcmp): New function prototypes.
7205 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7207 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7209 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7211 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7213 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7214 * docs/grub.cfg: Compensate for recent change in multiboot
7215 loader (since 2009-08-14 it won't pass filename to payload).
7216 * util/grub.d/10_hurd.in: Likewise.
7218 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
7220 * config.guess: Update to latest version from config git
7222 * config.sub: Likewise.
7224 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7226 Fix build on sparc64.
7228 * configure.ac: Perform checks for libgcc symbols before
7229 adding `-nostdlib' to LDFLAGS.
7231 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7233 Let user specify OpenBSD root device.
7235 * loader/i386/bsd.c (openbsd_root): New variable.
7236 (openbsd_opts): New option 'root'.
7237 (OPENBSD_ROOT_ARG): New macro.
7238 (grub_openbsd_boot): Use 'openbsd_root'.
7239 (grub_cmd_openbsd): Fill 'openbsd_root'.
7241 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7243 * NEWS: Misc adjustments.
7245 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7247 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
7249 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7251 * configure.ac: Bump version to 1.97.
7253 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
7255 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
7256 -mno-3dnow on x86 architectures. Some toolchains enable these
7257 features by default, but they rely on registers that aren't enabled
7258 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
7260 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
7262 Make entry text a bit more readable.
7264 * util/grub.d/10_linux.in: Add `with' before `Linux'.
7266 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7268 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
7270 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7272 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
7275 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7277 * configure.ac: Add missing dollar.
7279 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7281 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
7283 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
7284 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
7286 * include/grub/sparc64/libgcc.h: Likewise. Use
7287 preprocessor conditionals.
7289 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7291 * conf/common.rmk (grub-dumpbios): Remove rule.
7292 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
7293 * util/grub-dumpbios.in: Remove file.
7295 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7297 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
7298 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
7300 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
7301 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
7304 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
7305 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
7306 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
7307 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
7310 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
7312 * term/tparm.c: Switch to GPLv3.
7314 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7316 * include/grub/i386/cpuid.h: Add header protection.
7318 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7320 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
7322 * include/grub/i386/cpuid.h: New file.
7323 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
7324 (has_longmode): Rename to ...
7325 (grub_cpuid_has_longmode): ... this. Update all users. Remove
7327 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
7328 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
7329 on a CPU that doesn't implement AMD64 instruction set.
7331 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7333 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
7334 that version.texi is rebuilt on version number changes.
7336 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7338 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
7341 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7343 * util/i386/pc/grub-install.in: Source
7344 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
7345 that the --grub-probe option will work.
7346 * util/sparc64/ieee1275/grub-install.in: Likewise.
7348 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
7350 * configure.ac: Bump version to 1.97~beta4.
7352 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
7354 Resync grub-mkdevicemap in x86_64-efi.
7356 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
7357 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
7360 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
7362 * util/grub-editenv.c (create_envblk_file): Write new block with a
7363 .new suffix and then rename it into place, to ensure atomic
7366 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
7368 Do not automatically install headers.
7370 * Makefile.in (include_DATA): Remove. Update all users.
7372 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
7374 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
7375 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
7377 * util/osdetect.lua: Remove.
7378 * script/lua/lauxlib.c: Likewise.
7379 * script/lua/ldebug.c: Likewise.
7380 * script/lua/grub_main.c: Likewise.
7381 * script/lua/lauxlib.h: Likewise.
7382 * script/lua/ldebug.h: Likewise.
7383 * script/lua/ltablib.c: Likewise.
7384 * script/lua/liolib.c: Likewise.
7385 * script/lua/lstrlib.c: Likewise.
7386 * script/lua/lualib.h: Likewise.
7387 * script/lua/ldo.c: Likewise.
7388 * script/lua/ldump.c: Likewise.
7389 * script/lua/ldo.h: Likewise.
7390 * script/lua/loslib.c: Likewise.
7391 * script/lua/lundump.c: Likewise.
7392 * script/lua/grub_lib.c: Likewise.
7393 * script/lua/ldblib.c: Likewise.
7394 * script/lua/lundump.h: Likewise.
7395 * script/lua/lmem.c: Likewise.
7396 * script/lua/grub_lib.h: Likewise.
7397 * script/lua/lmathlib.c: Likewise.
7398 * script/lua/lstate.c: Likewise.
7399 * script/lua/ltm.c: Likewise.
7400 * script/lua/lvm.c: Likewise.
7401 * script/lua/lmem.h: Likewise.
7402 * script/lua/lstate.h: Likewise.
7403 * script/lua/ltm.h: Likewise.
7404 * script/lua/ltable.c: Likewise.
7405 * script/lua/lvm.h: Likewise.
7406 * script/lua/llex.c: Likewise.
7407 * script/lua/lgc.c: Likewise.
7408 * script/lua/grub_lua.h: Likewise.
7409 * script/lua/loadlib.c: Likewise.
7410 * script/lua/lfunc.c: Likewise.
7411 * script/lua/lopcodes.c: Likewise.
7412 * script/lua/lparser.c: Likewise.
7413 * script/lua/ltable.h: Likewise.
7414 * script/lua/llex.h: Likewise.
7415 * script/lua/lgc.h: Likewise.
7416 * script/lua/lfunc.h: Likewise.
7417 * script/lua/lbaselib.c: Likewise.
7418 * script/lua/lopcodes.h: Likewise.
7419 * script/lua/lparser.h: Likewise.
7420 * script/lua/lzio.c: Likewise.
7421 * script/lua/linit.c: Likewise.
7422 * script/lua/lobject.c: Likewise.
7423 * script/lua/llimits.h: Likewise.
7424 * script/lua/lstring.c: Likewise.
7425 * script/lua/lzio.h: Likewise.
7426 * script/lua/lapi.c: Likewise.
7427 * script/lua/lcode.c: Likewise.
7428 * script/lua/lua.h: Likewise.
7429 * script/lua/lobject.h: Likewise.
7430 * script/lua/lstring.h: Likewise.
7431 * script/lua/lapi.h: Likewise.
7432 * script/lua/lcode.h: Likewise.
7433 * script/lua/luaconf.h: Likewise.
7435 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
7437 * docs/grub.texi (Command-line and menu entry commands): Document
7438 date and echo commands.
7440 2009-09-24 Pavel Roskin <proski@gnu.org>
7442 * include/grub/kernel.h (struct grub_module_header): Remove
7443 `grub_module_header_types'. Make `type' unsigned. Make `size'
7444 32-bit on all platforms.
7445 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
7446 8-bit field. Use grub_host_to_target32() for `size'.
7447 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
7448 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
7449 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
7451 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7453 Fix "lost keypress" bug in at_keyboard.
7455 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
7456 Checks for readyness of input buffer (without flushing it).
7457 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
7458 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
7460 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7462 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
7463 size check within GRUB_MACHINE_PCBIOS section.
7465 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7467 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
7469 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
7470 KEYBOARD_ISREADY check.
7471 (grub_at_keyboard_checkkey): Rename to ...
7472 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
7473 Remove gratuitous cast.
7475 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
7477 * configure.ac: Call AC_PROG_MKDIR_P.
7478 * Makefile.in (docs/stamp-vti): Create docs directory. Create
7479 version.texi in $(builddir) rather than $(srcdir).
7480 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
7481 to makeinfo's @include search path.
7483 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7485 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
7487 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7489 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
7492 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
7494 Build info documentation. Some code borrowed from Automake.
7496 * configure.ac: Check for makeinfo.
7497 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
7498 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
7500 (MOSTLYCLEANFILES): Add vti.tmp.
7501 (docs/version.texi, docs/stamp-vti): Update automatically.
7502 (docs/grub.info): Build info documentation. Use --force and ignore
7504 (all-local): Add $(INFOS).
7505 (install-local): Install info files.
7506 (uninstall): Uninstall info files.
7507 * docs/version.texi: Remove from revision control. This file is
7508 automatically generated on build now.
7509 * gendistlist.sh: Add `*.info'.
7511 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7513 * kern/term.c: Fix indentation.
7515 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7517 * util/hostdisk.c: Fix a comment.
7519 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
7521 Fix regression introduced in r2539.
7523 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
7526 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
7528 * util/grub.d/30_os-prober.in: Don't throw away stderr from
7529 os-prober. Under normal operation, it does not print anything to
7530 stderr; if it does, we need to debug it, and throwing away stderr
7531 makes that excessively difficult.
7533 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
7535 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
7537 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7539 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
7540 AC_LANG_PROGRAM from autoconf.
7541 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
7542 prototypes (fixes warning).
7544 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
7545 `--disable-werror' was used.
7547 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7549 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
7550 uninitialized `lastaddr'.
7552 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7554 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
7556 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7558 * commands/test.c (get_fileinfo): Return immediately if
7559 grub_fs_probe fails.
7561 2009-09-14 José Martínez <xosemp@gmail.com>
7563 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
7565 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7567 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
7570 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
7572 * configure.ac: Remove --enable-grub-pe2elf. Only build
7573 grub-pe2elf when needed by the build system itself.
7574 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
7576 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7578 * configure.ac: Bump version to 1.97~beta3.
7579 * docs/version.texi: Likewise.
7581 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7583 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
7584 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
7586 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
7587 (grub_linux_setup_video): ... to here (with some adjustments).
7589 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7591 Fix memory corruption issue (spotted by Colin Watson).
7593 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
7594 causing returned size to be stored in an incorrect memory location.
7595 Fix use of uninitialized value when storing the returned size.
7597 2009-09-12 Yves Blusseau <blusseau@zetam.org>
7599 Change clean rules to properly remove files
7601 * genmk.rb: add new clean rules
7602 * Makefile.in (clean): add the new targets
7603 (mostlyclean): likewise
7605 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7607 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
7609 * fs/ntfs.c (init_file): Understand 64-bit sizes for
7612 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7614 * configure.ac: Don't look for help2man when cross-compiling. Fixes
7617 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7619 * util/grub-mkconfig.in: Make the created config mode 400 and
7620 print a warning if it fails.
7622 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
7624 * util/grub.d/40_custom.in: Ask user to type custom entries below
7625 comment, rather than below 'exec tail' line.
7627 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7629 * util/grub.d/40_custom.in: Make sure that the explanatory text is
7630 visible in grub.cfg.
7632 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7634 * util/grub.d/40_custom.in: Make it a little clearer how to use this
7637 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7639 * docs/grub.cfg: Add an example menu entry for memtest86+.
7641 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
7643 * config.guess: Update to latest version from config git.
7644 * config.sub: Likewise.
7646 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
7648 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
7649 unknown-command case. Fixes bug #27320.
7651 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
7653 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
7654 `help' if the command exists.
7656 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
7658 * INSTALL: Require GCC 4.1.3 or later.
7660 2009-09-06 Yves Blusseau <blusseau@zetam.org>
7662 * Makefile.in (RMKFILES): add i386-qemu.rmk
7663 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
7664 $(srcdir)/stamp-h.in
7666 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
7668 * util/grub-probe.c (probe): Comment out buggy codepath, which
7669 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
7670 should be re-enabled after 1.97.
7672 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
7674 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
7677 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7679 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
7680 unnecessary calls to grub_error.
7682 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
7684 * NEWS: Mention `keystatus' and Unicode fonts.
7686 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
7688 * configure.ac: Bump version to 1.97~beta2.
7689 * docs/version.texi: Likewise.
7691 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
7693 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
7694 containing unwind information in some cases where it previously did
7695 not. Use -fno-dwarf2-cfi-asm if available to restore the old
7696 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
7699 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
7701 Embedding loadenv module into grub-emu
7703 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
7705 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
7706 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
7707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
7708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
7709 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
7710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
7712 2009-09-03 Magnus Granberg <zorry@ume.nu>
7714 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
7715 include -fPIE in the default specs.
7716 * configure.ac: Check if pie_possible is yes and add -fno-PIE
7719 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
7721 * INSTALL: Note that GNU Bison 2.3 or later is required.
7723 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
7725 * kern/i386/pc/startup.S: Fix typo.
7727 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7729 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
7732 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7734 * docs/grub.texi (Naming convention): Describe one-based partition
7736 (Device syntax): Likewise.
7737 (File name syntax): Likewise.
7738 (Block list syntax): Likewise.
7739 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
7741 (File name syntax): Likewise.
7742 (Command-line and menu entry commands): Document acpi, blocklist,
7743 crc, export, insmod, keystatus, ls, set, and unset commands.
7745 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7747 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
7748 to avoid implying that only one of --shift, --ctrl, or --alt may be
7751 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7753 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
7754 rather than comparing against S_IFREG, which will almost never work.
7756 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7758 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
7759 (write_blocklists): Likewise.
7761 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
7763 * script/lua/grub_lua.h (fputs): Supply a format string as the first
7764 argument to grub_printf.
7766 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
7768 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
7771 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7773 * kern/file.c (grub_file_read): Spelling fix
7775 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7777 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
7778 loading of headers in some cases.
7780 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
7782 * configure.ac: Bump version to 1.97~beta1.
7783 * docs/version.texi: Likewise.
7785 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7787 * include/grub/i386/xnu.h: Add license header.
7788 include grub/err.h explicitly.
7790 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7792 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
7793 to `ufs' in the vfs.root.mountfrom kernel parameter.
7795 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7797 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
7799 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
7800 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
7802 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
7805 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7807 * kern/file.c (grub_file_read): Check offset.
7808 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
7809 * fs/jfs.c (grub_jfs_read_file): Likewise.
7810 * fs/ntfs.c (grub_ntfs_read): Likewise.
7811 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
7812 * fs/minix.c (grub_minix_read_file): Correct offset check.
7813 * fs/ufs.c (grub_ufs_read_file): Likewise.
7815 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7817 * term/i386/pc/console.c (bios_data_area): Cast
7818 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
7820 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7822 1-bit optimised blitters.
7824 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
7826 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7827 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7828 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7829 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7830 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7831 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7832 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
7834 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7835 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7836 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7837 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7838 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7839 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7840 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
7842 * video/video.c (grub_video_get_blit_format): Return
7843 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
7845 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7847 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
7848 the first argument to grub_printf.
7850 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7851 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
7853 Add `getkeystatus' terminal method. Add a new `keystatus' command
7856 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
7857 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
7858 modifier key bitmasks.
7859 (struct grub_term_input): Add `getkeystatus' member.
7860 (grub_getkeystatus): Add prototype.
7861 * kern/term.c (grub_getkeystatus): New function.
7863 * include/grub/i386/pc/memory.h
7864 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
7865 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
7867 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
7868 (grub_console_term_input): Set `getkeystatus' member.
7869 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
7871 (grub_usb_keyboard_getreport): Likewise.
7872 (grub_usb_keyboard_checkkey): Likewise.
7873 (grub_usb_keyboard_getkeystatus): New function.
7874 (grub_usb_keyboard_term): Set `getkeystatus' member.
7876 * commands/keystatus.c: New file.
7877 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
7878 (keystatus_mod_SOURCES): New variable.
7879 (keystatus_mod_CFLAGS): Likewise.
7880 (keystatus_mod_LDFLAGS): Likewise.
7881 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
7882 commands/keystatus.c.
7883 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7884 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7885 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7887 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7890 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7892 Split befs.mod and afs.mod into *_be.mod and *.mod
7894 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
7895 (grub_fstest_SOURCES): Likewise.
7896 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
7897 (afs_be_mod_SOURCES): New variable.
7898 (afs_be_mod_CFLAGS): Likewise.
7899 (afs_be_mod_LDFLAGS): Likewise.
7900 (befs_be_mod_SOURCES): Likewise.
7901 (befs_be_mod_CFLAGS): Likewise.
7902 (befs_be_mod_LDFLAGS): Likewise.
7903 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
7904 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7905 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7906 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7907 (grub_emu_SOURCES): Likewise.
7908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7909 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7910 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7911 * fs/afs_be.c: New file.
7912 * fs/befs_be.c: New file.
7913 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
7914 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
7915 (U16): Replaced with ...
7916 (grub_afs_to_cpu16): ...this. All users updated.
7917 (U32): Replaced with ...
7918 (grub_afs_to_cpu32): ...this. All users updated.
7919 (U64): Replaced with ...
7920 (grub_afs_to_cpu64): ...this. All users updated.
7921 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
7922 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
7923 (grub_afs_validate_sblock): Check only one endianness.
7924 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7925 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7926 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7927 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7928 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7929 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7930 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7931 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7933 2009-08-26 Bean <bean123ch@gmail.com>
7935 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
7937 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7938 (grub_xfs_inode_block): Change return type to grub_uint64_t.
7939 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
7941 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7943 NetBSD memory map support.
7945 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
7946 (grub_netbsd_btinfo_mmap_header): New structure.
7947 (grub_netbsd_btinfo_mmap_entry): Likewise.
7948 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
7950 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7952 Enable bsd.mod on coreboot.
7954 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
7955 (bsd_mod_SOURCES): New variable.
7956 (bsd_mod_CFLAGS): Likewise.
7957 (bsd_mod_LDFLAGS): Likewise.
7958 (bsd_mod_ASFLAGS): Likewise.
7959 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
7960 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
7962 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7964 Cleanup NetBSD root support.
7966 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
7967 grub_bsd_get_device.
7970 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
7972 * util/grub.d/00_header.in: Move check for the video backend of
7973 gfxterm from here ...
7974 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
7975 a suitable video backend.
7977 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7979 Fix breakage in grub-setup.
7981 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
7982 "msdos_partition_map".
7984 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7986 Fix breakage in normal/auth.c.
7988 * normal/auth.c (grub_iswordseparator): New function.
7990 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7992 Authentication support.
7994 * commands/password.c: New file.
7995 * conf/common.rmk (pkglib_MODULES): Add password.mod.
7996 (password_mod_SOURCES): New variable.
7997 (password_mod_CFLAGS): Likewise.
7998 (password_mod_LDFLAGS): Likewise.
7999 (normal_mod_SOURCES): Add normal/auth.c.
8000 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8002 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8003 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8004 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8007 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8008 * include/grub/auth.h: New file.
8009 * include/grub/err.h (grub_err_t): New enum value
8010 GRUB_ERR_ACCESS_DENIED.
8011 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8013 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8014 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8016 * normal/auth.c: New file.
8017 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8018 (grub_cmdline_run): Don't allow to go to command line without
8020 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8021 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8022 menuentry without superuser rights.
8023 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8024 user isn't a superuser.
8026 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8028 Save space by inlining misc.c functions.
8030 * kern/misc.c (grub_iswordseparator): Made static.
8031 * kern/misc.c (grub_strcat): Moved from here ...
8032 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8033 * kern/misc.c (grub_strncat): Moved from here ...
8034 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8035 * kern/misc.c (grub_strcasecmp): Moved from here ...
8036 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8037 * kern/misc.c (grub_strncasecmp): Moved from here ...
8038 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8039 * kern/misc.c (grub_isalpha): Moved from here ...
8040 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8041 * kern/misc.c (grub_isdigit): Moved from here ...
8042 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8043 * kern/misc.c (grub_isgraph): Moved from here ...
8044 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8045 * kern/misc.c (grub_tolower): Moved from here ...
8046 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8048 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8050 * script/sh/function.c (grub_script_function_find): Cut error message
8051 not to flood terminal.
8052 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8054 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8056 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
8058 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8059 `report' grub_uint8_t *.
8060 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8061 Use a 50-millisecond timeout rather than just repeating
8062 grub_usb_keyboard_getreport 50 times.
8063 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8065 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8067 Rename *_partition_map to part_*
8069 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8070 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8071 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8072 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8074 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8076 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8077 * util/grub-probe.c (probe_partmap): Don't transform partition name
8080 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8082 Fix OpenBSD and NetBSD support.
8084 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8085 memory address conflict.
8086 (OPENBSD_MMAP_ACPI): New definition.
8087 (OPENBSD_MMAP_NVS): Likewise.
8088 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8089 and OPENBSD_MMAP_NVS.
8090 Add memory map terminator
8091 Explicit cast when calling grub_unix_real_boot.
8092 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
8094 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8096 Let user specify NetBSD root device.
8098 * loader/i386/bsd.c (netbsd_root): New variable.
8099 (netbsd_opts): New option 'root'.
8100 (NETBSD_ROOT_ARG): New macro.
8101 (grub_netbsd_boot): Use 'netbsd_root'.
8102 (grub_bsd_unload): Free 'netbsd_root'.
8103 (grub_cmd_netbsd): Fill 'netbsd_root'.
8105 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8107 Support for 64-bit NetBSD.
8109 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8110 point when booting non-FreeBSD.
8112 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8114 Support --no-smp and --no-acpi for NetBSD.
8116 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8117 (NETBSD_AB_NOACPI): Likewise.
8118 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8119 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8121 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8123 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8125 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8126 errors. Call grub_error when needed.
8128 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8130 * commands/search.c (search_fs): Try searching without autoload first.
8131 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8132 filesystem module explicitly for faster booting.
8134 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8136 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8138 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8140 * util/grub.d/30_os-prober.in: Disable os-prober if
8141 `GRUB_DISABLE_OS_PROBER' was set to true.
8143 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8145 * partmap/pc.c: Rename to ...
8146 * partmap/msdos.c: ... this. Update all users.
8147 (grub_pc_partition_map): Rename to ...
8148 (grub_msdos_partition_map): ... this. Update all users.
8150 * parttool/pcpart.c: Rename to ...
8151 * parttool/msdospart.c: ... this. Update all users.
8153 * include/grub/pc_partition.h: Rename to ...
8154 * include/grub/msdos_partition.h: ... this. Update all users.
8155 (grub_pc_partition_bsd_entry): Rename to ...
8156 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8157 (grub_pc_partition_disk_label): Rename to ...
8158 (grub_msdos_partition_disk_label): ... this. Update all users.
8159 (grub_pc_partition_entry): Rename to ...
8160 (grub_msdos_partition_entry): ... this. Update all users.
8161 (grub_pc_partition_mbr): Rename to ...
8162 (grub_msdos_partition_mbr): ... this. Update all users.
8163 (grub_pc_partition): Rename to ...
8164 (grub_msdos_partition): ... this. Update all users.
8165 (grub_pc_partition_is_empty): Rename to ...
8166 (grub_msdos_partition_is_empty): ... this. Update all users.
8167 (grub_pc_partition_is_extended): Rename to ...
8168 (grub_msdos_partition_is_extended): ... this. Update all users.
8169 (grub_pc_partition_is_bsd): Rename to ...
8170 (grub_msdos_partition_is_bsd): ... this. Update all users.
8172 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8173 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8174 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8175 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8176 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8177 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8178 (gpt_mod_LDFLAGS): Rename to ...
8179 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8180 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8181 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8182 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8183 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8184 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8185 (part_gpt_mod_LDFLAGS): ... this.
8186 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8187 `pcpart.mod' to `msdospart.mod'.
8188 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8190 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8191 (msdospart_mod_LDFLAGS): ... this.
8193 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8195 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8196 (openbsd_opts): Likewise.
8197 (netbsd_opts): Likewise.
8198 (freebsd_flags): Added 0 terminator.
8199 (openbsd_flags): Likewise.
8200 (netbsd_flags): Likewise.
8201 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8202 (grub_cmd_freebsd): Transformed into extended command.
8203 (grub_cmd_openbsd): Likewise.
8204 (grub_cmd_netbsd): Likewise.
8205 (cmd_freebsd): Changed type to grub_extcmd_t.
8206 (cmd_openbsd): Likewise.
8207 (cmd_netbsd): Likewise.
8208 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8209 grub_cmd_openbsd as extended commands.
8210 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8211 cmd_netbsd and cmd_openbsd
8213 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8215 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8217 2009-08-21 Pavel Roskin <proski@gnu.org>
8219 * Makefile.in (install-local): When checking if a file is in the
8220 build directory, use "test -e" to detect symlinks.
8222 * Makefile.in (install-local): Remove all files in
8223 $(DESTDIR)$(pkglibdir) before installing new files there.
8225 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8227 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8230 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8232 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8233 explicitly specified by the user.
8235 2009-08-18 Pavel Roskin <proski@gnu.org>
8237 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8238 grub_uint8_t pointer for data.
8239 * include/grub/fbutil.h (struct grub_video_fbblit_info):
8241 * video/fb/fbutil.c: Remove unnecessary casts.
8243 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8247 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
8248 (grub_vbe_set_video_mode): Save active mode info
8249 only after setting the mode.
8250 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
8253 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8255 Rename variables for clarity.
8257 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
8258 (active_vbe_mode_info): ... this. All users updated.
8259 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
8261 (initial_mode): Rename to ...
8262 (initial_vbe_mode): ... this. All users updated.
8263 (mode_in_use): Rename to ..
8264 (vbe_mode_in_use): ... this. All users updated.
8265 (mode_list): Rename to ..
8266 (vbe_mode_list): ... this. All users updated.
8267 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
8268 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
8269 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
8270 'mode_list_size' to 'vbe_mode_list_size'.
8271 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
8272 'best_mode_info' to 'best_vbe_mode_info' and
8273 'best_mode' to 'best_vbe_mode'
8275 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8277 Remove duplicate grub_video_fb_get_video_ptr.
8279 * include/grub/fbutil.h (get_data_ptr): Rename to ...
8280 (grub_video_fb_get_video_ptr): ... this.
8281 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
8282 * video/fb/fbutil.c: Add comment about addressing.
8283 (get_data_ptr): Rename to ...
8284 (grub_video_fb_get_video_ptr): ... this. All users updated.
8285 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
8287 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8289 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
8290 grub_dprintf() that was just added.
8292 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8294 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
8295 (DEFAULT_VIDEO_MODE): Remove macros.
8296 (grub_linux_boot): Remove assumption that Linux has FB support,
8297 and use "text" as default video mode.
8299 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
8301 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
8303 * fs/fat.c (grub_fat_read_data): Likewise.
8305 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8307 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
8309 (grub_module): Likewise.
8311 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8313 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
8314 mbi->cmdline but free playground.
8316 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8318 Handle group offset on UFS1.
8320 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
8321 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
8323 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8325 Split ufs.mod into ufs1.mod and ufs2.mod.
8327 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
8328 (grub_fstest_SOURCES): Likewise.
8329 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
8330 (ufs_mod_SOURCES): Remove.
8331 (ufs_mod_CFLAGS): Likewise.
8332 (ufs_mod_LDFLAGS): Likewise.
8333 (ufs1_mod_SOURCES): New variable.
8334 (ufs1_mod_CFLAGS): Likewise.
8335 (ufs1_mod_LDFLAGS): Likewise.
8336 (ufs2_mod_SOURCES): New variable.
8337 (ufs2_mod_CFLAGS): Likewise.
8338 (ufs2_mod_LDFLAGS): Likewise.
8339 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
8340 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8342 (grub_emu_SOURCES): Likewise.
8343 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8344 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8345 (grub_setup_SOURCES): Likewise.
8346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8347 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
8348 (grub_setup_SOURCES): Likewise.
8349 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8351 * fs/ufs2.c: New file.
8352 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
8354 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8358 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
8359 subsystem at the end.
8360 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
8361 (video_fb_mod_SOURCES): New variable.
8362 (video_fb_mod_CFLAGS): Likewise.
8363 (video_fb_mod_LDFLAGS): Likewise.
8364 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
8365 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
8366 * video/i386/pc/vbeblit.c: Moved from here ...
8367 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
8368 * video/i386/pc/vbefill.c: Moved from here ...
8369 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
8370 * video/i386/pc/vbeutil.c: Moved from here ...
8371 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
8372 * include/grub/i386/pc/vbeblit.h: Moved from here ...
8373 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
8374 * include/grub/i386/pc/vbefill.h: Moved from here ...
8375 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
8376 * include/grub/i386/pc/vbeutil.h: Moved from here ...
8377 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
8378 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
8379 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
8380 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
8381 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
8382 (grub_video_adapter): Added 'get_info_and_fini'.
8383 (grub_video_get_info_and_fini): New prototype.
8384 (grub_video_set_mode): make modestring const char *.
8385 * loader/i386/linux.c (grub_linux_setup_video): Use
8386 grub_video_get_info_and_fini.
8387 (grub_linux_boot): Move modesetting just before booting.
8388 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
8389 grub_video_get_info_and_fini.
8390 * video/i386/pc/vbe.c: Moved framebuffer part ...
8391 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
8392 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
8393 grub_video_fbstd_colors and grub_video_fb_set_palette.
8394 (grub_video_vbe_init): Clear 'framebuffer' variable and use
8396 (grub_video_vbe_fini): Use grub_video_fb_fini.
8397 (grub_video_vbe_setup): Use framebuffer.render_target instead of
8398 render_target and use grub_video_fb_set_active_render_target and
8399 grub_video_fb_set_palette.
8400 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
8401 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
8402 (grub_video_vbe_adapter): Use framebuffer.
8403 * video/video.c (grub_video_get_info_and_fini): New function.
8404 (grub_video_set_mode): Make modestring const char *.
8405 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
8406 values are already initialised.
8408 2009-08-14 Pavel Roskin <proski@gnu.org>
8410 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
8412 * boot/i386/pc/diskboot.S: Likewise.
8413 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
8414 sectors allow compilation on MacOSX.
8415 * conf/i386-pc.rmk: Enable unconditional compilation of
8418 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
8420 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
8421 * util/grub.d/00_header.in: Enter interruptible sleep if
8422 GRUB_HIDDEN_TIMEOUT is set.
8424 2009-08-13 Yves Blusseau <blusseau@zetam.org>
8426 * include/grub/symbol.h: Add the LOCAL macro.
8427 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
8430 2009-08-13 Pavel Roskin <proski@gnu.org>
8432 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
8433 any modern compilers we support.
8435 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
8436 Use local labels starting with "L_" so that Apple assembler
8437 knows they are local.
8439 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
8441 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
8442 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
8443 (bsd_kernel_types): ... this enum.
8445 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
8446 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
8447 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
8449 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
8450 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
8451 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
8454 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8456 * util/grub-dumpdevtree: Moved from here ...
8457 * util/i386/efi/grub-dumpdevtree: ... to here.
8458 (hexify): New function. Converts a string to its hex version.
8459 Generate hex versions of "efi" and "device-properties" by calling
8460 hexify() on the ASCII strings rather than by hardcoding numbers.
8462 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8464 * fs/jfs.c: Update copyright year.
8466 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8468 * util/grub.d/00_header.in: Fix a comment.
8469 * util/grub.d/10_linux.in: Likewise.
8470 * util/grub.d/10_windows.in: Likewise.
8471 * util/grub.d/10_hurd.in: Likewise.
8473 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8475 * util/grub-mkconfig.in: Allow the user to specify the used font
8478 2009-08-08 Pavel Roskin <proski@gnu.org>
8480 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
8481 available, xfs.mod needs it now.
8483 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
8484 the "g" modifier in sed when the intention is to strip something
8485 once. This fixes comparison of kernels with multiple dashes.
8487 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
8488 on it. Add missing space before closing bracket. Fix
8489 misleading formatting.
8491 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8493 * docs/grub.texi: Major overhaul. Remove all sections that are
8494 specific to GRUB Legacy, or mostly composed of Legacy-specific
8497 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8499 * docs/version.texi: New file. Provides version information for
8502 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8504 * docs/grub.texi: Update CVS information to SVN.
8505 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
8507 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8509 * util/grub-mkconfig.in: Remove a wrong `fi'.
8511 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8513 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
8514 (grub_jfs_uuid): New function.
8515 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
8517 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8519 * util/grub-mkconfig_lib.in (font_path): Move the functionality
8521 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
8522 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
8524 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8526 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
8527 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
8530 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
8531 not just "vmlinu[zx]".
8533 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
8536 * util/grub.d/10_linux.in (find_latest): Moved from here ...
8537 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
8540 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8542 * util/grub.d/10_freebsd.in: Use an absolute device path for
8543 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
8545 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
8547 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
8548 handling of multiple abstraction modules.
8550 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
8552 Fix a bug resulting in black screen when loading Linux using a
8555 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
8558 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
8559 (grub_vbe_bios_getset_dac_palette_width): New function.
8560 (grub_vbe_bios_get_dac_palette_width)
8561 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
8562 grub_vbe_bios_getset_dac_palette_width()).
8564 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
8565 check for return status.
8566 (grub_vbe_get_video_mode_info): When getting information for a packed
8567 mode (<= 8 bpp), obtain DAC palette width using
8568 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
8569 {red,green,blue}_mark_size.
8571 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
8573 * commands/search.c (options): Fix help output to match actual code.
8575 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
8577 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
8580 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8582 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
8585 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8587 Support Apple partition map with sector size different from 512 bytes.
8589 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
8590 (apple_partition_map_iterate): Respect 'aheader.blocksize'
8591 and 'apart.partmap_size'.
8593 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8594 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
8598 * commands/i386/cpuid.c (options): New variable.
8599 (grub_cmd_cpuid): Return real error.
8600 (GRUB_MOD_INIT(cpuid)): Declare options.
8602 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
8604 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
8607 2009-07-31 Bean <bean123ch@gmail.com>
8609 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
8611 (grub_fshelp_node): Move inode field to the end.
8612 (grub_xfs_data): Remove inode field.
8613 (grub_xfs_inode_block): Calculate inode size using sblock.
8614 (grub_xfs_inode_offset): Likewise.
8615 (grub_xfs_read_inode): Calculate inode size using sblock.
8616 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
8617 (grub_xfs_iterate_dir): Calculate inode size using sblock.
8618 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
8619 to match inode size.
8620 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
8621 not accessible when data is null.
8622 (grub_xfs_open): Likewise.
8624 2009-07-31 Bean <bean123ch@gmail.com>
8626 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
8627 Don't change pv->disk if it's already set.
8629 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
8630 (grub_raid_register): ... here.
8631 (grub_raid_rescan): Removed.
8633 * include/grub/raid.h (grub_raid_rescan): Removed.
8635 * util/grub-fstest.c: Remove include file <grub/raid.h>.
8636 (fstest): Replace grub_raid_rescan with module fini function followed
8639 * util/grub-probe.c: Add include file <grub/raid.h>.
8640 (probe_raid_level): New function.
8641 (probe): Detect abstraction by walking the disk device, support two
8642 level of abstraction (LVM on RAID) when detecting partition map.
8644 2009-07-31 Pavel Roskin <proski@gnu.org>
8646 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
8647 to grub_zalloc(), it was erroneous.
8648 Reported by Bean <bean123ch@gmail.com>
8650 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
8652 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
8653 embedding zone, not only the first one.
8655 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
8657 * term/gfxterm.c (clear_char): New function.
8658 (grub_virtual_screen_setup): Use clear_char.
8659 (scroll_up): Likewise.
8660 (grub_virtual_screen_cls): Likewise.
8662 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
8664 * util/deviceiter.c (get_acceleraid_disk_name): New static
8666 (grub_util_iterate_devices): Handle Accelraid devices.
8667 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
8669 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
8671 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
8672 separator for the suggested gfxpayload string (';' collides with the
8673 parser and needs escaping).
8675 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8677 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
8678 Clear direction flag before jumping to OS.
8679 (grub_multiboot2_real_boot): Likewise.
8681 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
8683 * util/i386/pc/grub-install: Fix parsing of --disk-module
8686 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
8688 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
8691 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
8693 * util/grub-mkconfig.in (package_version): New variable.
8694 Use it do display the version.
8696 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
8698 * kern/file.c (grub_file_open): Revert to previous check with
8701 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8703 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
8704 from help line. It's out of sync with code.
8706 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8708 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
8709 entries on failed boot.
8711 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
8713 * kern/file.c (grub_file_open): Fix an error check.
8715 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
8717 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
8718 partition map couldn't be identified.
8720 2009-07-23 Pavel Roskin <proski@gnu.org>
8722 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
8723 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
8724 case of little endian words becomes just an optimization.
8725 Respect const modifier.
8726 (md5_final): Use code that doesn't depend on endianness.
8728 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
8729 to avoid loss of upper bits if align is unsigned and shorter
8732 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8734 UUID support for UFS
8736 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
8737 (grub_ufs_uuid): New function.
8738 (grub_ufs_fs): add .uuid
8740 2009-07-21 Pavel Roskin <proski@gnu.org>
8742 * kern/dl.c (grub_dl_check_header): Make static.
8744 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
8746 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
8747 add drivemap for Vista. It breaks Windows 7.
8749 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8751 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
8754 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8758 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
8759 (grub_fstest_SOURCES): Likewise.
8760 (pkglib_MODULES): Add befs.mod.
8761 (befs_mod_SOURCES): New variable.
8762 (befs_mod_CFLAGS): Likewise.
8763 (befs_mod_LDFLAGS): Likewise.
8764 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8765 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8766 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8767 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8768 (grub_setup_SOURCES): Likewise.
8769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8770 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8771 (grub_setup_SOURCES): Likewise.
8772 * fs/befs.c: New file.
8773 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
8774 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
8775 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
8776 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
8777 (B_KEY_INDEX_ALIGN): New declaration.
8778 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
8779 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
8780 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
8781 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
8782 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
8783 (grub_afs_mount) [MODE_BFS]: Likewise.
8784 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
8785 (grub_afs_fs): Use GRUB_AFS_FSNAME
8786 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
8787 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
8788 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
8789 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
8791 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
8793 * util/getroot.c (find_root_device): Add support for MacOSX.
8794 * util/hostdisk.c: Likewise.
8796 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8798 * font/font.c (find_glyph): Check whether a font is present to avoid
8801 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
8803 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
8805 2009-07-20 Pavel Roskin <proski@gnu.org>
8807 * configure.ac: Trim excessively wordy excuses.
8809 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8811 Add symlink, mtime and label support to AtheFS.
8813 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
8814 (grub_afs_iterate_dir): Handle symlinks.
8815 (grub_afs_open): Use grub_afs_read_symlink.
8816 (grub_afs_dir): Likewise.
8818 (grub_afs_label): New function.
8819 (grub_afs_fs): Add grub_afs_label.
8820 (grub_afs_read_symlink): New function.
8822 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8826 * fs/afs.c: Fix comments style.
8827 (grub_afs_blockrun): Declare as packed.
8828 (grub_afs_datastream): Likewise.
8829 (grub_afs_bnode): Likewise.
8830 (grub_afs_btree): Likewise.
8831 (grub_afs_sblock): Likewise.
8832 Declare `name' as char.
8833 (grub_afs_inode): Declare as packed.
8834 Change void *vnode to grub_uint32_t unused.
8835 (grub_afs_iterate_dir): Check that key_size is positive.
8836 (grub_afs_mount): Don't read superblock twice.
8837 (grub_afs_dir): Don't free node in case of error,
8838 grub_fshelp_find_file already handles this.
8839 (grub_afs_open): Likewise.
8841 2009-07-19 Pavel Roskin <proski@gnu.org>
8843 * Makefile.in: Remove LIBLZO and enable_lzo.
8844 * conf/i386-pc.rmk: Remove lzo support.
8845 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
8846 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
8848 * kern/i386/pc/lzo1x.S: Remove.
8849 * kern/i386/pc/startup.S: Remove lzo support.
8850 * util/i386/pc/grub-mkimage.c: Likewise.
8852 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
8854 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
8855 * fs/xfs.c (grub_xfs_dir): Likewise.
8856 * fs/afs.c (grub_afs_dir): Likewise.
8857 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8858 (grub_iso9660_open): Likewise.
8859 * fs/jfs.c (grub_jfs_open): Likewise.
8860 * fs/ext2.c (grub_ext2_dir): Likewise.
8861 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
8862 * script/sh/lexer.c (grub_script_yylex): Likewise.
8864 2009-07-16 Pavel Roskin <proski@gnu.org>
8866 * configure.ac: Never add "-c" to CFLAGS.
8868 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
8870 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
8871 grub_cv_cc_efiemu should be used.
8873 * configure.ac: Typo fixes.
8875 * kern/mm.c (grub_zalloc): New function.
8876 (grub_debug_zalloc): Likewise.
8877 * include/grub/mm.h: Declare grub_zalloc() and
8878 grub_debug_zalloc().
8879 * util/misc.c (grub_zalloc): New function.
8880 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
8881 instead of grub_malloc(), remove unneeded initializations.
8882 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
8883 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
8884 * commands/parttool.c (grub_cmd_parttool): Likewise.
8885 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8886 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
8887 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
8888 * disk/usbms.c (grub_usbms_finddevs): Likewise.
8889 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
8890 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
8891 (grub_cmd_efiemu_pnvram): Likewise.
8892 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
8893 * fs/iso9660.c (grub_iso9660_mount): Likewise.
8894 (grub_iso9660_iterate_dir): Likewise.
8895 * fs/jfs.c (grub_jfs_opendir): Likewise.
8896 * fs/ntfs.c (list_file): Likewise.
8897 (grub_ntfs_mount): Likewise.
8898 * kern/disk.c (grub_disk_open): Likewise.
8899 * kern/dl.c (grub_dl_load_core): Likewise.
8900 * kern/elf.c (grub_elf_file): Likewise.
8901 * kern/env.c (grub_env_context_open): Likewise.
8902 (grub_env_set): Likewise.
8903 (grub_env_set_data_slot): Likewise.
8904 * kern/file.c (grub_file_open): Likewise.
8905 * kern/fs.c (grub_fs_blocklist_open): Likewise.
8906 * loader/i386/multiboot.c (grub_module): Likewise.
8907 * loader/xnu.c (grub_xnu_create_key): Likewise.
8908 (grub_xnu_create_value): Likewise.
8909 * normal/main.c (grub_normal_add_menu_entry): Likewise.
8910 (read_config_file): Likewise.
8911 * normal/menu_entry.c (make_screen): Likewise.
8912 * partmap/sun.c (sun_partition_map_iterate): Likewise.
8913 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
8914 * script/sh/script.c (grub_script_parse): Likewise.
8915 * video/bitmap.c (grub_video_bitmap_create): Likewise.
8916 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8917 * video/readers/png.c (grub_png_output_byte): Likewise.
8918 (grub_video_reader_png): Likewise.
8920 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8922 Enable all targets that can be built by default
8924 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
8925 grub-mkfont and grub-fstest if they can be built
8927 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8929 Fix hang and segmentation fault in grub-emu-usb
8931 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
8932 * util/usb.c (grub_libusb_devices): likewise
8933 (grub_libusb_init): rename to ...
8934 (GRUB_MOD_INIT (libusb)):...this
8935 (grub_libusb_fini): rename to ..
8936 (GRUB_MOD_FINI (libusb)):...this
8937 * disk/usbms.c (grub_usbms_transfer): fix retry logic
8938 * include/grub/disk.h (grub_raid_init): removed, it's useless
8939 (grub_raid_fini): likewise
8940 (grub_lvm_init): likewise
8941 (grub_lvm_fini): likewise
8942 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
8945 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8949 * Makefile.in (LIBUSB): new macro
8950 * genmk.rb (Utility/print_tail): new method
8951 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
8952 (top level): call util.print_tail at the end.
8954 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8956 Make FreeBSD accept zpool.cache
8958 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
8959 type is /boot/zfs/zpool.cache
8961 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8965 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
8966 correct wrong typedef
8967 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
8969 2009-07-15 Pavel Roskin <proski@gnu.org>
8971 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
8972 * kern/disk.c (struct grub_disk_cache): Likewise.
8974 * commands/probe.c (options): Typo fix.
8976 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
8977 Increase to 0x5a to accommodate FAT32. Adjust other offsets
8979 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
8981 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
8982 the end of "Error" to make the message more readable.
8984 * boot/i386/pc/boot.S (kernel_segment): Remove.
8985 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
8988 * boot/i386/pc/boot.S (boot_version): Remove.
8989 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8992 * include/grub/i386/pc/boot.h: Sort all offsets.
8993 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
8994 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
8995 * boot/i386/pc/boot.S: Assert location of every offset listed in
8996 include/grub/i386/pc/boot.h.
8998 2009-07-13 Pavel Roskin <proski@gnu.org>
9000 * include/grub/i386/coreboot/machine.h: Rename
9001 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9002 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9003 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9005 * kern/dl.c: Force native word size to suppress warnings when
9008 * kern/device.c (grub_device_iterate): Change struct part_ent to
9009 hold the name, not a pointer to it. Use one grub_malloc() per
9010 partition, not two. Free partition_name if grub_malloc() fails.
9011 Set ents to NULL only before grub_partition_iterate() is called.
9013 2009-07-11 Bean <bean123ch@gmail.com>
9015 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9018 2009-07-10 Bean <bean123ch@gmail.com>
9019 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9021 * kern/ieee1275/openfw.c (grub_children_iterate)
9022 (grub_devalias_iterate): Fix size evaluation for property or path
9023 strings, which was broken since r2132.
9025 2009-07-07 Pavel Roskin <proski@gnu.org>
9027 * commands/search.c (search_file): Merge into ...
9028 (search_fs): ... this. Accept search type as argument.
9029 (grub_cmd_search): Pass search type to search_fs().
9031 * include/grub/util/console.h: New file.
9032 * util/console.c: Use it instead of grub/machine/console.h.
9033 * util/grub-emu.c: Likewise.
9035 * lib/arg.c (find_long_option): Remove.
9036 (find_long): Add `len' argument, make `s' const char *.
9037 (grub_arg_parse): Parse long options in place, not in a
9040 2009-07-06 Pavel Roskin <proski@gnu.org>
9042 * commands/search.c (search_fs): Fix potential NULL pointer
9045 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9048 2009-07-06 Daniel Mierswa <impulze@impulze.org>
9050 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9053 2009-07-05 Pavel Roskin <proski@gnu.org>
9055 * include/grub/i386/linux.h (struct linux_kernel_params):
9056 Restore padding3, it's still needed.
9058 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9060 * util/osdetect.lua: Likewise.
9062 2009-07-05 Bean <bean123ch@gmail.com>
9064 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9066 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9067 (grub_lua_getenv): Likewise.
9068 (grub_lua_setenv): Likewise.
9069 (save_errno): New function.
9070 (push_result): Likewise.
9071 (grub_lua_enum_device): Likewise.
9072 (grub_lua_enum_file): Likewise.
9073 (grub_lua_file_open): Likewise.
9074 (grub_lua_file_close): Likewise.
9075 (grub_lua_file_seek): Likewise.
9076 (grub_lua_file_read): Likewise.
9077 (grub_lua_file_getline): Likewise.
9078 (grub_lua_file_getsize): Likewise.
9079 (grub_lua_file_getpos): Likewise.
9080 (grub_lua_file_eof): Likewise.
9081 (grub_lua_file_exist): Likewise.
9082 (grub_lua_add_menu): Likewise.
9084 * script/lua/grub_lua.h (isupper): New inline function.
9085 (islower): Likewise.
9086 (ispunct): Likewise.
9087 (isxdigit): Likewise.
9088 (strcspn): Change to normal function.
9089 (strpbkr): New function declaration.
9092 * script/lua/grub_main.c (scan_str): New function.
9093 (strcspn): Likewise.
9094 (strpbrk): Likewise.
9097 * script/lua/linit.c (lualibs): Enable the string library.
9099 * util/osdetect.lua: New file.
9101 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9103 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9104 `capabilities' member.
9106 2009-07-02 Pavel Roskin <proski@gnu.org>
9108 * genparttoollist.sh: Add missing newline at the end.
9110 2009-07-01 Pavel Roskin <proski@gnu.org>
9112 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9114 * util/hostdisk.c (open_device): Remove `const' from
9115 `sysctl_size', as sysctlbyname() can change it (in this case it
9116 doesn't actually happen).
9118 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9119 using signed long int constants.
9121 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9122 constant to avoid a warning on FreeBSD.
9124 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9127 * Makefile.in: Install include/grub/machine symlink.
9129 * Makefile.in: When installing symlinks, use "cp -fR", which
9130 works on FreeBSD and MacOSX.
9131 From Yves Blusseau <cl7m42e02@sneakemail.com>
9133 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9134 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9136 * util/misc.c: Move grub_reboot() and grub_halt() ...
9137 * util/grub-emu.c: ... here. Make main_env static.
9138 * include/grub/util/misc.h: Remove main_env.
9140 * kern/mm.c: Use correct format to print size_t.
9142 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9143 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9144 * kern/powerpc/dl.c: Likewise.
9145 * kern/sparc64/dl.c: Likewise.
9146 * kern/x86_64/dl.c: Likewise.
9148 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9150 Fix grub-emu build on sparc64-ieee1275.
9152 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
9153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9155 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9157 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9158 (grub_reboot, grub_halt): New functions.
9160 * util/i386/pc/misc.c: Delete. Update all users.
9161 * util/sparc64/ieee1275/misc.c: Likewise.
9162 * util/powerpc/ieee1275/misc.c: Likewise.
9164 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9166 * conf/i386.rmk (setjmp_mod_SOURCES)
9167 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9168 * conf/common.rmk (setjmp_mod_SOURCES)
9169 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9170 to use $(target_cpu).
9171 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9172 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9173 * conf/powerpc-ieee1275.rmk: Likewise.
9174 * conf/sparc64-ieee1275.rmk: Likewise.
9176 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9177 $(target_cpu) for kern/$(target_cpu)/dl.c.
9178 * conf/i386-efi.rmk: Likewise.
9179 * conf/i386-ieee1275.rmk: Likewise.
9180 * conf/x86_64-efi.rmk: Likewise.
9181 * conf/i386-coreboot.rmk: Likewise.
9182 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9183 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9184 kern/$(target_cpu)/cache.S.
9185 * conf/sparc64-ieee1275.rmk: Likewise.
9187 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9189 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9190 type to `grub_uint8_t', and adjust `padding9' accordingly.
9192 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9194 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9196 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9197 assembly in final jump, using register constraints.
9199 (grub_linux_boot): For text mode, initialize `have_vga' using
9200 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9202 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9203 right before the final jump.
9205 Set `video_mode' to 0x3.
9207 Document initialization of `video_page', `video_mode' and
9210 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9212 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9213 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
9214 and set GRUB_LINUX_FLAG_QUIET appropriately.
9216 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9218 Fix build on Debian / sparc.
9220 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9222 2009-06-28 Pavel Roskin <proski@gnu.org>
9224 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9227 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9229 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9231 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9234 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9238 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
9239 file can't be opened. grub_file_open() is already supposed to set
9240 grub_errno / grub_errmsg appropriately.
9241 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9243 2009-06-27 Pavel Roskin <proski@gnu.org>
9244 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9246 * include/grub/dl.h: Include grub/elf.h.
9247 (struct grub_dl): Add symtab field.
9248 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
9249 GRUB_MODULES_MACHINE_READONLY.
9250 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
9251 of the header for read-only modules.
9252 (grub_dl_unload): Free mod->symtab for read-only modules.
9253 * kern/i386/dl.c: Use mod->symtab.
9254 * kern/powerpc/dl.c: Likewise.
9255 * kern/sparc64/dl.c: Likewise.
9256 * kern/x86_64/dl.c: Likewise.
9258 * conf/i386-qemu.rmk: New file.
9259 * kern/i386/qemu/startup.S: Likewise.
9260 * kern/i386/qemu/mmap.c: Likewise.
9261 * boot/i386/qemu/boot.S: Likewise.
9262 * include/grub/i386/qemu/time.h: Likewise.
9263 * include/grub/i386/qemu/serial.h: Likewise.
9264 * include/grub/i386/qemu/kernel.h: Likewise.
9265 * include/grub/i386/qemu/console.h: Likewise.
9266 * include/grub/i386/qemu/boot.h: Likewise.
9267 * include/grub/i386/qemu/init.h: Likewise.
9268 * include/grub/i386/qemu/machine.h: Likewise.
9269 * include/grub/i386/qemu/loader.h: Likewise.
9270 * include/grub/i386/qemu/memory.h: Likewise.
9272 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
9273 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
9274 [qemu] (pkglib_IMAGES): Add `boot.img'.
9275 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
9276 [qemu] (boot_img_FORMAT): New variables.
9277 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
9278 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
9279 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
9280 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9281 [qemu] (kernel_img_FORMAT): New variables.
9283 * configure.ac: Recognise `i386-qemu'.
9285 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
9286 (for no compression).
9287 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
9288 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
9289 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
9290 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
9293 2009-06-27 Pavel Roskin <proski@gnu.org>
9295 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
9297 * efiemu/prepare32.c: Likewise.
9298 * efiemu/prepare64.c: Likewise.
9300 2009-06-26 Pavel Roskin <proski@gnu.org>
9302 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
9303 * include/grub/elf.h: Define symbols without "32" or "64" based
9304 on GRUB_TARGET_WORDSIZE.
9305 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
9306 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
9308 * efiemu/loadcore64.c: Likewise.
9309 * loader/i386/bsd32.c: Likewise.
9310 * loader/i386/bsd64.c: Likewise.
9311 * kern/dl.c: Remove own ELF definitions.
9312 * util/i386/efi/grub-mkimage.c: Likewise.
9314 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
9316 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
9317 segment 0x0 unconditionally, because the reference generated by
9318 GAS is an absolute address.
9320 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9322 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
9323 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
9325 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9327 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
9328 indexes. Check for -f explicitly.
9329 (search_file): Improve error message.
9330 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
9332 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9334 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
9335 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
9337 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9339 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
9340 * conf/i386-ieee1275.rmk: Likewise.
9341 * conf/i386-coreboot.rmk: Likewise.
9343 * kern/i386/pc/startup.S (grub_stop): Remove function.
9344 * kern/i386/ieee1275/startup.S: Likewise.
9345 * kern/i386/coreboot/startup.S: Likewise.
9346 * kern/i386/misc.S (grub_stop): New function.
9348 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9350 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
9351 * kern/i386/realmode.S (real_to_prot): ... to here.
9353 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9355 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
9357 (kernel_elf_SOURCES): Rename to ...
9358 (kernel_img_SOURCES): ... this.
9359 (kernel_elf_HEADERS): Rename to ...
9360 (kernel_img_HEADERS): ... this. Update all users.
9361 (kernel_elf_ASFLAGS): Rename to ...
9362 (kernel_img_ASFLAGS): ... this.
9363 (kernel_elf_CFLAGS): Rename to ...
9364 (kernel_img_CFLAGS): ... this.
9365 (kernel_elf_LDFLAGS): Rename to ...
9366 (kernel_img_LDFLAGS): ... this.
9367 * conf/i386-coreboot.rmk: Likewise.
9368 * conf/powerpc-ieee1275.rmk: Likewise.
9370 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
9373 2009-06-21 Pavel Roskin <proski@gnu.org>
9375 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
9376 to match nested functions.
9377 * loader/sparc64/ieee1275/linux.c: Likewise.
9379 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
9381 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9383 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
9386 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9388 Fix asm file handling on ELF, and remove workarounds.
9390 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
9391 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
9392 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
9393 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
9395 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9397 Load BSD ELF modules
9399 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
9400 and loader/i386/bsd64.c
9401 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
9402 (FREEBSD_MODTYPE_ELF_MODULE): New definition
9403 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
9404 (grub_freebsd_load_elfmodule32): New declaration
9405 (grub_freebsd_load_elfmoduleobj64): Likewise
9406 (grub_freebsd_load_elf_meta32): Likewise
9407 (grub_freebsd_load_elf_meta64): Likewise
9408 (grub_freebsd_add_meta): Likewise
9409 (grub_freebsd_add_meta_module): Likewise
9410 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
9411 (grub_freebsd_add_meta_module): Likewise and move module-specific
9412 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
9413 (grub_cmd_freebsd): Add elf-kernel specific parts
9414 based on grub_freebsd_add_meta_module
9415 (grub_cmd_freebsd_module): Add type parsing moved from
9416 grub_freebsd_add_meta_module
9417 (grub_cmd_freebsd_module_elf): New function
9418 (cmd_freebsd_module_elf): New variable
9419 (GRUB_MOD_INIT): Register freebsd_module_elf
9420 * loader/i386/bsd32.c: New file
9421 * loader/i386/bsd64.c: Likewise
9422 * loader/i386/bsdXX.c: Likewise
9423 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
9424 (grub_elf64_load): Likewise
9425 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
9427 (grub_elf64_load_hook_t): Likewise
9429 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
9431 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
9433 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
9434 don't write a menu entry for recovery mode.
9436 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9438 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
9439 after it's no longer needed.
9441 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9443 * include/grub/i386/loader.h (grub_linux_prot_size)
9444 (grub_linux_tmp_addr, grub_linux_real_addr)
9445 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
9446 GRUB_MACHINE_PCBIOS.
9447 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
9448 common grub_util_info() call to ...
9449 (generate_image): ... here.
9450 Fix use of uninitialized memory, comparison of signed with
9451 unsigned integers and memory leak.
9452 Remove bogus module address message.
9454 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9456 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
9458 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
9460 2009-06-19 Pavel Roskin <proski@gnu.org>
9462 * configure.ac: Remove stray AC_MSG_CHECKING.
9464 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9466 * disk/scsi.c (grub_scsi_open): use continue instead of big if
9468 2009-06-18 Pavel Roskin <proski@gnu.org>
9470 * conf/common.rmk: Add fs_file.mod.
9471 * disk/fs_file.c: New file.
9472 * include/grub/disk.h (enum grub_disk_dev_id): Add
9473 GRUB_DISK_DEVICE_FILE_ID.
9475 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9477 Fix build with Apple's toolchain. Part 2
9479 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
9482 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9484 Fix build with Apple's toolchain. Part 1
9486 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
9488 * configure.ac: remove a leftover AC_MSG_RESULT
9489 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
9492 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9496 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
9497 (decomp_block): initialize ch
9498 use grub_memcpy instead of memcpy
9500 2009-06-17 Pavel Roskin <proski@gnu.org>
9502 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
9503 version, use declarations needed to use vga_text as the startup
9506 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
9507 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
9509 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
9510 and grub_at_keyboard_fini(), it's done on module load and
9513 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
9515 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
9516 file can't be found.
9517 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9519 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9521 Fix newline handling
9523 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
9524 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
9525 (grub_script_yylex): don't segfault on unterminated script
9526 newline terminates command and variable
9528 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9530 avoid double grub_adjust_range call. Bug reported by David Simner
9532 * kern/disk.c (grub_disk_write): change to raw disk access before
9535 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
9537 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
9538 spaces, for the benefit of help2man.
9539 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9541 2009-06-16 Pavel Roskin <proski@gnu.org>
9543 * kern/i386/halt.c: Include grub/machine/init.h.
9544 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
9546 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
9548 * util/grub.d/30_os-prober.in: Use ${root} in the generated
9551 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
9553 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
9556 2009-06-16 Pavel Roskin <proski@gnu.org>
9558 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
9559 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
9560 save %dx, we only need %dl and we never change it.
9561 * boot/i386/pc/cdboot.S: Don't set the root drive.
9562 * boot/i386/pc/pxeboot.S: Likewise.
9563 * include/grub/i386/pc/boot.h: Remove
9564 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
9565 GRUB_BOOT_MACHINE_DRIVE_CHECK.
9566 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
9567 * kern/i386/pc/init.c (make_install_device): Remove references
9569 * kern/i386/pc/startup.S: Likewise.
9570 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
9572 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9576 * commands/xnu_uuid.c: new file
9577 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
9578 (xnu_uuid_mod_SOURCES): new variable
9579 (xnu_uuid_mod_CFLAGS): likewise
9580 (xnu_uuid_mod_LDFLAGS): likewise
9581 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9582 * conf/i386-ieee1275.rmk: likewise
9583 * conf/i386-pc.rmk: likewise
9584 * conf/powerpc-ieee1275.rmk: likewise
9585 * conf/sparc64-ieee1275.rmk: likewise
9586 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
9588 2009-06-16 Pavel Roskin <proski@gnu.org>
9590 * configure.ac: Avoid '==' in test command, it's not portable.
9592 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9596 * commands/probe.c: new file
9597 * conf/common.rmk (pkglib_MODULES): add probe.mod
9598 (probe_mod_SOURCES): new variable
9599 (probe_mod_CFLAGS): likewise
9600 (probe_mod_LDFLAGS): likewise
9601 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9602 * conf/i386-ieee1275.rmk: likewise
9603 * conf/i386-pc.rmk: likewise
9604 * conf/powerpc-ieee1275.rmk: likewise
9605 * conf/sparc64-ieee1275.rmk: likewise
9607 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9609 Fix handling of string like \"hello\" and "a
9612 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
9613 (grub_script_yylex): fix parsing of quoting, escaping and newline
9615 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9617 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
9620 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
9622 * util/grub-mkconfig.in: Fix parsing of --output option.
9624 2009-06-12 Pavel Roskin <proski@gnu.org>
9626 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
9627 genmk.rb don't need to be generated or installed.
9629 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9631 * commands/i386/pc/drivemap_int13h.S: add more comments
9633 2009-06-11 Pavel Roskin <proski@gnu.org>
9635 * Makefile.in (uninstall): Uninstall manuals.
9637 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
9638 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
9639 and update-grub_lib in two places.
9640 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
9642 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
9645 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
9646 `entry_lo' to fix variable shadowing.
9648 2009-06-11 Christian Franke <franke@computer.org>
9650 * kern/misc.c (__enable_execute_stack): Add missing return type
9651 to prevent gcc warning.
9653 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9655 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
9657 2009-06-11 Pavel Roskin <proski@gnu.org>
9659 * Makefile.in: Don't rely on any scripts being executable.
9660 Always use $(SHELL) to run shell scripts.
9662 * configure.ac: Always define ___main if using -nostdlib. This
9663 fixes tests on Cygwin.
9665 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
9669 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
9670 is in bytes and not in blocks
9672 2009-06-11 Pavel Roskin <proski@gnu.org>
9674 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
9677 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9679 * util/grub.d/30_os-prober.in: Fix a comment. Source
9680 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
9681 to set the root device. Place drivemap command in the generated
9684 2009-06-11 Pavel Roskin <proski@gnu.org>
9686 * configure.ac: Remove host_m32. Issues with 64-bit utilities
9687 have long been resolved.
9689 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
9691 * util/grub.d/10_linux.in: Capitalise "Linux".
9693 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
9695 2009-06-11 Pavel Roskin <proski@gnu.org>
9697 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
9698 fix a gcc warning and ensure that the function won't ever exit.
9700 * kern/i386/ieee1275/init.c: Add missing prototype for
9703 * loader/ieee1275/multiboot2.c [__i386__]: Include
9704 grub/cpu/multiboot.h.
9706 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
9707 casts to short - they are not portable and cause warnings. Fix
9708 use of uninitialized values in input_buf. Use ARRAY_SIZE.
9710 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9714 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
9716 (grub_get_root_biosnumber_saved): new variable
9717 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
9718 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
9719 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
9720 %dx after the call if necessary
9721 * conf/common.rmk (pkglib_MODULES): remove boot.mod
9722 (boot_mod_SOURCES): remove
9723 (boot_mod_CFLAGS): remove
9724 (boot_mod_LDFLAGS): remove
9725 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
9726 (boot_mod_SOURCES): new variable
9727 (boot_mod_CFLAGS): likewise
9728 (boot_mod_LDFLAGS): likewise
9729 * conf/i386-efi.rmk: likewise
9730 * conf/i386-ieee1275.rmk: likewise
9731 * conf/i386-pc.rmk: likewise
9732 * conf/powerpc-ieee1275.rmk: likewise
9733 * conf/sparc64-ieee1275.rmk: likewise
9734 * conf/x86_64-efi.rmk: likewise
9735 * include/grub/i386/pc/biosnum.h: new file
9736 * lib/i386/pc/biosnum.c: likewise
9737 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
9738 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
9739 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
9741 2009-06-10 Pavel Roskin <proski@gnu.org>
9743 * io/gzio.c (test_header): Don't reuse one buffer for all data.
9744 Use separate variables. Read only the file size at the end, but
9745 not the checksum that we don't use.
9747 * kern/file.c (grub_file_read): Use void pointer for the buffer.
9750 * kern/ieee1275/openfw.c: Remove libc includes.
9751 * kern/ieee1275/cmain.c: Likewise.
9752 * include/grub/ieee1275/ieee1275.h: Likewise.
9754 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
9757 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
9759 * Makefile.in: Remove all trailing whitespace.
9760 * conf/i386-pc.rmk: Likewise.
9761 * conf/powerpc-ieee1275.rmk: Likewise.
9762 * conf/sparc64-ieee1275.rmk: Likewise.
9763 * docs/grub.texi: Likewise.
9764 * docs/texinfo.tex: Likewise.
9765 * disk/fs_uuid.c: Likewise.
9766 * disk/lvm.c: Likewise.
9767 * disk/scsi.c: Likewise.
9768 * disk/ata.c: Likewise.
9769 * disk/ieee1275/ofdisk.c: Likewise.
9770 * disk/i386/pc/biosdisk.c: Likewise.
9771 * disk/host.c: Likewise.
9772 * disk/raid.c: Likewise.
9773 * disk/efi/efidisk.c: Likewise.
9774 * disk/usbms.c: Likewise.
9775 * disk/memdisk.c: Likewise.
9776 * disk/loopback.c: Likewise.
9777 * kern/powerpc/dl.c: Likewise.
9778 * kern/device.c: Likewise.
9779 * kern/dl.c: Likewise.
9780 * kern/sparc64/dl.c: Likewise.
9781 * kern/ieee1275/ieee1275.c: Likewise.
9782 * kern/term.c: Likewise.
9783 * kern/fs.c: Likewise.
9784 * kern/i386/dl.c: Likewise.
9785 * kern/i386/pc/startup.S: Likewise.
9786 * kern/i386/pc/init.c: Likewise.
9787 * kern/i386/pc/mmap.c: Likewise.
9788 * kern/i386/pc/lzo1x.S: Likewise.
9789 * kern/i386/ieee1275/init.c: Likewise.
9790 * kern/i386/realmode.S: Likewise.
9791 * kern/i386/tsc.c: Likewise.
9792 * kern/partition.c: Likewise.
9793 * kern/corecmd.c: Likewise.
9794 * kern/file.c: Likewise.
9795 * kern/efi/efi.c: Likewise.
9796 * kern/efi/init.c: Likewise.
9797 * kern/efi/mm.c: Likewise.
9798 * kern/main.c: Likewise.
9799 * kern/err.c: Likewise.
9800 * kern/env.c: Likewise.
9801 * kern/disk.c: Likewise.
9802 * kern/generic/millisleep.c: Likewise.
9803 * kern/generic/rtc_get_time_ms.c: Likewise.
9804 * kern/misc.c: Likewise.
9805 * kern/parser.c: Likewise.
9806 * genmk.rb: Likewise.
9807 * configure.ac: Likewise.
9808 * boot/i386/pc/diskboot.S: Likewise.
9809 * boot/i386/pc/pxeboot.S: Likewise.
9810 * boot/i386/pc/boot.S: Likewise.
9811 * boot/i386/pc/lnxboot.S: Likewise.
9812 * boot/i386/pc/cdboot.S: Likewise.
9813 * parttool/pcpart.c: Likewise.
9814 * video/readers/tga.c: Likewise.
9815 * video/video.c: Likewise.
9816 * video/bitmap.c: Likewise.
9817 * lib/envblk.c: Likewise.
9818 * lib/i386/setjmp.S: Likewise.
9819 * fs/xfs.c: Likewise.
9820 * fs/afs.c: Likewise.
9821 * fs/fat.c: Likewise.
9822 * fs/ntfs.c: Likewise.
9823 * fs/udf.c: Likewise.
9824 * fs/affs.c: Likewise.
9825 * fs/iso9660.c: Likewise.
9826 * fs/hfs.c: Likewise.
9827 * fs/fshelp.c: Likewise.
9828 * fs/ext2.c: Likewise.
9829 * fs/jfs.c: Likewise.
9830 * fs/reiserfs.c: Likewise.
9831 * fs/hfsplus.c: Likewise.
9832 * fs/minix.c: Likewise.
9833 * fs/cpio.c: Likewise.
9834 * fs/sfs.c: Likewise.
9835 * fs/ufs.c: Likewise.
9836 * efiemu/prepare.c: Likewise.
9837 * efiemu/loadcore_common.c: Likewise.
9838 * efiemu/runtime/efiemu.sh: Likewise.
9839 * efiemu/runtime/efiemu.S: Likewise.
9840 * efiemu/runtime/efiemu.c: Likewise.
9841 * efiemu/pnvram.c: Likewise.
9842 * efiemu/main.c: Likewise.
9843 * efiemu/i386/pc/cfgtables.c: Likewise.
9844 * efiemu/i386/loadcore64.c: Likewise.
9845 * efiemu/i386/loadcore32.c: Likewise.
9846 * efiemu/loadcore.c: Likewise.
9847 * efiemu/symbols.c: Likewise.
9848 * efiemu/mm.c: Likewise.
9849 * include/grub/autoefi.h: Likewise.
9850 * include/grub/datetime.h: Likewise.
9851 * include/grub/term.h: Likewise.
9852 * include/grub/hfs.h: Likewise.
9853 * include/grub/lvm.h: Likewise.
9854 * include/grub/i386/tsc.h: Likewise.
9855 * include/grub/i386/linux.h: Likewise.
9856 * include/grub/i386/xnu.h: Likewise.
9857 * include/grub/i386/efiemu.h: Likewise.
9858 * include/grub/i386/pc/biosdisk.h: Likewise.
9859 * include/grub/i386/pc/memory.h: Likewise.
9860 * include/grub/i386/pc/vbe.h: Likewise.
9861 * include/grub/parttool.h: Likewise.
9862 * include/grub/video.h: Likewise.
9863 * include/grub/memory.h: Likewise.
9864 * include/grub/fs.h: Likewise.
9865 * include/grub/partition.h: Likewise.
9866 * include/grub/xnu.h: Likewise.
9867 * include/grub/efi/api.h: Likewise.
9868 * include/grub/efi/pe32.h: Likewise.
9869 * include/grub/efi/memory.h: Likewise.
9870 * include/grub/multiboot.h: Likewise.
9871 * include/grub/usbdesc.h: Likewise.
9872 * include/grub/multiboot2.h: Likewise.
9873 * include/grub/acpi.h: Likewise.
9874 * include/grub/efiemu/efiemu.h: Likewise.
9875 * include/grub/disk.h: Likewise.
9876 * include/grub/ieee1275/ieee1275.h: Likewise.
9877 * include/grub/net.h: Likewise.
9878 * include/grub/machoload.h: Likewise.
9879 * include/grub/macho.h: Likewise.
9880 * include/multiboot.h: Likewise.
9881 * genmoddep.awk: Likewise.
9882 * normal/main.c: Likewise.
9883 * normal/menu_entry.c: Likewise.
9884 * normal/menu_viewer.c: Likewise.
9885 * normal/completion.c: Likewise.
9886 * normal/cmdline.c: Likewise.
9887 * normal/misc.c: Likewise.
9888 * normal/datetime.c: Likewise.
9889 * bus/usb/usbtrans.c: Likewise.
9890 * bus/usb/ohci.c: Likewise.
9891 * bus/usb/uhci.c: Likewise.
9892 * bus/usb/usb.c: Likewise.
9893 * mmap/efi/mmap.c: Likewise.
9894 * mmap/i386/pc/mmap_helper.S: Likewise.
9895 * mmap/i386/pc/mmap.c: Likewise.
9896 * mmap/i386/mmap.c: Likewise.
9897 * mmap/i386/uppermem.c: Likewise.
9898 * mmap/mmap.c: Likewise.
9899 * commands/acpi.c: Likewise.
9900 * commands/echo.c: Likewise.
9901 * commands/blocklist.c: Likewise.
9902 * commands/loadenv.c: Likewise.
9903 * commands/usbtest.c: Likewise.
9904 * commands/boot.c: Likewise.
9905 * commands/parttool.c: Likewise.
9906 * commands/search.c: Likewise.
9907 * commands/cat.c: Likewise.
9908 * commands/i386/pc/play.c: Likewise.
9909 * commands/i386/pc/drivemap.c: Likewise.
9910 * commands/i386/pc/vbeinfo.c: Likewise.
9911 * commands/i386/pc/acpi.c: Likewise.
9912 * commands/i386/pc/vbetest.c: Likewise.
9913 * commands/ls.c: Likewise.
9914 * commands/cmp.c: Likewise.
9915 * commands/test.c: Likewise.
9916 * commands/efi/acpi.c: Likewise.
9917 * commands/gptsync.c: Likewise.
9918 * commands/help.c: Likewise.
9919 * partmap/amiga.c: Likewise.
9920 * partmap/apple.c: Likewise.
9921 * partmap/acorn.c: Likewise.
9922 * partmap/pc.c: Likewise.
9923 * partmap/sun.c: Likewise.
9924 * partmap/gpt.c: Likewise.
9925 * script/sh/lexer.c: Likewise.
9926 * script/sh/function.c: Likewise.
9927 * font/font.c: Likewise.
9928 * font/font_cmd.c: Likewise.
9929 * loader/powerpc/ieee1275/linux.c: Likewise.
9930 * loader/efi/chainloader.c: Likewise.
9931 * loader/multiboot_loader.c: Likewise.
9932 * loader/macho.c: Likewise.
9933 * loader/i386/multiboot.c: Likewise.
9934 * loader/i386/linux.c: Likewise.
9935 * loader/i386/pc/linux.c: Likewise.
9936 * loader/i386/pc/multiboot2.c: Likewise.
9937 * loader/i386/pc/chainloader.c: Likewise.
9938 * loader/i386/pc/xnu.c: Likewise.
9939 * loader/i386/bsd_trampoline.S: Likewise.
9940 * loader/i386/efi/linux.c: Likewise.
9941 * loader/i386/multiboot_elfxx.c: Likewise.
9942 * loader/i386/bsd_helper.S: Likewise.
9943 * loader/i386/bsd.c: Likewise.
9944 * loader/i386/linux_trampoline.S: Likewise.
9945 * loader/i386/xnu_helper.S: Likewise.
9946 * loader/i386/xnu.c: Likewise.
9947 * loader/i386/bsd_pagetable.c: Likewise.
9948 * loader/i386/multiboot_helper.S: Likewise.
9949 * loader/xnu.c: Likewise.
9950 * loader/xnu_resume.c: Likewise.
9951 * io/gzio.c: Likewise.
9952 * term/efi/console.c: Likewise.
9953 * term/terminfo.c: Likewise.
9954 * term/ieee1275/ofconsole.c: Likewise.
9955 * term/i386/pc/serial.c: Likewise.
9956 * term/i386/pc/vesafb.c: Likewise.
9957 * term/i386/pc/vga.c: Likewise.
9958 * term/usb_keyboard.c: Likewise.
9959 * term/gfxterm.c: Likewise.
9960 * aclocal.m4: Likewise.
9961 * util/lvm.c: Likewise.
9962 * util/grub.d/30_os-prober.in: Likewise.
9963 * util/grub.d/10_hurd.in: Likewise.
9964 * util/console.c: Likewise.
9965 * util/grub-macho2img.c: Likewise.
9966 * util/grub-probe.c: Likewise.
9967 * util/hostfs.c: Likewise.
9968 * util/i386/pc/grub-mkimage.c: Likewise.
9969 * util/i386/pc/grub-setup.c: Likewise.
9970 * util/i386/efi/grub-mkimage.c: Likewise.
9971 * util/grub-mkconfig.in: Likewise.
9972 * util/raid.c: Likewise.
9973 * util/resolve.c: Likewise.
9974 * util/grub-mkdevicemap.c: Likewise.
9975 * util/grub-emu.c: Likewise.
9976 * util/getroot.c: Likewise.
9977 * util/hostdisk.c: Likewise.
9978 * util/usb.c: Likewise.
9979 * util/grub-editenv.c: Likewise.
9980 * util/misc.c: Likewise.
9982 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
9984 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
9985 `genparttoollist.sh'.
9986 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
9987 Add `*.sh' to the list find searches for and change `mdate.sh'
9990 2009-06-10 Pavel Roskin <proski@gnu.org>
9992 * include/grub/multiboot2.h: Provide compatibility defines for
9994 * include/multiboot2.h: Include stdint.h only if needed, using
9996 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
9998 * loader/ieee1275/multiboot2.c: Likewise.
9999 * loader/multiboot2.c: Likewise.
10000 * loader/multiboot_loader.c: Likewise.
10002 * configure.ac: Use -nostdlib when probing for the target. It
10003 should not be required to have libc for the target.
10005 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10006 they fail without libc headers for the target.
10007 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10009 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10010 preprocessor conditionals.
10012 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10013 build system doesn't need to be aware of the tar.c internals.
10015 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
10017 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
10019 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10021 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10022 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10024 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
10026 * util/i386/pc/grub-install.in: Change the error message if UUIDs
10027 aren't available if ata.mod gets used.
10029 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
10031 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
10032 initialising controller.
10033 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10035 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10037 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10038 to choose between ata and biosdisk module on i386-pc.
10040 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
10042 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10043 Subclass and Programming Interface fields in terms of the 3 byte
10044 Class Code register.
10045 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10047 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10048 interface is OHCI. Add grub_dprintf for symmetry with
10050 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10051 interface is UHCI. Add interf variable for programming
10052 interface. Print interface with class/subclass.
10054 * bus/usb/ohci.c: Set interf with correct field.
10056 * bus/usb/uhci.c: Remove unneeded doubled lines.
10057 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10058 Remove whitespace inside comment.
10060 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10062 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10063 as fallback an equivalent option without depth.
10065 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10067 Not fail if unable to retrieve C/H/S on LBA disks
10069 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
10070 if unable to retrieve C/H/S on LBA disks
10072 2009-06-08 Pavel Roskin <proski@gnu.org>
10074 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10077 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10079 * Makefile.in (uninstall): Remove all $lib_DATA files.
10081 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10083 Bugfix: install on partitionless device
10085 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10088 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10090 * Makefile.in (uninstall): Remove all $include_DATA files.
10092 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10094 * commands/true.c: New file. Implement the true and false commands.
10095 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10096 (true_mod_SOURCES): New variable.
10097 (true_mod_CFLAGS): Likewise.
10098 (true_mod_LDFLAGS): Likewise.
10100 2009-06-05 Colin D Bennett <colin@gibibit.com>
10102 Optimized font character lookup using binary search instead of linear
10103 search. Fonts now are required to have the character index ordered by
10106 * font/font.c (load_font_index): Verify that fonts have ordered
10108 (find_glyph): Use binary search instead of linear search to find a
10109 character in a font.
10111 2009-06-05 Michael Scherer <misc@mandriva.org>
10113 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10114 uses case sensitive btree.
10115 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10116 only for case insensitive filesystems.
10118 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10120 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10121 * conf/common.rmk (search_mod_CFLAGS): likewise
10123 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10125 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
10126 compensate a compiler bug
10128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10130 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
10133 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10135 Definitions for creating asm symbols with Apple's CC
10137 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10138 [APPLE_CC] (VARIABLE): likewise
10140 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10142 Disable lnxboot.img when compiled
10145 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10146 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10147 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10148 [! APPLE_CC] (CODE_LENG): skip
10149 [! APPLE_CC] (setup_sects): likewise
10150 [! APPLE_CC]: skip filling
10152 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10154 Address in trampolines based on 32-bit registers when compiled
10157 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
10159 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10161 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10163 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10165 * kern/misc.c [APPLE_CC] (memcpy): new function
10166 [APPLE_CC] (memmove): likewise
10167 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
10168 (memcpy): define alias conditionally on !APPLE_CC
10171 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10172 APPLE_CC are defined
10173 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10174 (grub_assert_fail): make prototype conditional
10176 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10178 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10180 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10182 (CLEANFILES): add grub-macho2img
10183 (grub_macho2img_SOURCES): new variable
10184 * kern/i386/pc/startup.S (bss_start): new variable
10185 (bss_end): likewise
10186 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10187 * util/grub-macho2img.c: new file
10189 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10191 Use objconv when compiling with Apple's CC
10193 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10194 (efiemu64.o): likewise
10195 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10196 when compiling with Apple's CC
10197 (efiemu64_s.o): likewise
10198 * configure.ac: check for objconv when compiling with Apple's CC
10199 * genmk.rb: use objconv for modules when compiled with Apple's CC
10201 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10203 Define segment as well as section when compiling with
10206 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10207 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10208 (efiemu_convert_pointer): likewise
10209 (efiemu_set_virtual_address_map): likewise
10210 (efiemu_convert_pointer): likewise
10211 (efiemu_getcrc32): likewise
10212 (init_crc32_table): likewise
10213 (reflect): likewise
10214 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10215 (GRUB_MOD_DEP): likewise
10217 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10219 Allow a compilation without -mcmodel=large
10221 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10222 when compiled without -mcmodel=large
10223 (filter_memory_map): remove memory post 4 GiB when compiled
10224 without -mcmodel=large
10225 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
10226 TARGET_CFLAGS when -mcmodel=large isn't supported
10228 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10230 Remove nested functions in efiemu core
10232 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
10234 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10236 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10238 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
10240 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
10242 (grub_cpu_is_tsc_supported): likewise
10243 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
10245 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10247 Absolute addressing through constant with Apple's cc
10249 * kern/i386/pc/startup.S: Define necessary constants
10250 and address through it when using ABS with Apple's CC
10251 * boot/i386/pc/diskboot.S: likewise
10252 * boot/i386/pc/boot.S: likewise
10253 * boot/i386/pc/lnxboot.S: likewise
10254 * boot/i386/pc/cdboot.S: likewise
10255 * mmap/i386/pc/mmap_helper.S: likewise
10256 * commands/i386/pc/drivemap_int13h.S: likewise
10258 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10260 Check if compiler is apple cc
10262 * Makefile.in (ASFLAGS): new variable
10263 (TARGET_ASFLAGS): likewise
10264 (TARGET_MODULE_FORMAT): likewise
10265 (TARGET_APPLE_CC): likewise
10266 (OBJCONV): likewise
10267 (TARGET_IMG_CFLAGS): likewise
10268 (TARGET_CPPFLAGS): add includedir
10269 * configure.ac: call grub_apple_cc and grub_apple_target_cc
10270 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
10271 Check for linker script only if compiler isn't Apple's CC
10272 (TARGET_MODULE_FORMAT): set
10273 (TARGET_APPLE_CC): likewise
10274 (TARGET_ASFLAGS): likewise
10275 (ASFLAGS): likewise
10276 Check for objcopy only if compiler isn't Apple's CC
10277 Check for BSS symbol only if compiler isn't Apple's CC
10278 * genmk.rb: adapt nm options if we use Apple's utils
10279 * aclocal.m4 (grub_apple_cc): new test
10280 (grub_apple_target_cc): likewise
10282 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10284 Simplify sed expressions and improve awk
10286 * Makefile.in (install-local): simplify sed expression
10287 * gencmdlist.sh: likewise
10288 * genmoddep.awk: avoid adding module as a dependency of itself
10290 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10292 Add missing start symbols
10294 * boot/i386/pc/boot.S: add start
10295 * boot/i386/pc/pxeboot.S: likewise
10297 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10299 Fix wrong assumptions with grub-mkimage on EFI
10301 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
10302 (relocate_addresses): consider both r_addend and value at offset
10303 (make_mods_section): zerofill modinfo and header
10304 (convert_elf): write prefix here
10306 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10308 Use .asciz instead of .string
10310 * i386/pc/diskboot.S: use .asciz instead of .string
10311 * i386/pc/boot.S: likewise
10312 * include/grub/dl.h (GRUB_MOD_DEP): likewise
10313 (GRUB_MOD_NAME): likewise
10315 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10319 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
10320 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
10321 (grub_video_setup): remove
10322 (grub_video_set_mode): new prototype
10323 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
10325 (linux_vesafb_res): compile only on PCBIOS
10326 (grub_linux_boot): support gfxpayload
10327 * loader/i386/pc/xnu.c (video_hook): new function
10328 (grub_xnu_set_video): support gfxpayload
10329 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
10330 (DEFAULT_VIDEO_HEIGHT): likewise
10331 (DEFAULT_VIDEO_FLAGS): likewise
10332 (DEFAULT_VIDEO_MODE): new definition
10333 (video_hook): new function
10334 (grub_gfxterm_init): use grub_video_set_mode
10335 * util/grub.d/30_os-prober.in: remove explicit modesetting before
10337 * video/video.c (grub_video_setup): removed
10338 (grub_video_set_mode): new function based on grub_gfxterm_init and
10341 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10343 Avoid calling biosdisk in drivemap
10345 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
10346 (revparse_biosdisk): likewise
10347 (list_mappings): derive name from id directly
10348 (grub_cmd_drivemap): use tryparse_diskstring
10350 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10354 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
10355 (grub_lexer_param): add tokenonhold
10356 (grub_script_create_cmdline): remove cmdline. All callers updated
10357 (grub_script_function_create): make functionname
10358 grub_script_arg. All callers updated
10359 (grub_script_execute_argument_to_string): new prototype
10360 * kern/parser.c (state_transitions): reorder
10361 (grub_parser_cmdline_state): fix a bug and make more compact
10362 * script/sh/execute.c (grub_script_execute_argument_to_string):
10364 (grub_script_execute_cmdline): use new format
10365 * script/sh/function.c (grub_script_function_create): make functionname
10366 grub_script_arg. All callers updated
10367 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
10368 (grub_script_yylex): remove
10369 (grub_script_yylex2): renamed to ...
10370 (grub_script_yylex): ...renamed
10371 parse the expressions like a${b}c
10372 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
10373 (GRUB_PARSER_TOKEN_VAR): remove
10374 (GRUB_PARSER_TOKEN_NAME): likewise
10375 ("if"): declare as typeless
10376 ("while"): likewise
10377 ("function"): likewise
10382 (argument): likewise
10383 (script): accept empty scripts and make exit on error
10384 (arguments): use GRUB_PARSER_TOKEN_ARG
10385 (function): likewise
10386 (command): move error handling to script
10387 (menuentry): move grub_script_lexer_ref before
10388 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
10389 argument. All callers updated
10391 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10393 Prevent GRUB from probing floppies during boot.
10395 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
10396 * commands/search.c (options): Add --no-floppy.
10397 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
10398 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
10399 --no-floppy when searching for UUIDs.
10401 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10403 Simplify the code duplication in commands/search.c.
10405 * commands/search.c (search_label, search_fs_uuid): Merge into ...
10406 (search_fs): ... this. Update all users.
10408 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
10410 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
10412 2009-05-28 Pavel Roskin <proski@gnu.org>
10414 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
10415 Remove the original symlink explicitly.
10417 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
10418 just one slash. That's how grub_fshelp_find_file() does it.
10420 2009-05-26 Pavel Roskin <proski@gnu.org>
10422 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
10425 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
10428 2009-05-25 Christian Franke <franke@computer.org>
10430 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
10432 (grub_atapi_identify): Add wait after drive select.
10433 (grub_ata_identify): Do more strict status register check before
10434 calling grub_atapi_identify (). Suppress error message if status
10435 register is 0x00 after command failure. Add status register
10436 check after PIO read to avoid bogus identify due to stuck DRQ.
10437 Thanks to Pavel Roskin for testing.
10438 (grub_device_initialize): Remove unsafe status register check.
10439 Thanks to 'phcoder' for problem report and patch.
10440 Prevent sign extension in debug message.
10442 2009-05-23 Colin D Bennett <colin@gibibit.com>
10444 Cleaned up `include/grub/normal.h'. Grouped prototypes by
10445 definition file, and functions defined in `normal/menu.c' have had
10446 their prototypes moved to `include/grub/menu.h' for consistency.
10448 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
10450 (grub_menu_get_entry): Likewise.
10451 (grub_menu_get_timeout): Likewise.
10452 (grub_menu_set_timeout): Likewise.
10453 (grub_menu_execute_entry): Likewise.
10454 (grub_menu_execute_with_fallback): Likewise.
10455 (grub_menu_entry_run): Likewise.
10457 * include/grub/normal.h: Re-ordered and grouped function
10458 prototypes by file that the function is defined in.
10459 (grub_menu_execute_callback): Removed; moved to menu.h.
10460 (grub_menu_get_entry): Likewise.
10461 (grub_menu_get_timeout): Likewise.
10462 (grub_menu_set_timeout): Likewise.
10463 (grub_menu_execute_entry): Likewise.
10464 (grub_menu_execute_with_fallback): Likewise.
10465 (grub_menu_entry_run): Likewise.
10466 (grub_menu_addentry): Renamed from this ...
10467 (grub_normal_add_menu_entry): ... to this.
10469 * normal/main.c (grub_menu_addentry): Renamed from this ...
10470 (grub_normal_add_menu_entry): ... to this.
10472 * script/sh/execute.c (grub_script_execute_menuentry): Update
10473 reference to renamed grub_menu_addentry function.
10475 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
10477 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
10479 2009-05-22 Pavel Roskin <proski@gnu.org>
10481 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
10482 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
10483 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
10484 compiling for the i386 targets, but not for the utilities.
10486 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
10488 (grub_root_drive): Likewise.
10489 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
10491 (grub_root_drive): Change size to byte.
10492 (grub_start_addr): Remove.
10493 (grub_end_addr): Likewise.
10494 (grub_apm_bios_info): Likewise.
10496 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
10498 * normal/i386: Remove.
10499 * normal/powerpc: Likewise.
10500 * normal/sparc64: Likewise.
10501 * normal/x86_64: Likewise.
10503 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10505 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
10506 * loader/i386/linux_trampoline.S: Fix indentation
10507 * loader/i386/xnu_helper.S: Likewise
10509 2009-05-18 Colin D Bennett <colin@gibibit.com>
10511 Display error messages when parsing a Lua statement fails.
10512 Previously, executing a syntactically invalid statement like
10513 ")foo" or "bar;" would silently fail.
10515 * script/lua/grub_main.c (handle_lua_error): New function.
10516 (grub_lua_parse_line): Improved reporting of Lua parser and
10519 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10521 Remove -Werror which causes build to fail on some systems
10523 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
10524 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
10525 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
10527 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10529 trampoline for linux on 64-bit platform
10531 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
10532 loader/i386/efi/linux_trampoline.S
10533 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
10535 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
10537 * loader/i386/linux_trampoline.S: moved here
10538 * loader/i386/efi/linux.c (allocate_pages): reserve space for
10540 (jumpvector): removed
10541 (grub_linux_trampoline_start): new declaration
10542 (grub_linux_trampoline_end): likewise
10543 (grub_linux_boot): use trampoline when on 64-bit platform
10544 * loader/i386/linux.c: likewise
10546 2009-05-16 Pavel Roskin <proski@gnu.org>
10548 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
10549 const to avoid a warning.
10550 (grub_lua_setenv): Likewise.
10551 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
10552 lmsg to fix a warning.
10554 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10556 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
10557 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10558 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
10559 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10560 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10561 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10562 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10563 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10565 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10567 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
10569 2009-05-16 Bean <bean123ch@gmail.com>
10571 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
10572 (lua_mod_SOURCES): New variable.
10573 (lua_mod_CFLAGS): Likewise.
10574 (lua_mod_LDFLAGS): Likewise.
10576 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
10577 (setjmp_mod_SOURCES): New variable.
10578 (setjmp_mod_CFLAGS): Likewise.
10579 (setjmp_LDFLAGS): Likewise.
10581 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
10582 (setjmp_mod_SOURCES): New variable.
10583 (setjmp_mod_CFLAGS): Likewise.
10584 (setjmp_LDFLAGS): Likewise.
10586 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10587 (setjmp_mod_SOURCES): New variable.
10588 (setjmp_mod_CFLAGS): Likewise.
10589 (setjmp_LDFLAGS): Likewise.
10591 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10592 (setjmp_mod_SOURCES): New variable.
10593 (setjmp_mod_CFLAGS): Likewise.
10594 (setjmp_LDFLAGS): Likewise.
10596 * normal/i386/setjmp.S: Moved from here ...
10597 * lib/i386/setjmp.S: ... Moved here
10598 * normal/x86_64/setjmp.S: Moved from here ...
10599 * lib/x86_64/setjmp.S: ... Moved here
10600 * normal/powerpc/setjmp.S: Moved from here ...
10601 * lib/powerpc/setjmp.S: ... Moved here
10602 * normal/sparc64/setjmp.S: Moved from here ...
10603 * lib/sparc64/setjmp.S: ... Moved here
10605 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
10606 returns_twice in mingw.
10608 * script/lua/grub_lib.c: New file.
10609 * script/lua/grub_lib.h: Likewise.
10610 * script/lua/grub_lua.h: Likewise.
10611 * script/lua/grub_main.c: Likewise.
10612 * script/lua/lapi.c: Likewise.
10613 * script/lua/lapi.h: Likewise.
10614 * script/lua/lauxlib.c: Likewise.
10615 * script/lua/lauxlib.h: Likewise.
10616 * script/lua/lbaselib.c: Likewise.
10617 * script/lua/lcode.c: Likewise.
10618 * script/lua/lcode.h: Likewise.
10619 * script/lua/ldblib.c: Likewise.
10620 * script/lua/ldebug.c: Likewise.
10621 * script/lua/ldebug.h: Likewise.
10622 * script/lua/ldo.c: Likewise.
10623 * script/lua/ldo.h: Likewise.
10624 * script/lua/ldump.c: Likewise.
10625 * script/lua/lfunc.c: Likewise.
10626 * script/lua/lfunc.h: Likewise.
10627 * script/lua/lgc.c: Likewise.
10628 * script/lua/lgc.h: Likewise.
10629 * script/lua/linit.c: Likewise.
10630 * script/lua/liolib.c: Likewise.
10631 * script/lua/llex.c: Likewise.
10632 * script/lua/llex.h: Likewise.
10633 * script/lua/llimits.h: Likewise.
10634 * script/lua/lmathlib.c: Likewise.
10635 * script/lua/lmem.c: Likewise.
10636 * script/lua/lmem.h: Likewise.
10637 * script/lua/loadlib.c: Likewise.
10638 * script/lua/lobject.c: Likewise.
10639 * script/lua/lobject.h: Likewise.
10640 * script/lua/lopcodes.c: Likewise.
10641 * script/lua/lopcodes.h: Likewise.
10642 * script/lua/loslib.c: Likewise.
10643 * script/lua/lparser.c: Likewise.
10644 * script/lua/lparser.h: Likewise.
10645 * script/lua/lstate.c: Likewise.
10646 * script/lua/lstate.h: Likewise.
10647 * script/lua/lstring.c: Likewise.
10648 * script/lua/lstring.h: Likewise.
10649 * script/lua/lstrlib.c: Likewise.
10650 * script/lua/ltable.c: Likewise.
10651 * script/lua/ltable.h: Likewise.
10652 * script/lua/ltablib.c: Likewise.
10653 * script/lua/ltm.c: Likewise.
10654 * script/lua/ltm.h: Likewise.
10655 * script/lua/lua.h: Likewise.
10656 * script/lua/luaconf.h: Likewise.
10657 * script/lua/lualib.h: Likewise.
10658 * script/lua/lundump.c: Likewise.
10659 * script/lua/lundump.h: Likewise.
10660 * script/lua/lvm.c: Likewise.
10661 * script/lua/lvm.h: Likewise.
10662 * script/lua/lzio.c: Likewise.
10663 * script/lua/lzio.h: Likewise.
10665 2009-05-16 Bean <bean123ch@gmail.com>
10667 * include/grub/kernel.h (grub_module_header_types): Add type
10670 * kern/main.c (grub_load_config): New function.
10671 (grub_main): Call grub_load_config to read boot config.
10673 * grub-mkimage (generate_image): New parameter config_path.
10674 (options): New option --config.
10675 (main): Parse --config option, and pass it to generate_image.
10677 2009-05-14 Christian Franke <franke@computer.org>
10679 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
10680 This fixes build on Cygwin.
10682 2009-05-14 Pavel Roskin <proski@gnu.org>
10684 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
10685 jump. This saves two bytes, so the typical case of 2 swapped
10686 drives would fit 32 bytes.
10688 2009-05-13 Pavel Roskin <proski@gnu.org>
10690 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
10691 grub_uint32_t to avoid a warning.
10693 * loader/i386/linux.c (allocate_pages): When assigning
10694 real_mode_mem, cast through grub_size_t to fix a warning. The
10695 code already makes sure that the value would fit a pointer.
10696 (grub_linux_setup_video): Cast render_target->data to
10697 grub_size_t to fix a warning.
10699 2009-05-13 Javier Martín <lordhabbit@gmail.com>
10701 * commands/i386/pc/drivemap.c: New file - implement drivemap
10703 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
10704 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
10706 2009-05-13 Pavel Roskin <proski@gnu.org>
10708 * util/i386/pc/grub-setup.c (setup): Remove unused variable
10709 embedding_area_exists.
10711 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
10713 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
10714 it easier to understand / work with.
10715 Improve warning messages for cases where there's no embedding area,
10716 or when it is too small (or core.img too large).
10718 2009-05-13 Pavel Roskin <proski@gnu.org>
10720 * loader/i386/pc/multiboot2.c: Add necessary includes for
10721 grub_multiboot2_real_boot().
10723 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
10724 PX record is always little-endian. We only need the lower 2
10727 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
10728 facilitate code reuse.
10729 (grub_cpio_mount): Use "struct head", not a char buffer. This
10730 fixes a warning reported by gcc 4.4.
10732 * kernel/disk.c (grub_disk_read): Use void pointer for the
10734 (grub_disk_write): Use const void pointer for the buffer.
10735 Adjust all callers. Remove unnecessary casts.
10737 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
10739 * util/i386/pc/grub-install.in: Update copyright year.
10741 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10745 * commands/gptsync.c: new file
10746 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
10747 (gptsync_mod_SOURCES): new variable
10748 (gptsync_mod_CFLAGS): likewise
10749 (gptsync_mod_LDFLAGS): likewise
10750 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
10752 (GRUB_PC_PARTITION_TYPE_HFS): likewise
10753 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
10754 * conf/i386-ieee1275.rmk: likewise
10755 * conf/i386-pc.rmk: likewise
10756 * conf/powerpc-ieee1275.rmk: likewise
10758 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10762 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
10763 (grub_dl_ref): likewise
10765 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
10767 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
10768 split in two functions (one for msdos and one for gpt).
10770 2009-05-08 Pavel Roskin <proski@gnu.org>
10772 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
10775 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
10776 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
10777 Initialize them with -1. Add sanity check for bad1. Eliminate
10780 2009-05-08 David S. Miller <davem@davemloft.net>
10782 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
10784 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
10786 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
10789 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
10791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
10792 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
10794 2009-05-05 David S. Miller <davem@davemloft.net>
10796 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
10798 2009-05-05 Pavel Roskin <proski@gnu.org>
10800 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
10801 of grub_dl_ref() and grub_dl_unref().
10802 * commands/parttool.c: Remove preprocessor conditionals around
10803 grub_dl_ref() and grub_dl_unref().
10804 * fs/affs.c: Likewise.
10805 * fs/afs.c: Likewise.
10806 * fs/cpio.c: Likewise.
10807 * fs/ext2.c: Likewise.
10808 * fs/fat.c: Likewise.
10809 * fs/hfs.c: Likewise.
10810 * fs/hfsplus.c: Likewise.
10811 * fs/iso9660.c: Likewise.
10812 * fs/jfs.c: Likewise.
10813 * fs/minix.c: Likewise.
10814 * fs/ntfs.c: Likewise.
10815 * fs/reiserfs.c: Likewise.
10816 * fs/sfs.c: Likewise.
10817 * fs/udf.c: Likewise.
10818 * fs/ufs.c: Likewise.
10819 * fs/xfs.c: Likewise.
10820 * include/grub/dl.h: Likewise.
10821 * loader/xnu.c: Likewise.
10823 2009-05-04 Pavel Roskin <proski@gnu.org>
10825 * commands/acpi.c: Remove unused variable my_mod.
10826 * partmap/amiga.c: Likewise.
10827 * partmap/apple.c: Likewise.
10828 * partmap/gpt.c: Likewise.
10829 * partmap/pc.c: Likewise.
10830 * partmap/sun.c: Likewise.
10831 * term/gfxterm.c: Likewise.
10832 * term/i386/pc/vesafb.c: Likewise.
10833 * term/i386/pc/vga.c: Likewise.
10835 2009-05-04 David S. Miller <davem@davemloft.net>
10837 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
10838 pointer args to grub_ieee1275_get_property().
10840 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
10842 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
10843 devices, and do not traverse down under controller nodes.
10845 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
10846 (grub_ofdisk_open): Use it to un-escape "," characters.
10847 * kern/disk.c (find_part_sep): New.
10848 (grub_disk_open): Use it to find the first non-escaped ','
10849 character in the disk name.
10850 * util/ieee1275/devicemap.c (escape_of_path): New.
10851 (grub_util_emit_devicemap_entry): Use it.
10852 * util/sparc64/ieee1275/grub-install.in: Update script to
10853 strip partition specifiers properly by not triggering on
10854 '\' escaped ',' characters.
10856 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10858 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
10860 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
10862 (linux_vesafb_modes): Add a lot of additional modes to the list (based
10863 on documentation from Wikipedia).
10865 2009-05-04 Pavel Roskin <proski@gnu.org>
10867 * disk/ata.c: Spelling fixes.
10868 * disk/raid.c: Likewise.
10869 * disk/usbms.c: Likewise.
10870 * disk/dmraid_nvidia.c: Likewise.
10871 * kern/ieee1275/openfw.c: Likewise.
10872 * kern/ieee1275/init.c: Likewise.
10873 * kern/ieee1275/cmain.c: Likewise.
10874 * boot/i386/pc/cdboot.S: Likewise.
10875 * video/readers/png.c: Likewise.
10876 * video/i386/pc/vbe.c: Likewise.
10877 * fs/udf.c: Likewise.
10878 * fs/hfs.c: Likewise.
10879 * fs/reiserfs.c: Likewise.
10880 * efiemu/runtime/efiemu.c: Likewise.
10881 * efiemu/main.c: Likewise.
10882 * efiemu/mm.c: Likewise.
10883 * include/grub/elf.h: Likewise.
10884 * include/grub/xnu.h: Likewise.
10885 * include/grub/usbdesc.h: Likewise.
10886 * include/grub/usb.h: Likewise.
10887 * include/grub/script_sh.h: Likewise.
10888 * include/grub/lib/LzmaEnc.h: Likewise.
10889 * include/grub/efiemu/efiemu.h: Likewise.
10890 * include/grub/command.h: Likewise.
10891 * normal/menu.c: Likewise.
10892 * normal/main.c: Likewise.
10893 * normal/datetime.c: Likewise.
10894 * bus/usb/uhci.c: Likewise.
10895 * mmap/i386/uppermem.c: Likewise.
10896 * mmap/mmap.c: Likewise.
10897 * commands/acpi.c: Likewise.
10898 * commands/test.c: Likewise.
10899 * partmap/apple.c: Likewise.
10900 * font/font.c: Likewise.
10901 * loader/sparc64/ieee1275/linux.c: Likewise.
10902 * loader/macho.c: Likewise.
10903 * loader/i386/bsd_trampoline.S: Likewise.
10904 * loader/i386/bsd.c: Likewise.
10905 * loader/xnu.c: Likewise.
10906 * term/i386/pc/vesafb.c: Likewise.
10907 * term/usb_keyboard.c: Likewise.
10908 * util/resolve.c: Likewise.
10909 * util/getroot.c: Likewise.
10911 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
10913 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
10915 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10917 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
10920 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10922 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
10923 parameter only available on BIOS.
10925 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10927 Removed wrong semicolon in declaration
10929 * grub/misc.h (grub_dprintf): remove semicolon
10931 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10933 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
10934 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
10935 is done by grub_cmd_linux() now).
10936 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
10937 restore video to text mode.
10938 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
10939 indicates lack of "vga=" parameter. "vga=0" is mapped to
10940 `GRUB_LINUX_VID_MODE_NORMAL'.
10942 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
10944 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
10945 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
10946 and `normal/script.c'. Add `kern/rescue_reader.c',
10947 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
10948 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
10949 `grub_script.tab.c'.
10951 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10952 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10954 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10955 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10957 * Makefile.in: Remove duplicated 2008 in Copyright line.
10959 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10961 * util/misc.c (grub_util_warn): New function. Emits a warning
10963 * include/grub/util/misc.h (grub_util_warn): New declaration.
10965 * util/i386/pc/grub-install.in: Understand --force and pass it down
10968 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
10970 (setup): Improve error messages and add warnings when requested to
10971 install in odd layouts. Refuse to install using blocklists unless
10974 2009-05-04 martin f. krafft <madduck@madduck.net>
10976 * disk/raid.c (grub_raid_scan_device): Improve debug message.
10978 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10980 Updated copyright year
10982 * fs/hfsplus.c: updated copyright year
10984 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10988 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
10989 in the space previously used by unused3
10990 (grub_hfsplus_uuid): new function
10991 (grub_hfsplus_fs): added uuid field
10993 2009-05-03 Pavel Roskin <proski@gnu.org>
10995 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
10996 suppress warnings. It's no longer needed.
10997 * disk/host.c: Likewise.
10998 * disk/ata_pthru.c: Likewise.
10999 * disk/loopback.c: Likewise.
11000 * hook/datehook.c: Likewise.
11001 * parttool/pcpart.c: Likewise.
11002 * fs/i386/pc/pxe.c: Likewise.
11003 * fs/ntfscomp.c: Likewise.
11004 * efiemu/main.c: Likewise.
11005 * mmap/mmap.c: Likewise.
11006 * commands/crc.c: Likewise.
11007 * commands/hexdump.c: Likewise.
11008 * commands/hdparm.c: Likewise.
11009 * commands/acpi.c: Likewise.
11010 * commands/echo.c: Likewise.
11011 * commands/minicmd.c: Likewise.
11012 * commands/blocklist.c: Likewise.
11013 * commands/memrw.c: Likewise.
11014 * commands/loadenv.c: Likewise.
11015 * commands/usbtest.c: Likewise.
11016 * commands/lsmmap.c: Likewise.
11017 * commands/boot.c: Likewise.
11018 * commands/parttool.c: Likewise.
11019 * commands/configfile.c: Likewise.
11020 * commands/search.c: Likewise.
11021 * commands/ieee1275/suspend.c: Likewise.
11022 * commands/cat.c: Likewise.
11023 * commands/i386/pc/pxecmd.c: Likewise.
11024 * commands/i386/pc/play.c: Likewise.
11025 * commands/i386/pc/halt.c: Likewise.
11026 * commands/i386/pc/vbeinfo.c: Likewise.
11027 * commands/i386/pc/vbetest.c: Likewise.
11028 * commands/lspci.c: Likewise.
11029 * commands/date.c: Likewise.
11030 * commands/handler.c: Likewise.
11031 * commands/ls.c: Likewise.
11032 * commands/test.c: Likewise.
11033 * commands/cmp.c: Likewise.
11034 * commands/efi/loadbios.c: Likewise.
11035 * commands/efi/fixvideo.c: Likewise.
11036 * commands/halt.c: Likewise.
11037 * commands/help.c: Likewise.
11038 * commands/reboot.c: Likewise.
11039 * hello/hello.c: Likewise.
11040 * script/sh/main.c: Likewise.
11041 * loader/xnu.c: Likewise.
11042 * term/terminfo.c: Likewise.
11043 * term/i386/pc/serial.c: Likewise.
11044 * term/usb_keyboard.c: Likewise.
11046 2009-05-03 David S. Miller <davem@davemloft.net>
11048 * normal/menu.c: Include grub/parser.h
11050 2009-05-03 Pavel Roskin <proski@gnu.org>
11052 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11054 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11055 Suggested by Javier Martín <lordhabbit@gmail.com>
11057 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11058 efiemu??.o doesn't exist.
11059 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11062 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
11064 FreeBSD 64-bit support
11066 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
11067 and loader/i386/bsd_trampoline.S
11068 (bsd_mod_ASFLAGS): new variable
11069 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11070 (FREEBSD_MODTYPE_KERNEL64): likewise
11071 (grub_bsd64_trampoline_start): likewise
11072 (grub_bsd64_trampoline_end): likewise
11073 (grub_bsd64_trampoline_selfjump): likewise
11074 (grub_bsd64_trampoline_gdt): likewise
11075 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11076 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11077 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11078 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
11079 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11081 * loader/i386/bsd_pagetable.c: new file
11082 * loader/i386/bsd_trampoline.S: likewise
11083 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11084 (ALIGN_VAR): likewise
11085 (entry_hi): new variable
11086 (kern_end_mdofs): likewise
11087 (is_64bit): likewise
11088 (grub_freebsd_add_meta): use ALIGN_VAR
11089 (grub_e820_mmap): new declaration
11090 (grub_freebsd_add_mmap): new function
11091 (grub_freebsd_add_meta_module): support 64 bit kernels
11092 (grub_freebsd_list_modules): use ALIGN_VAR
11093 (gdt_descriptor): new declaration
11094 (grub_freebsd_boot): support 64 bit kernels
11095 (grub_bsd_elf64_hook): new function
11096 (grub_bsd_load_elf): support elf64
11098 2009-05-03 Bean <bean123ch@gmail.com>
11100 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11101 after we get the result of if statement.
11103 2009-05-03 Bean <bean123ch@gmail.com>
11105 * Makefile.in (enable_efiemu): New variable.
11107 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11109 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11111 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11112 path, add -mno-red-zone option.
11113 (efiemu64_s.o): Likewise.
11114 (efiemu64.o): Use macro $^ for source file.
11116 * configure.ac (--enable-efiemu): New option.
11118 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11122 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11123 (pkglib_MODULES): add xnu.mod
11124 (xnu_mod_SOURCES): new variable
11125 (xnu_mod_CFLAGS): likewise
11126 (xnu_mod_LDFLAGS): likewise
11127 (xnu_mod_ASFLAGS): likewise
11128 * conf/i386-pc.rmk: likewise
11129 * conf/x86_64-efi.rmk: likewise
11130 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
11132 * include/grub/i386/macho.h: new file
11133 * include/grub/i386/xnu.h: likewise
11134 * include/grub/macho.h: likewise
11135 * include/grub/machoload.h: likewise
11136 * include/grub/x86_64/macho.h: likewise
11137 * include/grub/x86_64/xnu.h: likewise
11138 * include/grub/xnu.h: likewise
11139 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11140 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11141 * loader/i386/efi/xnu.c: new file
11142 * loader/i386/pc/xnu.c: likewise
11143 * loader/i386/xnu.c: likewise
11144 * loader/i386/xnu_helper.S: likewise
11145 * loader/macho.c: likewise
11146 * loader/xnu.c: likewise
11147 * loader/xnu_resume.c: likewise
11148 * util/grub-dumpdevtree: likewise
11149 * include/grub/i386/pit.h: include grub/err.h
11150 (grub_pit_wait): export
11151 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
11153 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11157 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
11158 _linux_efi, linux_efi.
11159 new files in grub-emu
11160 new targets efiemu32.o and efiemu64.o
11161 * loader/linux_normal_efiemu.c: likewise
11162 * loader/i386/efi/linux.c: added preliminary efiemu support
11163 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
11165 * include/grub/autoefi.h: new file
11166 * include/grub/i386/efiemu.h: likewise
11167 * include/grub/i386/pc/efiemu.h: likewise
11168 * include/grub/efi/api.h: add LL suffix when necessary
11169 new definitions relating to tables
11170 * include/grub/efiemu/efiemu.h: new file
11171 * include/grub/efiemu/runtime.h: likewise
11172 * efiemu/prepare.c: likewise
11173 * efiemu/loadcore_common.c: likewise
11174 * efiemu/loadcore64.c: likewise
11175 * efiemu/runtime/efiemu.sh: likewise
11176 * efiemu/runtime/efiemu.S: likewise
11177 * efiemu/runtime/efiemu.c: likewise
11178 * efiemu/runtime/config.h: likewise
11179 * efiemu/prepare32.c: likewise
11180 * efiemu/main.c: likewise
11181 * efiemu/modules/pnvram.c: likewise
11182 * efiemu/modules/i386: likewise
11183 * efiemu/modules/i386/pc: likewise
11184 * efiemu/modules/acpi.c: likewise
11185 * efiemu/i386/pc/cfgtables.c: likewise
11186 * efiemu/i386/loadcore64.c: likewise
11187 * efiemu/i386/loadcore32.c: likewise
11188 * efiemu/prepare64.c: likewise
11189 * efiemu/loadcore.c: likewise
11190 * efiemu/symbols.c: likewise
11191 * efiemu/mm.c: likewise
11192 * efiemu/loadcore32.c: likewise
11194 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11198 * commands/acpi.c: new file
11199 * commands/i386/pc/acpi.c: likewise
11200 * commands/efi/acpi.c: likewise
11201 * include/grub/acpi.h: likewise
11202 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11203 (acpi_mod_SOURCES): new variable
11204 (acpi_mod_CFLAGS): likewise
11205 (acpi_mod_LDFLAGS): likewise
11206 * conf/i386-efi.rmk: likewise
11207 * conf/x86_64-efi.rmk: likewise
11209 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11211 Missing part from mmap patch
11213 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11214 (grub_mmap_unregister)
11215 (grub_mmap_free_and_unregister): use grub_mmap_register
11217 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11221 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11222 * loader/i386/linux.c (find_mmap_size): likewise
11223 (allocate_pages): likewise
11224 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11225 (grub_fill_multiboot_mmap): likewise
11226 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11227 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11228 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11229 (OPENBSD_MMAP_RESERVED): likewise
11230 * include/grub/i386/pc/memory.h: include grub/memory.h
11231 (grub_lower_mem): removed
11232 (grub_upper_mem): likewise
11233 (GRUB_MACHINE_MEMORY_ACPI): new definition
11234 (GRUB_MACHINE_MEMORY_NVS): likewise
11235 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11236 (GRUB_MACHINE_MEMORY_HOLE): likewise
11237 (grub_machine_mmap_register): likewise
11238 (grub_machine_mmap_unregister): likewise
11239 (grub_machine_get_upper): likewise
11240 (grub_machine_get_lower): likewise
11241 (grub_machine_get_post64): likewise
11242 * include/grub/i386/efi/memory.h: new file
11243 * include/grub/x86_64/efi/memory.h: likewise
11244 * include/grub/efi/memory.h: likewise
11245 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
11246 (mmap_mod_SOURCES): new variable
11247 (mmap_mod_LDFLAGS): likewise
11248 (mmap_mod_ASFLAGS): likewise
11249 * conf/i386-coreboot.rmk: likewise
11250 * conf/i386-ieee1275.rmk: likewise
11251 * conf/i386-efi.rmk: likewise
11252 * conf/x86_64-efi.rmk: likewise
11253 * include/grub/types.h (UINT_TO_PTR): new macro
11254 (PTR_TO_UINT32): likewise
11255 (PTR_TO_UINT64): likewise
11256 * include/grub/memory.h: new file
11257 * mmap/i386/pc/mmap.c: likewise
11258 * mmap/i386/pc/mmap_helper.S: likewise
11259 * mmap/i386/uppermem.c: likewise
11260 * mmap/mmap.c: likewise
11261 * mmap/efi/mmap.c: likewise
11262 * kern/i386/coreboot/init.c (grub_machine_init): don't use
11264 * kern/i386/pc/init.c (grub_lower_mem): removed variable
11265 (grub_upper_mem): likewise
11266 (grub_machine_init): don't use grub_upper_mem,
11267 make grub_lower_mem local
11268 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
11269 grub_mmap_iterate and grub_mmap_get_upper
11270 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
11272 2009-05-02 Bean <bean123ch@gmail.com>
11274 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
11275 script/sh/parser.y.
11276 (pkglib_MODULES): Add normal.mod and sh.mod.
11277 (normal_SOURCES): New variable.
11278 (normal_mod_CFLAGS): Likewise.
11279 (normal_mod_LDFLAGS): Likewise.
11280 (sh_mod_SOURCES): Likewise.
11281 (sh_mod_CFLAGS): Likewise.
11282 (sh_mod_LDFLAGS): Likewise.
11284 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
11285 script/sh/lexer.c_DEPENDENCIES.
11286 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
11287 kern/rescue_reader.c and kern/rescue_parser.c.
11288 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
11289 (grub_emu_SOURCES): Change source files.
11290 (pkglib_MODULES): Remove normal.mod.
11291 (normal_SOURCES): Removed.
11292 (normal_mod_CFLAGS): Likewise.
11293 (normal_mod_LDFLAGS): Likewise.
11294 * conf/i386-coreboot.rmk: Likewise.
11295 * conf/i386-efi.rmk: Likewise.
11296 * conf/i386-ieee1276.rmk: Likewise.
11297 * conf/powerpc-ieee1275.rmk: Likewise.
11298 * conf/sparc64-ieee1275.rmk: Likewise.
11299 * conf/x86_64-efi.rmk: Likewise.
11301 * include/grub/command.h (grub_command_execute): New inline function.
11303 * include/grub/menu.h (grub_menu_entry): Removed commands field.
11305 * include/grub/normal.h: Remove <grub/setjmp.h>.
11306 (grub_fs_module_list): Moved to normal/autofs.c.
11307 (grub_exit_env): Removed.
11308 (grub_command_execute): Likewise.
11309 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
11311 (read_command_list): New function declaration.
11312 (read_fs_list): Likewise.
11314 * include/parser.h: Include <grub/reader.h>.
11315 (grub_parser_split_cmdline): Change type of getline parameter.
11316 (grub_parser): New structure.
11317 (grub_parser_class): New variable.
11318 (grub_parser_execute): New function declaration.
11319 (grub_register_rescue_parser): Likewise.
11320 (grub_parser_register): New inline function.
11321 (grub_parser_unregister): Likewise.
11322 (grub_parser_get_current): Likewise.
11323 (grub_parser_set_current): Likewise.
11325 * include/grub/reader.h: New file.
11326 * kern/reader.c: Likewise.
11327 * kern/rescue_parser.c: Likewise.
11328 * kern/rescue_reader.c: Likewise.
11329 * normal/autofs.c: Likewise.
11330 * normal/dyncmd.c: Likewise.
11332 * include/grub/rescue.h: Removed.
11333 * normal/command.h: Likewise.
11335 * include/grub/script.h: Moved to ...
11336 * include/grub/script_sh.h: ... Moved here.
11337 * normal/execute.c: Moved to ...
11338 * script/sh/execute.c: ... Moved here.
11339 * normal/function.c: Moved to ...
11340 * script/sh/function.c: ... Moved here.
11341 * normal/lexer.c: Moved to ...
11342 * script/sh/lexer.c: ... Moved here.
11343 * normal/parser.y: Moved to ...
11344 * script/sh/parser.y: ... Moved here.
11345 * normal/script.c: Moved to ...
11346 * script/sh/script.c: ... Moved here.
11348 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
11350 (grub_exit_env): Removed.
11351 (fs_module_list): Moved to normal/autofs.c.
11352 (grub_file_getline): Don't handle comment here.
11353 (free_menu): Skip removed field entry->commands.
11354 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
11356 (read_config_file): Removed nested parameter, change getline function.
11357 (grub_enter_normal_mode): Removed.
11358 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
11359 (read_command_list): Likewise.
11360 (autoload_fs_module): Moved to normal/autofs.c.
11361 (read_fs_list): Likewise.
11362 (reader_nested): New variable.
11363 (grub_normal_execute): Run parser.sh to switch to sh parser.
11364 (grub_cmd_rescue): Removed.
11365 (cmd_normal): Removed.
11366 (grub_cmd_normal): Unregister itself at the beginning. Don't register
11368 (grub_cmdline_run): New function.
11369 (grub_normal_reader_init): Likewise.
11370 (grub_normal_read_line): Likewise.
11371 (grub_env_write_pager): Likewise.
11372 (cmdline): New variable.
11373 (grub_normal_reader): Likewise.
11374 (GRUB_MOD_INIT): Register normal reader and set as current, register
11375 pager hook, register normal command with grub_register_command_prio,
11376 so that it won't show up in command.lst.
11377 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
11378 grub_fs_autoload_hook.
11380 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
11381 (grub_menu_execute_entry): Replace grub_script_execute with
11382 grub_parser_execute, change parameter to grub_command_execute.
11384 * normal/menu_text.c: Remove <grub/script.h>.
11386 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
11387 and <grub/parser.h>.
11388 (run): Change editor_getline to use new parser interface. Change
11389 parameter to grub_command_execute.
11391 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
11392 <grub/reader.h> and <grub/parser.h>.
11393 (grub_load_normal_mode): Execute normal command.
11394 (grub_main): Call grub_register_core_commands,
11395 grub_register_rescue_parser and grub_register_rescue_reader, use
11396 grub_reader_loop to enter input loop.
11398 * kern/parser.c (grub_parser_split_cmdline): Change type of
11400 (grub_parser_class): New variable.
11401 (grub_parser_execute): New function.
11403 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
11404 * loader/multiboot2.c: Likewise.
11405 * loader/sparc64/ieee1275/linux.c: Likewise.
11407 * util/grub-emu.c (read_command_list): New dummy function.
11409 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11411 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
11412 count to 16 for CCISS and IDA.
11414 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11416 * normal/menu_text.c (grub_wait_after_message): Print a newline
11417 after waiting for user input.
11419 * loader/i386/linux.c: Include `<grub/normal.h>'.
11420 (grub_cmd_linux): Improve the error message about `ask' mode, by
11421 waiting for user input so it's not missed (we can do this, since
11422 user requested interaction).
11424 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11426 Added missing lst to grub-mkrescue
11428 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
11429 and ${input_dir}/parttool.lst
11431 2009-04-30 David S. Miller <davem@davemloft.net>
11433 * util/hostdisk.c (device_is_wholedisk): New function.
11434 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
11435 zero only if device_is_wholedisk() returns true.
11437 * util/hostdisk.c (convert_system_partition_to_system_disk):
11438 Handle virtual disk devices named /dev/vdiskX as found on sparc
11441 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
11442 lettered partition specifier is found, convert to numbered.
11444 2009-04-29 David S. Miller <davem@davemloft.net>
11446 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
11447 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11449 * normal/command.c: Add missing newline at end of file.
11451 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
11453 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
11454 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
11455 grub_ofdisk_read): Likewise, and deal similarly with the fact that
11456 ihandles have a 32-bit type but need to be stored in a "void *".
11458 2009-04-28 Pavel Roskin <proski@gnu.org>
11460 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
11461 not disk. Adjust all dependencies.
11462 (grub_fs_uuid_close): Use grub_device_close(), not
11465 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
11466 parent's partition, don't copy it by reference, as it gets freed
11469 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11471 Preboot hooks support
11473 * commands/boot.c (struct grub_preboot_t): new declaration
11474 (preboots_head): new variable
11475 (preboots_tail): likewise
11476 (grub_loader_register_preboot_hook): new function
11477 (grub_loader_unregister_preboot_hook): likewise
11478 (grub_loader_set): launch preboot hooks
11479 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
11480 (grub_loader_register_preboot_hook): new declaration
11481 (grub_loader_unregister_preboot_hook): likewise
11483 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11487 * disk/scsi.c (grub_scsi_open): added missing cast when
11488 calling grub_dprintf
11490 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
11492 Bug and warning fixes
11494 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
11496 * commands/test.c (test_parse): fixed bug with file tests and corrected
11497 declaration of find_file
11499 2009-04-26 Pavel Roskin <proski@gnu.org>
11501 * Makefile.in: Don't install empty manual pages if help2man is
11502 missing. Use help2man option for output, not shell redirection.
11504 2009-04-26 David S. Miller <davem@davemloft.net>
11506 * util/grub-mkdevicemap.c (make_device_map): Add missing
11507 NESTED_FUNC_ATTR to process_device().
11509 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11513 * commands/test.c: rewritten to use bash-like test
11515 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11517 Parttool autoloading and improvements
11519 * Makefile.in (pkglib_DATA): add parttool.lst
11520 (parttool.lst): new target
11521 * genmk.rb: generate parttool-*
11522 (CLEANFILES): add #{parttool}
11523 (PARTTOOLFILES): new variable
11524 * genparttoollist.sh: new file
11525 * parttool/pcpart.c (grub_pcpart_boot): more feedback
11526 (grub_pcpart_type): likewise
11527 * commands/parttool.c (helpmsg): new variable
11528 (grub_cmd_parttool): output help if not enough arguments are supplied
11530 (GRUB_MOD_INIT(parttool)): use helpmsg
11532 2009-04-24 David S. Miller <davem@davemloft.net>
11534 Avoiding opening same device multiple times in device iterator.
11536 * kern/device.c: (grub_device_iterate): Define struct part_ent,
11537 and use it to build a list of partitions in iterate_disk() and
11538 iterate_partition().
11540 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
11543 * disk/ieee1275/nand.c (grub_nand_iterate): Return
11544 grub_devalias_iterate() result instead of unconditional 0.
11545 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
11546 Also, capture hook return value, either directly or via
11547 grub_children_iterate(), and propagate to caller.
11548 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
11549 grub_children_iterate): Return value is now 'int' instead of
11551 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
11552 like a proper iterator, stopping when hooks return non-zero.
11553 (grub_devalias_iterate): Likewise.
11555 2009-04-23 David S. Miller <davem@davemloft.net>
11557 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
11559 2009-04-22 David S. Miller <davem@davemloft.net>
11561 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
11562 is larger than address_cells, use that value for address_cells too.
11564 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
11565 IEEE1275_MAX_PATH_LEN): Define.
11566 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
11567 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
11568 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
11569 'devtype'. Explicitly NULL terminate devalias expansion.
11571 * util/sparc64/ieee1275/misc.c: New file.
11572 * util/sparc64/ieee1275/grub-setup.c: New file.
11573 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
11574 * util/sparc64/ieee1275/grub-mkimage.c: New file.
11575 * util/sparc64/ieee1275/grub-install.in: New file.
11576 * util/ieee1275/ofpath.c: New file.
11577 * util/ieee1275/devicemap.c: New file.
11578 * util/devicemap.c: New file.
11579 * util/deviceiter.c: New file.
11580 * kern/sparc64/ieee1275/init.c: New file.
11581 * include/grub/util/ofpath.h: New file.
11582 * include/grub/util/deviceiter.h: New file.
11583 * util/grub-mkdevicemap.c: Include deviceiter.h.
11584 Implement using grub_util_emit_devicemap_entry and
11585 grub_util_iterate_devices.
11586 * conf/i386-corebook.rmk: Build util/deviceiter.c and
11587 util/devicemap.c into grub-mkdevicemap
11588 * conf/i386-efi.rmk: Likewise.
11589 * conf/i386-ieee1275.rmk: Likewise.
11590 * conf/i386-pc.rmk: Likewise.
11591 * conf/powerpc-ieee1275.rmk: Likewise.
11592 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
11593 images and installation utilities. Build kernel as image
11594 instead of as elf binary. Use common rules as much as possible.
11596 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11598 Correct GPT definition
11600 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11603 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
11605 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
11607 2009-04-19 David S. Miller <davem@davemloft.net>
11609 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
11610 (grub_rescue_cmd_linux): Rename to...
11611 (grub_cmd_linux): and fix prototype.
11612 (grub_rescue_cmd_initrd): Rename to...
11613 (grub_cmd_initrd): and fix prototype.
11614 (cmd_linux, cmd_initrd): New.
11615 (GRUB_MOD_INIT(linux)): Use grub_register_command().
11616 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
11618 2009-04-17 Pavel Roskin <proski@gnu.org>
11620 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
11622 (grub_ohci_transfer): Likewise.
11624 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
11626 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
11627 return without a value. Fix inconsistent indentation.
11629 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
11630 match struct grub_fs.
11632 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
11633 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
11634 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11635 * commands/lspci.c (grub_lspci_iter): Likewise.
11637 2009-04-16 Bean <bean123ch@gmail.com>
11639 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
11642 2009-04-15 Pavel Roskin <proski@gnu.org>
11644 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
11645 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
11646 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
11649 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
11651 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
11652 that no multiple data or metadata areas are supported and `Unknown
11655 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11657 Move loader out of the kernel
11659 * kern/loader.c: moved to ...
11660 * commands/boot.c: ... moved here
11661 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
11662 * commands/boot.c (grub_cmd_boot): moved here. All users updated
11663 * include/grub/kernel.h (grub_machine_fini): export
11664 * include/grub/loader.h (grub_loader_is_loaded): update declaration
11665 (grub_loader_set): likewise
11666 (grub_loader_unset): likewise
11667 (grub_loader_boot): likewise
11668 * conf/common.rmk: new module boot.mod
11669 (pkglib_MODULES): add boot.mod
11670 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
11671 (grub_emu_SOURCES): likewise
11672 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
11673 (grub_emu_SOURCES): likewise
11674 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
11675 (grub_emu_SOURCES): likewise
11676 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
11677 (grub_emu_SOURCES): likewise
11678 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
11679 (grub_emu_SOURCES): likewise
11680 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
11681 (grub_emu_SOURCES): likewise
11682 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
11683 (grub_emu_SOURCES): likewise
11685 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11687 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
11689 * kern/misc.c (grub_itoa): Removed function
11690 (grub_ltoa): likewise
11691 (grub_vsprintf): use grub_lltoa
11693 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11697 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
11698 * conf/i386-coreboot.rmk: likewise
11699 * conf/i386-ieee1275.rmk: likewise
11700 * conf/powerpc-ieee1275.rmk: likewise
11702 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
11704 * INSTALL: Add that `./autogen.sh' needs to be run before
11707 2009-04-14 Bean <bean123ch@gmail.com>
11709 * Makefile.in (pkglib_DATA): Add handler.lst.
11710 (handler.lst): New rule.
11712 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
11713 * conf/i386-coreboot.rmk: Likewise.
11714 * conf/i386-ieee1275.rmk: Likewise.
11715 * conf/i386-efi.rmk: Likewise.
11716 * conf/x86_64-efi.rmk: Likewise.
11717 * conf/powerpc-ieee1275.rmk: Likewise.
11718 * conf/sparc64-ieee1275.rmk: Likewise.
11720 * genhandlerlist.sh: New file.
11722 * genmk.rb: Add rules to generate handler.lst.
11724 * include/grub/normal.h (grub_file_getline): New function definition.
11725 (read_handler_list): Likewise.
11726 (free_handler_list): Likewise.
11728 * include/grub/term.h (grub_term_register_input): Add name parameter
11729 for auto generation of handler.lst.
11730 (grub_term_register_output): Likewise.
11732 * normal/handler.c: New file.
11734 * normal/main.c (get_line): Renamed to grub_file_getline.
11735 (read_config_file): Use the newly renamed grub_file_getline.
11736 (read_command_list): Likewise.
11737 (read_fs_list): Likewise.
11738 (grub_normal_execute): Call read_handler_list to parse handler.lst.
11739 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
11741 * term/efi/console.c (grub_console_init): Add name parameter for auto
11742 generation of handler.lst.
11743 * term/gfxterm.c: Likewise.
11744 * term/i386/pc/at_keyboard.c: Likewise.
11745 * term/i386/pc/console.c: Likewise.
11746 * term/i386/pc/serial.c: Likewise.
11747 * term/i386/pc/vesafb.c: Likewise.
11748 * term/i386/pc/vga.c: Likewise.
11749 * term/i386/pc/vga_text.c: Likewise.
11750 * term/ieee1275/ofconsole.c: Likewise.
11751 * term/usb_keyboard.c: Likewise.
11753 2009-04-14 Bean <bean123ch@gmail.com>
11755 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
11756 properly with null character.
11758 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
11760 * configure: Remove.
11761 * config.h.in: Likewise.
11762 * stamp-h.in: Likewise.
11763 * DISTLIST: Likewise.
11764 * conf/common.mk: Likewise.
11765 * conf/i386-coreboot.mk: Likewise.
11766 * conf/i386-efi.mk: Likewise.
11767 * conf/i386-ieee1275.mk: Likewise.
11768 * conf/i386.mk: Likewise.
11769 * conf/i386-pc.mk: Likewise.
11770 * conf/powerpc-ieee1275.mk: Likewise.
11771 * conf/sparc64-ieee1275.mk: Likewise.
11772 * conf/x86_64-efi.mk: Likewise.
11774 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
11777 2009-04-14 John Stanley <jpsinthemix@verizon.net>
11778 David S. Miller <davem@davemloft.net>
11780 * util/hostdisk.c (make_device_name): Fix buffer length
11783 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
11785 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
11786 <sys/param.h> and <sys/sysctl.h>.
11787 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
11788 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
11789 opening the device and reset them afterwards.
11791 2009-04-13 Pavel Roskin <proski@gnu.org>
11793 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
11794 Reported by John Stanley <jpsinthemix@verizon.net>
11796 2009-04-13 Robert Millan <rmh@aybabtu.com>
11798 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
11799 that name for menuentries when appropriate.
11801 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11803 * util/grub.d/10_freebsd.in: Add a missing `fi'.
11805 2009-04-13 Robert Millan <rmh@aybabtu.com>
11807 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
11808 to Linux, simply abort telling the user it's no longer supported.
11810 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11812 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
11813 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
11814 `freebsd_loadenv' only when devices.hints exist.
11816 2009-04-13 Pavel Roskin <proski@gnu.org>
11818 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
11820 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11822 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
11824 (grub_drive): Likewise.
11826 2009-04-13 David S. Miller <davem@davemloft.net>
11828 * kern/sparc64/ieee1275/ieee1275.c: New file.
11829 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
11830 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
11831 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
11832 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
11833 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
11834 grub_ieee1275_alloc_physmem): Declare new exported functions.
11836 * include/grub/sparc64/ieee1275/loader.h: New file.
11837 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11838 * include/grub/sparc64/kernel.h: Likewise.
11839 * loader/sparc64/ieee1275/linux.c: Likewise.
11841 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
11842 (grub_fstest_SOURCES): Likewise.
11844 * util/hostdisk.c (make_device_name): Do not make any assumptions
11845 about the length of drive names.
11847 * kern/dl.c (grub_dl_load_file): Close file immediately when
11848 we are done using it.
11850 2009-04-12 David S. Miller <davem@davemloft.net>
11852 * kern/misc.c (grub_ltoa): Fix cast when handling negative
11853 values. Noticed by Pavel Roskin.
11855 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
11858 * genmk.rb: Add more flexible image type specification, also
11859 pass --strip-unneeded to objcopy.
11860 * conf/i386-pc.rmk: Use *_FORMAT.
11861 * conf/i386-pc.mk: Rebuilt.
11863 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
11864 (OFDISK_HASH_SZ): Define.
11865 (ofdisk_hash): New hash table.
11866 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
11867 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
11868 instead of device phandle which is not unique.
11870 * kern/sparc64/ieee1275/init.c: Delete, replace with...
11871 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
11872 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
11873 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
11874 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
11875 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
11876 GRUB_KERNEL_MACHINE_DATA_END): Define.
11877 (grub_kernel_image_size, grub_total_module_size): Declare.
11879 2009-04-12 Pavel Roskin <proski@gnu.org>
11881 * configure.ac: Change the logic when we check for target tools.
11882 Do it when the target is specified and it's different from the
11883 specified value of the host.
11885 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
11887 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
11888 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
11889 GNU/kFreeBSD. Check if a device is a character device. Use
11890 DIOCGMEDIASIZE to get the size.
11891 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
11892 support for GNU/kFreeBSD.
11893 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
11894 is a character device instead of a block device. Add support for
11895 FreeBSD device names.
11897 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
11898 is a character device instead of a block device.
11900 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
11901 is a character device instead of a block device.
11903 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
11905 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
11906 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
11907 FreeBSD. Check if a device is a character device. Use
11908 DIOCGMEDIASIZE to get the size.
11909 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
11910 support for FreeBSD.
11911 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
11912 is a character device instead of a block device. Add support for
11913 FreeBSD device names.
11915 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
11916 a character device instead of a block device.
11917 (grub_util_check_char_device): New function.
11919 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
11920 a character device instead of a block device.
11922 * include/grub/util/getroot.h (grub_util_check_char_device): New
11925 2009-04-11 David S. Miller <davem@davemloft.net>
11927 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
11929 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
11930 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
11931 function, if present.
11932 (__bswapdi2): Likewise.
11934 * include/grub/sparc64/ieee1275/boot.h: New file.
11935 * boot/sparc64/ieee1275/boot.S: Likewise.
11936 * boot/sparc64/ieee1275/diskboot.S: Likewise.
11938 * kern/misc.c (grub_ltoa): New function.
11939 (grub_vsprintf): Use it to format 'long' integers.
11941 2009-04-10 David S. Miller <davem@davemloft.net>
11943 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
11944 slots are of type grub_ieee1275_cell_t.
11945 (grub_nand_read): Likewise.
11946 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
11947 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
11948 macros are used to compare values in arg/ret block of the call.
11949 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
11950 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
11951 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
11952 grub_ieee1275_instance_to_path, grub_ieee1275_write,
11953 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
11954 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
11955 grub_ieee1275_close, grub_ieee1275_set_property,
11956 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
11957 grub_ieee1275_cell_t.
11958 * kern/ieee1275/openfw.c (grub_map): Likewise.
11959 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
11960 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
11962 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
11963 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11964 (grub_devalias_iterate): Likewise.
11966 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11970 * fs/ufs.c (INODE_NBLOCKS): new definition
11971 (struct grub_ufs_dirent): added fields for non-BSD dirents
11972 (grub_ufs_get_file_block): fixed double indirect handling
11973 (grub_ufs_lookup_symlink): use more robust way to determine whether
11975 (grub_ufs_find_file): support for non-BSD dirents
11976 (grub_ufs_dir): support for non-BSD dirents
11978 2009-04-10 Bean <bean123ch@gnail.com>
11980 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
11981 attribute, otherwise the size would be wrong for i386 platform.
11983 * include/grub/pci.h (grub_pci_read_word): New inline function.
11984 (grub_pci_read_byte): Likewise.
11985 (grub_pci_write): Likewise.
11986 (grub_pci_write_word): Likewise.
11987 (grub_pci_write_byte): Likewise.
11989 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
11991 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
11992 (find_framebuf): Scan pci to locate the frame buffer address.
11994 * commands/efi/fixvideo.c: New file.
11996 * commands/efi/loadbios.c: Likewise.
11998 * commands/memrw.c: Likewise.
12000 * util/grub-dumpbios.in: Likewise.
12002 * conf/common.rmk (grub-dumpbios): New utility.
12003 (pkglib_MODULES): New module memrw.mod.
12004 (memrw_mod_SOURCE): New macro.
12005 (memrw_mod_CFLAGS): Likewise.
12006 (memrw_mod_LDFLAGS): Likewise.
12008 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
12010 (loadbios_mod_SOURCE): New macro.
12011 (loadbios_mod_CFLAGS): Likewise.
12012 (loadbios_mod_LDFLAGS): Likewise.
12013 (fixvideo_mod_SOURCE): Likewise.
12014 (fixvideo_mod_CFLAGS): Likewise.
12015 (fixvideo_mod_LDFLAGS): Likewise.
12017 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
12019 (loadbios_mod_SOURCE): New macro.
12020 (loadbios_mod_CFLAGS): Likewise.
12021 (loadbios_mod_LDFLAGS): Likewise.
12022 (fixvideo_mod_SOURCE): Likewise.
12023 (fixvideo_mod_CFLAGS): Likewise.
12024 (fixvideo_mod_LDFLAGS): Likewise.
12026 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
12028 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12030 2009-04-07 David S. Miller <davem@davemloft.net>
12032 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12033 support for R_SPARC_OLO10 relocations. Fix compile warning for
12034 R_SPARC_WDISP30 case.
12035 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
12037 2009-04-06 Pavel Roskin <proski@gnu.org>
12039 * include/grub/misc.h (ARRAY_SIZE): New macro.
12040 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12042 * loader/i386/linux.c (allocate_pages): Use free_pages().
12043 (grub_linux_unload): Don't use free_pages().
12044 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12045 wrong index. Treat all other modes as text modes.
12046 (grub_cmd_linux): Initialize vid_mode unconditionally to
12047 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12049 * commands/help.c (print_command_help): Use cmd->prio, not
12050 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12052 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12056 * parttool/pcpart.c: new file
12057 * commands/parttool.c: likewise
12058 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12059 (parttool_mod_SOURCES): new variable
12060 (parttool_mod_CFLAGS): likewise
12061 (parttool_mod_LDFLAGS): likewise
12062 (pcpart_mod_SOURCES): likewise
12063 (pcpart_mod_CFLAGS): likewise
12064 (pcpart_mod_LDFLAGS): likewise
12065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
12066 and parttool/pcpart.c
12067 * conf/i386-efi.rmk: likewise
12068 * conf/i386-ieee1275.rmk: likewise
12069 * conf/i386-pc.rmk: likewise
12070 * conf/powerpc-ieee1275.rmk: likewise
12071 * conf/sparc64-ieee1275.rmk: likewise
12072 * conf/x86_64-ieee1275.rmk: likewise
12074 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12076 Support for mtime and further expandability of dir command
12078 * include/grub/lib/datetime.h: moved to ...
12079 * include/grub/datetime.h: ... moved here and added
12080 declaration of grub_unixtime2datetime. All users updated
12081 * include/grub/fs.h: new syntax for dir and mtime functions in
12083 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12084 and GRUB_FSHELP_FLAGS_MASK
12085 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12086 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12087 (grub_ext2_mtime): new function
12088 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12089 (grub_hfsplus_mtime): new function
12090 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12091 (GRUB_UFS_ATTR_FILE): likewise
12092 (GRUB_UFS_ATTR_LNK): likewise
12093 (struct grub_ufs_sblock): new fields mtime
12094 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12096 (grub_ufs_dir): mtime support
12097 (grub_ufs_mtime): new function
12098 * fs/affs.c (grub_affs_dir): use new dir syntax
12099 * fs/afs.c (grub_afs_dir): likewise
12100 * fs/cpio.c (grub_cpio_dir): likewise
12101 * fs/fat.c (grub_fat_find_dir): likewise
12102 * fs/hfs.c (grub_hfs_dir): likewise
12103 * fs/iso9660.c (grub_iso9660_dir): likewise
12104 * fs/jfs.c (grub_jfs_dir): likewise
12105 * fs/minix.c (grub_minix_dir): likewise
12106 * fs/ntfs.c (grub_ntfs_dir): likewise
12107 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12108 * fs/sfs.c (grub_sfs_dir): likewise
12109 * fs/xfs.c (grub_xfs_dir): likewise
12110 * util/hostfs.c (grub_hostfs_dir): likewise
12111 * lib/datetime.c: moved to ...
12112 * normal/datetime.c: ... moved here
12113 (grub_unixtime2datetime): new function
12114 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
12115 * normal/completion.c (iterate_dir): use new dir syntax
12116 * normal/misc.c (grub_normal_print_device_info): tell the
12117 last modification time of a volume
12118 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
12119 * conf/common.rmk: added lib/datetime.c to ls.mod
12120 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
12121 (normal_mod_SOURCES): likewise
12122 (datetime_mod_SOURCES): Removed lib/datetime.c
12123 * conf/i386-efi.rmk: likewise
12124 * conf/i386-ieee1275.rmk: likewise
12125 * conf/i386-pc.rmk: likewise
12126 * conf/powerpc-ieee1275.rmk: likewise
12127 * conf/sparc64-ieee1275.rmk: likewise
12128 * conf/x86_64-efi.rmk: likewise
12130 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12132 Trim trailing spaces in FAT label and support mtools-like labels
12134 * fs/fat.c (grub_fat_iterate_dir): New function based
12135 on grub_fat_find_dir
12136 (grub_fat_find_dir): use grub_fat_iterate_dir
12137 (grub_fat_label): likewise
12139 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12141 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
12143 remove extraneous kernel_elf_HEADERS
12145 2009-04-04 Bean <bean123ch@gnail.com>
12147 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12149 * util/misc.c: Likewise.
12151 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12153 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12154 instead of grub_printf.
12156 2009-04-03 Robert Millan <rmh@aybabtu.com>
12158 * loader/i386/linux.c (grub_linux_setup_video): Fill
12159 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12160 values from `mode info' structure instead of hardcoded
12163 2009-04-01 Pavel Roskin <proski@gnu.org>
12165 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12167 * genmk.rb: Likewise.
12168 * configure.ac: Likewise.
12170 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12172 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12173 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12175 2009-04-01 David S. Miller <davem@davemloft.net>
12177 * normal/sparc64/setjmp.S: Fix setjmp implementation.
12178 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
12179 (grub_setjmp): Mark with 'returns_twice' attribute.
12180 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12181 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12182 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12184 2009-04-01 Robert Millan <rmh@aybabtu.com>
12186 Reapply fix from 2008-07-28 which was accidentally reverted; also
12187 perform the same fix to a similar check in same function.
12189 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12190 with the same number are found, just use issue a warning with
12191 grub_dprintf(), as this error has been reported to be non-fatal.
12193 2009-03-31 Pavel Roskin <proski@gnu.org>
12195 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12196 for cross-compilation.
12198 2009-03-30 Robert Millan <rmh@aybabtu.com>
12200 Fix i386-ieee1275 build.
12202 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12203 Remove declaration.
12205 2009-03-30 Pavel Roskin <proski@gnu.org>
12207 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12208 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12209 zero-terminated, rely only on the strlen value. Fix comparison
12210 of strings differing in length.
12212 2009-03-30 Robert Millan <rmh@aybabtu.com>
12214 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12215 checking for abi version. Improve error messages on BIOS to notify
12216 user about `linux16' command.
12218 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12222 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12223 in case of collision
12224 * disk/scsi.c (grub_scsi_open): free scsi in case of error
12226 2009-03-29 Robert Millan <rmh@aybabtu.com>
12228 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12229 set `vid_mode' accordingly.
12230 (grub_linux_boot): Process `vid_mode' and set video mode.
12232 2009-03-29 Robert Millan <rmh@aybabtu.com>
12234 * util/grub.d/10_linux.in (linux_entry): New function.
12235 Factorize generation of Linux boot entries.
12237 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12239 Make the format of Environment Block plain text. The boot loader
12240 part is not tested well yet.
12242 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
12244 (envblk): Likewise.
12245 (usage): Remove "info" and "clear". Add "unset". Update the
12246 description of "set", as this does not delete variables any
12248 (create_envblk_file): Complete rewrite.
12249 (open_envblk_file): Likewise.
12250 (cmd_info): Removed.
12251 (cmd_list): Likewise.
12252 (cmd_set): Likewise.
12253 (cmd_clear): Likewise.
12254 (list_variables): New function.
12255 (write_envblk): Likewise.
12256 (set_variables): Likewise.
12257 (unset_variables): Likewise.
12258 (main): Complete rewrite.
12260 * commands/loadenv.c (buffer): Removed.
12261 (envblk): Likewise.
12262 (open_envblk_file): New function.
12263 (read_envblk_file): Complete rewrite.
12264 (grub_cmd_load_env): Likewise.
12265 (grub_cmd_list_env): Likewise.
12266 (struct blocklist): New struct.
12267 (free_blocklists): New function.
12268 (check_blocklists): Likewise.
12269 (write_blocklists): Likewise.
12270 (grub_cmd_save_env): Complete rewrite.
12272 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
12273 a plain text signature.
12274 (GRUB_ENVBLK_MAXLEN): Removed.
12275 (struct grub_envblk): Complete rewrite.
12276 (grub_envblk_find): Removed.
12277 (grub_envblk_insert): Likewise.
12278 (grub_envblk_open): New prototype.
12279 (grub_envblk_set): Likewise.
12280 (grub_envblk_delete): Put const to VALUE.
12281 (grub_envblk_iterate): Put const to NAME and VALUE.
12282 (grub_envblk_close): New prototype.
12283 (grub_envblk_buffer): New inline function.
12284 (grub_envblk_size): Likewise.
12286 * lib/envblk.c: Include grub/mm.h.
12287 (grub_env_find): Removed.
12288 (grub_envblk_open): New function.
12289 (grub_envblk_close): Likewise.
12290 (escaped_value_len): Likewise.
12291 (find_next_line): Likewise.
12292 (grub_envblk_insert): Removed.
12293 (grub_envblk_set): New function.
12294 (grub_envblk_delete): Complete rewrite.
12295 (grub_envblk_iterate): Likewise.
12297 2009-03-28 Robert Millan <rmh@aybabtu.com>
12299 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
12300 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
12301 variables. Use 16-bit loader.
12302 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
12304 * kern/i386/loader.S (grub_linux_boot): Rename to ...
12305 (grub_linux16_boot): ... this. Update all users.
12306 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
12307 (grub_linux_boot): ... this. Update all users.
12309 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
12310 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
12311 commands to `linux16' and `initrd16'.
12312 (GRUB_MOD_FINI(linux)): Rename to ...
12313 (GRUB_MOD_FINI(linux16)): ... this.
12315 2009-03-24 Pavel Roskin <proski@gnu.org>
12317 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
12318 not just for compilation.
12320 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
12322 Move multiboot helper out of kernel
12324 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
12325 `loader/i386/multiboot_helper.S'.
12326 * conf/i386-coreboot.rmk: Likewise
12327 * conf/i386-ieee1275.rmk: Likewise
12329 * kern/i386/loader.S: Move multiboot helpers from here...
12330 * loader/i386/multiboot_helper.S: ...moved here
12331 * include/grub/i386/loader.h: Move declarations of multiboot
12332 helpers from here...
12333 * include/grub/i386/multiboot.h: ...moved here
12334 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
12336 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12338 * kern/env.c (grub_env_context_open): Added an argument to specify
12339 whether a new context inherits exported variables from current
12340 one. This is useful when making a sandbox to interpret a config
12342 All callers updated.
12344 * include/grub/env.h (grub_env_context_open): Updated the prototype.
12346 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12348 * kern/env.c (grub_env_context_close): Fix memory leaks.
12350 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12352 * normal/main.c (grub_normal_execute): Added an argument
12353 BATCH to specify if an interactive interface should be provided
12354 after reading a config file.
12355 All callers updated.
12356 (read_command_list): Prevent being executed twice.
12357 (read_fs_list): Likewise.
12359 * include/grub/normal.h (grub_normal_execute): Updated the
12362 2009-03-22 Pavel Roskin <proski@gno.org>
12364 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
12366 * kern/i386/pc/startup.S: Likewise.
12367 * kern/i386/efi/startup.S: Likewise.
12368 * kern/i386/ieee1275/startup.S: Likewise.
12369 * kern/i386/coreboot/startup.S: Likewise.
12370 * kern/x86_64/efi/startup.S: Likewise.
12372 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
12373 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
12374 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
12376 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
12378 Bugfixes in multiboot for bugs uncovered by solaris kernel.
12380 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
12382 Use vaddr of correct segment for entry_point.
12384 2009-03-21 Bean <bean123ch@gmail.com>
12386 * commands/blocklist.c: Add include file <grub/command.h>, remove
12387 <grub/normal.h> and <grub/arg.h>.
12388 (grub_cmd_blocklist): Use the new command interface.
12389 (GRUB_MOD_INIT): Likewise.
12390 (GRUB_MOD_FINI): Likewise.
12391 * commands/boot.c: Likewise.
12392 * commands/cat.c: Likewise.
12393 * commands/cmp.c: Likewise.
12394 * commands/configfile.c: Likewise.
12395 * commands/crc.c: Likewise.
12396 * commands/echo.c: Likewise.
12397 * commands/halt.c: Likewise.
12398 * commands/handler.c: Likewise.
12399 * commands/hdparm.c: Likewise.
12400 * commands/help.c: Likewise.
12401 * commands/hexdump.c: Likewise.
12402 * commands/loadenv.c: Likewise.
12403 * commands/ls.c: Likewise.
12404 * commands/lsmmap.c: Likewise.
12405 * commands/lspci.c: Likewise.
12406 * commands/loadenv.c: Likewise.
12407 * commands/read.c: Likewise.
12408 * commands/reboot.c: Likewise.
12409 * commands/search.c: Likewise.
12410 * commands/sleep.c: Likewise.
12411 * commands/test.c: Likewise.
12412 * commands/usbtest.c: Likewise.
12413 * commands/videotest.c: Likewise.
12414 * commands/i386/cpuid.c: Likewise.
12415 * commands/i386/pc/halt.c: Likewise.
12416 * commands/i386/pc/play.c: Likewise.
12417 * commands/i386/pc/pxecmd.c: Likewise.
12418 * commands/i386/pc/vbeinfo.c: Likewise.
12419 * commands/i386/pc/vbetest.c: Likewise.
12420 * commands/ieee1275/suspend.c: Likewise.
12421 * disk/loopback.c: Likewise.
12422 * font/font_cmd.c: Likewise.
12423 * hello/hello.c: Likewise.
12424 * loader/efi/appleloader.c: Likewise.
12425 * loader/efi/chainloader.c: Likewise.
12426 * loader/i386/bsd.c: Likewise.
12427 * loader/i386/efi/linux.c: Likewise.
12428 * loader/i386/ieee1275/linux.c: Likewise.
12429 * loader/i386/linux.c: Likewise.
12430 * loader/i386/pc/chainloader.c: Likewise.
12431 * loader/i386/pc/linux.c: Likewise.
12432 * loader/powerpc/ieee1275/linux.c: Likewise.
12433 * loader/multiboot_loader.c: Likewise.
12434 * term/gfxterm.c: Likewise.
12435 * term/i386/pc/serial.c: Likewise.
12436 * term/terminfo.c: Likewise.
12438 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
12439 * term/i386/pc/vga.c: Likewise.
12440 * video/readers/jpeg.c: Likewise.
12441 * video/readers/png.c: Likewise.
12442 * video/readers/tga.c: Likewise.
12444 * util/grub-fstest (cmd_loopback): Removed.
12445 (cmd_blocklist): Likewise.
12446 (cmd_ls): Likewise.
12447 (grub_register_command): Likewise.
12448 (grub_unregister_command): Likewise.
12449 (execute_command): Use grub_command_find to locate command and execute
12452 * include/grub/efi/chainloader.h: Removed.
12453 * loader/efi/chainloader_normal.c: Likewise.
12454 * loader/i386/bsd_normal.c: Likewise.
12455 * loader/i386/pc/chainloader_normal.c: Likewise.
12456 * loader/i386/pc/multiboot_normal.c: Likewise.
12457 * loader/linux_normal.c: Likewise.
12458 * loader/multiboot_loader_normal.c: Likewise.
12459 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
12461 * gencmdlist.sh: Scan new registration command grub_register_extcmd
12462 and grub_register_command_p1.
12464 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
12465 kern/command.c, lib/arg.c and commands/extcmd.c.
12466 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
12467 (minicmd_mod_SOURCES): New variable.
12468 (minicmd_mod_CFLAGS): Likewise.
12469 (minicmd_mod_LDFLAGS): Likewise.
12470 (extcmd_mod_SOURCES): Likewise.
12471 (extcmd_mod_CFLAGS): Likewise.
12472 (extcmd_mod_LDFLAGS): Likewise.
12473 (boot_mod_SOURCES): Removed.
12474 (boot_mod_CFLAGS): Likewise.
12475 (boot_mod_LDFLAGS): Likewise.
12477 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
12479 (kernel_img_HEADERS): Add command.h.
12480 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
12481 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
12483 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
12484 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
12485 remove the corresponding normal mode command.
12486 (normal_mod_SOURCES): Remove normal/arg.c.
12487 * conf/i386-coreboot.rmk: Likewise.
12488 * conf/i386-efi.rmk: Likewise.
12489 * conf/i386-ieee1275.rmk: Likewise.
12490 * conf/powerpc-ieee1275.rmk: Likewise.
12491 * conf/x86_64-efi.rmk: Likewise.
12493 * include/grub/arg.h: Move from here ...
12494 * include/grub/lib/arg.h: ... to here.
12496 * normal/arg.c: Move from here ...
12497 * lib/arg.c: ... to here.
12499 * commands/extcmd.c: New file.
12500 * commands/minicmd.c: Likewise.
12501 * include/grub/command.h: Likewise.
12502 * include/grub/extcmd.h: Likewise.
12503 * kern/command.c: Likewise.
12504 * kern/corecmd.c: Likewise.
12506 * kern/list.c (grub_list_iterate): Return int instead of void.
12507 (grub_list_insert): New function.
12508 (grub_prio_list_insert): Likewise.
12510 * kern/rescue.c (grub_rescue_command): Removed.
12511 (grub_rescue_command_list): Likewise.
12512 (grub_rescue_register_command): Likewise.
12513 (grub_rescue_unregister_command): Likewise.
12514 (grub_rescue_cmd_boot): Move to minicmd.c
12515 (grub_rescue_cmd_help): Likewise.
12516 (grub_rescue_cmd_info): Likewise.
12517 (grub_rescue_cmd_boot): Likewise.
12518 (grub_rescue_cmd_testload): Likewise.
12519 (grub_rescue_cmd_dump): Likewise.
12520 (grub_rescue_cmd_rmmod): Likewise.
12521 (grub_rescue_cmd_lsmod): Likewise.
12522 (grub_rescue_cmd_exit): Likewise.
12523 (grub_rescue_print_devices): Moved to corecmd.c.
12524 (grub_rescue_print_files): Likewise.
12525 (grub_rescue_cmd_ls): Likewise.
12526 (grub_rescue_cmd_insmod): Likewise.
12527 (grub_rescue_cmd_set): Likewise.
12528 (grub_rescue_cmd_unset): Likewise.
12529 (attempt_normal_mode): Use grub_command_find to get normal module.
12530 (grub_enter_rescue_mode): Use grub_register_core_commands to register
12531 commands, remove grub_rescue_register_command calls.
12533 * normal/command.c (grub_register_command): Removed.
12534 (grub_unregister_command): Likewise.
12535 (grub_command_find): Likewise.
12536 (grub_iterate_commands): Likewise.
12537 (rescue_command): Likewise.
12538 (export_command): Moved to corecmd.c.
12539 (set_command): Removed.
12540 (unset_command): Likewise.
12541 (insmod_command): Likewise.
12542 (rmmod_command): Likewise.
12543 (lsmod_command): Likewise.
12544 (grub_command_init): Likewise.
12546 * normal/completion.c (iterate_command): Use cmd->prio to check for
12548 (complete_arguments): Use grub_extcmd_t structure to find options.
12549 (grub_normal_do_completion): Change function grub_iterate_commands to
12550 grub_command_iterate.
12552 * normal/execute.c (grub_script_execute_cmd): No need to parse
12555 * normal/main.c (grub_dyncmd_dispatcher): New function.
12556 (read_command_list): Register unload commands as dyncmd.
12557 (grub_cmd_normal): Use new command interface, register rescue,
12558 unregister normal at entry, register normal, unregister rescue at exit.
12560 * include/grub/list.h (grub_list_test_t): New type.
12561 (grub_list_iterate): Return int instead of void.
12562 (grub_list_insert): New function.
12563 (GRUB_AS_NAMED_LIST_P): New macro.
12564 (GRUB_AS_PRIO_LIST): Likewise.
12565 (GRUB_AS_PRIO_LIST_P): Likewise.
12566 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
12567 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
12568 (grub_prio_list): New structure.
12569 (grub_prio_list_insert): New function.
12570 (grub_prio_list_remove): New inline function.
12572 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
12573 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
12574 (GRUB_COMMAND_FLAG_MENU): Likewise.
12575 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12576 (GRUB_COMMAND_FLAG_TITLE): Likewise.
12577 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12578 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
12579 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
12580 (grub_command): Likewise.
12581 (grub_register_command): Likewise.
12582 (grub_command_find): Likewise.
12583 (grub_iterate_commands): Likewise.
12584 (grub_command_init): Likewise.
12585 (grub_arg_parse): Likewise.
12586 (grub_arg_show_help): Likewise.
12588 * include/grub/rescue.h (grub_rescue_register_command): Removed.
12589 (grub_rescue_unregister_command): Likewise.
12591 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
12592 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
12593 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
12595 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
12596 grub_rescue_cmd_initrd.
12597 * include/grub/i386/loader.h: Likewise.
12598 * include/grub/x86_64/loader.h: Likewise.
12600 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
12602 2009-03-21 Bean <bean123ch@gmail.com>
12604 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
12605 instead of stat in mingw environment.
12607 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
12609 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
12611 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
12614 2009-03-21 Bean <bean123ch@gmail.com>
12616 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
12617 out of range error.
12619 2009-03-18 Michel Dänzer <michel@daenzer.net>
12621 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
12622 checking inode flags for EXT4_EXTENTS_FLAG.
12624 2009-03-18 Robert Millan <rmh@aybabtu.com>
12626 * loader/i386/linux.c: Include `<grub/video.h>' and
12627 `<grub/i386/pc/vbe.h>'..
12628 (grub_linux_setup_video): New function. Loosely based on the EFI one.
12629 (grub_linux32_boot): Attempt to configure video settings with
12630 grub_linux_setup_video().
12631 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
12632 to avoid grub_console_fini() which would step out of graphical mode
12635 2009-03-14 Robert Millan <rmh@aybabtu.com>
12637 Fix build on powerpc.
12638 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
12640 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
12642 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
12643 background image command.
12645 2009-03-12 Colin D Bennett <colin@gibibit.com>
12647 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
12648 (grub_gfxterm_putchar): Extract pairs of identical calls to
12649 draw_cursor out of conditional blocks.
12651 2009-03-11 Pavel Roskin <proski@gnu.org>
12653 * fs/hfs.c (grub_hfs_strncasecmp): New function.
12654 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
12656 2009-03-11 Robert Millan <rmh@aybabtu.com>
12658 * loader/i386/multiboot_elfxx.c
12659 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
12661 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
12663 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
12666 2009-03-11 Robert Millan <rmh@aybabtu.com>
12668 * loader/i386/multiboot.c (code_size): New variable.
12669 (grub_multiboot): Define offsets by adding to `code_size' rather
12670 than subtracting from `grub_multiboot_payload_size'. Provide
12671 4-byte alignment to MBI and others by increasing
12672 `boot_loader_name_length' appropriately.
12674 * loader/i386/multiboot_elfxx.c
12675 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
12677 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
12679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
12682 2009-03-08 Robert Millan <rmh@aybabtu.com>
12684 Make loader/i386/linux.c usable on i386-pc again.
12686 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
12688 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
12691 2009-03-07 Bean <bean123ch@gmail.com>
12693 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
12696 2009-03-06 Robert Millan <rmh@aybabtu.com>
12698 Fix display issue on terminals with screen size other than 80x25
12699 (e.g. gfxterm with resolution higher than 640x480).
12701 * normal/main.c (grub_normal_init_page): Display title text in a
12702 position relative to the center of the terminal instead of relying
12703 on a hardcoded offset.
12705 2009-03-04 Robert Millan <rmh@aybabtu.com>
12707 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
12710 * Makefile.in (host_kernel): New variable.
12711 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
12712 scripts instead of just the windows one.
12713 * configure.ac: Initialize and AC_SUBST `host_kernel'.
12715 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12717 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
12719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12720 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12721 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12723 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12724 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12726 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12728 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
12729 or if there's no space for the disk label and print the partition number on a
12732 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12734 * util/misc.c: Include <time.h>.
12735 (grub_millisleep): New function.
12737 2009-03-04 Bean <bean123ch@gmail.com>
12739 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
12740 another option -mno-red-zone.
12742 * commands/handler.c: Change module description.
12744 * kern/handler.c: Add missing space at the end of description line.
12746 * kern/list.c: Likewise.
12748 2009-03-03 Robert Millan <rmh@aybabtu.com>
12750 Move more components to the relocation area, and fix mbi pointer
12751 handling to use the destination rather than the origin (thanks to
12752 Vladimir Serbinenko for spotting).
12754 * loader/i386/multiboot.c (mbi_dest): New variable.
12755 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
12756 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
12759 2009-03-01 Bean <bean123ch@gmail.com>
12761 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
12762 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
12763 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
12764 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
12766 * loader/i386/efi/linux.c (acpi_guid): New variable.
12767 (acpi_guid): Likewise.
12768 (EBDA_SEG_ADDR): New constant.
12769 (LOW_MEM_ADDR): Likewise.
12770 (FAKE_EBDA_SEG): Likewise.
12771 (fake_bios_data): New function.
12772 (grub_linux_boot): Call fake_bios_data.
12774 2009-03-01 Bean <bean123ch@gmail.com>
12776 * commands/terminal.c: Removed.
12778 * commands/handler.c: New file.
12780 * include/grub/list.h: Likewise.
12782 * include/grub/handler.h: Likewise.
12784 * kern/list.c: Likewise.
12786 * kern/handler.c: Likewise.
12788 * kern/term.h: Include header file <grub/handler.h>.
12789 (grub_term_input): Move next field to the beginning.
12790 (grub_term_output): Likewise.
12791 (grub_term_input_class): New variable.
12792 (grub_term_output_class): Likewise.
12793 (grub_term_register_input): Changed to inline function.
12794 (grub_term_register_output): Likewise.
12795 (grub_term_unregister_input): Likewise.
12796 (grub_term_unregister_output): Likewise.
12797 (grub_term_set_current_input): Likewise.
12798 (grub_term_set_current_output): Likewise.
12799 (grub_term_get_current_input): Likewise.
12800 (grub_term_get_current_output): Likewise.
12801 (grub_term_iterate_input): Removed.
12802 (grub_term_iterate_output): Likewise.
12804 * kern/term.c (grub_term_list_input): Removed.
12805 (grub_term_list_output): Likewise.
12806 (grub_term_input_class): New variable.
12807 (grub_term_output_class): Likewise.
12808 (grub_cur_term_input): Change variable as macro.
12809 (grub_cur_term_output): Likewise.
12810 (grub_term_register_input): Removed.
12811 (grub_term_register_output): Likewise.
12812 (grub_term_unregister_input): Likewise.
12813 (grub_term_unregister_output): Likewise.
12814 (grub_term_set_current_input): Likewise.
12815 (grub_term_set_current_output): Likewise.
12816 (grub_term_iterate_input): Likewise.
12817 (grub_term_iterate_output): Likewise.
12818 (grub_term_get_current_input): Likewise.
12819 (grub_term_get_current_output): Likewise.
12821 * util/grub-editenv.c: Include header file <grub/handler.h>.
12822 (grub_term_get_current_input): Removed.
12823 (grub_term_get_current_output): Likewise.
12824 (grub_term_input_class): New variable.
12825 (grub_term_output_class): Likewise.
12827 * util/grub-fstest.c (grub_term_get_current_input): Removed.
12828 (grub_term_get_current_output): Likewise.
12829 (grub_term_input_class): New variable.
12830 (grub_term_output_class): Likewise.
12832 * util/grub-probe.c (grub_term_get_current_input): Removed.
12833 (grub_term_get_current_output): Likewise.
12834 (grub_term_input_class): New variable.
12835 (grub_term_output_class): Likewise.
12837 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
12838 (grub_term_get_current_output): Likewise.
12839 (grub_term_input_class): New variable.
12840 (grub_term_output_class): Likewise.
12842 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
12843 (terminal_mod_SOURCES): Likewise.
12844 (terminal_mod_CFLAGS): Likewise.
12845 (terminal_mod_LDFLAGS): Likewise.
12847 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
12849 (kernel_img_SOURCES): Add list.c and handler.c.
12850 (kernel_img_HEADERS): Add list.h and handler.h.
12852 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12854 (kernel_mod_SOURCES): Add list.c and handler.c.
12855 (kernel_mod_HEADERS): Add list.h and handler.h.
12857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
12859 (kernel_elf_SOURCES): Add list.c and handler.c.
12860 (kernel_elf_HEADERS): Add list.h and handler.h.
12862 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12864 (kernel_elf_SOURCES): Add list.c and handler.c.
12865 (kernel_elf_HEADERS): Add list.h and handler.h.
12867 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12869 (kernel_mod_SOURCES): Add list.c and handler.c.
12870 (kernel_mod_HEADERS): Add list.h and handler.h.
12872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12874 (kernel_elf_SOURCES): Add list.c and handler.c.
12875 (kernel_elf_HEADERS): Add list.h and handler.h.
12877 2009-02-27 Robert Millan <rmh@aybabtu.com>
12879 Factorize elf32 / elf64 code in Multiboot loader. This will
12880 prevent it from getting out of sync again.
12882 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
12883 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
12884 grub_multiboot_load_elf64): Move from here ...
12885 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
12886 grub_multiboot_load_elf): ... to here (new file).
12888 2009-02-27 Robert Millan <rmh@aybabtu.com>
12890 * util/grub.d/10_linux.in: Rename "single-user mode" to
12893 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12895 Don't leak in SCSI code.
12896 * disk/scsi.c (grub_scsi_close): free `scsi'.
12898 2009-02-27 Robert Millan <rmh@aybabtu.com>
12900 * loader/i386/pc/multiboot.c: Move from here ...
12901 * loader/i386/multiboot.c: ... to here. Update all users.
12903 2009-02-27 Robert Millan <rmh@aybabtu.com>
12905 Patch from Alexandre Bique <bique.alexandre@gmail.com>
12906 * util/i386/pc/grub-setup.c (setup): Fix directory path.
12908 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
12910 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
12913 2009-02-27 Robert Millan <rmh@aybabtu.com>
12915 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
12916 `0x' qualifier as 0 when base is specified as parameter).
12918 2009-02-24 Bean <bean123ch@gmail.com>
12920 * configure.ac: Check for -mcmodel=large in x86_64 target.
12922 * include/grub/efi/api.h (efi_call_10): New macro.
12923 (efi_wrap_10): New function.
12925 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
12926 (GRUB_PE32_REL_BASED_HIGH): Likewise.
12927 (GRUB_PE32_REL_BASED_LOW): Likewise.
12928 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
12929 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
12930 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
12931 (GRUB_PE32_REL_BASED_SECTION): Likewise.
12932 (GRUB_PE32_REL_BASED_REL): Likewise.
12933 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
12934 (GRUB_PE32_REL_BASED_DIR64): Likewise.
12935 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
12937 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
12940 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
12941 (efi_wrap_10): New function.
12943 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
12945 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
12946 MB/MBP model (NV chipset).
12947 (devdata_devs): Add devpath_5 to the list.
12949 * load/i386/efi/linux.c (video_base): Remove variable.
12950 (RGB_MASK): New macro.
12951 (RGB_MAGIC): Likewise.
12952 (LINE_MIN): Likewise.
12953 (LINE_MAX): Likewise.
12954 (FBTEST_STEP): Likewise.
12955 (FBTEST_COUNT): Likewise.
12956 (fb_list): New variable.
12957 (grub_find_video_card): Remove function.
12958 (find_framebuf): New function.
12959 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
12962 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
12963 problem for x86_64.
12965 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
12967 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
12969 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
12972 2009-02-22 Robert Millan <rmh@aybabtu.com>
12974 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
12975 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
12976 in our relocation, instead of using it directly from heap. Also
12977 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
12979 2009-02-21 Robert Millan <rmh@aybabtu.com>
12981 Implement USB keyboard support (based on patch by Marco Gerards)
12983 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
12984 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
12985 (usb_keyboard_mod_LDFLAGS): New variables.
12987 * term/usb_keyboard.c: New file.
12989 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12991 Corrected wrong declaration
12993 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
12995 2009-02-14 Christian Franke <franke@computer.org>
12997 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
12998 (grub_lspci_iter): Print class code and programming interface byte.
13000 2009-02-14 Christian Franke <franke@computer.org>
13002 * gendistlist.sh: Ignore `.svn' directories.
13004 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
13006 * fs/fat.c: Add 2009 to Copyright line.
13008 2009-02-14 Christian Franke <franke@computer.org>
13010 * commands/hdparm.c: New file. Provides `hdparm' command
13011 which sends ATA commands via grub_disk_ata_pass_through ().
13013 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13015 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13016 and <grub/cpu/io.h> to include/grub/ata.h.
13017 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13018 (GRUB_CDROM_SECTOR_SIZE): Remove.
13019 (GRUB_ATA_*): Move to include/grub/ata.h.
13020 (GRUB_ATAPI_*): Likewise.
13021 (enum grub_ata_commands): Likewise.
13022 (enum grub_ata_timeout_milliseconds): Likewise.
13023 (struct grub_ata_device): Likewise.
13024 (grub_ata_regset): Likewise.
13025 (grub_ata_regget): Likewise.
13026 (grub_ata_regset2): Likewise.
13027 (grub_ata_regget2): Likewise.
13028 (grub_ata_check_ready): Likewise.
13029 (grub_ata_wait_not_busy): Remove static, exported in
13030 include/grub/ata.h.
13031 (grub_ata_wait_drq): Likewise.
13032 (grub_ata_pio_read): Likewise.
13034 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13035 function for hdparm.mod.
13037 * include/grub/ata.h: New file, contains declarations from
13039 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13041 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13042 (grub_disk_ata_pass_through): New exported variable.
13044 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13046 2009-02-13 Colin D Bennett <colin@gibibit.com>
13048 Support multiple fallback entries, and provide an API to support
13049 executing default+fallback menu entries. Renamed the `terminal' menu
13052 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13053 variable declaration.
13054 (grub_menu_execute_callback): New structure declaration.
13055 (grub_menu_execute_callback_t): New typedef.
13056 (grub_menu_execute_with_fallback): New function declaration.
13057 (grub_menu_get_entry): Likewise.
13058 (grub_menu_get_timeout): Likewise.
13059 (grub_menu_set_timeout): Likewise.
13061 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13063 * normal/menu.c (grub_wait_after_message): Moved to
13064 `normal/menu_text.c'.
13065 (draw_border): Likewise.
13066 (print_message): Likewise.
13067 (print_entry): Likewise.
13068 (print_entries): Likewise.
13069 (grub_menu_init_page): Likewise.
13070 (get_entry_number): Likewise.
13071 (print_timeout): Likewise.
13072 (run_menu): Likewise.
13073 (grub_menu_execute_entry): Likewise.
13074 (show_text_menu): Likewise.
13075 (get_and_remove_first_entry_number): New function.
13076 (grub_menu_execute_with_fallback): Likewise.
13077 (get_entry): Renamed to ...
13078 (grub_menu_get_entry): .. this and made it global.
13079 (get_timeout): Renamed to ...
13080 (grub_menu_get_timeout): ... this and made it global.
13081 (set_timeout): Renamed to ...
13082 (grub_menu_set_timeout): ... this and made it global.
13083 (grub_normal_terminal_menu_viewer): Renamed to ...
13084 (grub_normal_text_menu_viewer): ... this.
13086 * normal/menu_text.c: New file. Extracted text-menu-specific code
13087 from normal/menu.c.
13089 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13090 (normal_mod_SOURCES): Likewise.
13092 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13093 (normal_mod_SOURCES): Likewise.
13095 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13096 (normal_mod_SOURCES): Likewise.
13098 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13099 (normal_mod_SOURCES): Likewise.
13101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13102 (normal_mod_SOURCES): Likewise.
13104 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13105 (normal_mod_SOURCES): Likewise.
13107 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13108 (normal_mod_SOURCES): Likewise.
13110 2009-02-11 Robert Millan <rmh@aybabtu.com>
13112 * util/grub.d/00_header.in: Update old reference to `font' command.
13114 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
13116 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13118 Based on patch from Javier Martín.
13120 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13122 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
13123 to avoid false positives with FAT.
13124 (grub_fstest_SOURCES): Likewise.
13125 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13129 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13130 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13132 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13134 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
13135 bpb.version_specific.fat12_or_fat16.fstype and
13136 bpb.version_specific.fat32.fstype.
13138 2009-02-08 Robert Millan <rmh@aybabtu.com>
13140 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
13142 2009-02-08 Robert Millan <rmh@aybabtu.com>
13144 * Makefile.in (host_os, host_cpu): New variables.
13145 (target_os): Remove. Update all users.
13147 2009-02-08 Marco Gerards <marco@gnu.org>
13149 * Makefile.in (enable_grub_emu_usb): New variable.
13150 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13151 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13152 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13153 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13154 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13155 `usbtest.mod' and `usbms.mod'.
13156 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13157 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13158 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13159 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13160 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13163 * disk/usbms.c: New file.
13165 * include/grub/usb.h: Likewise.
13167 * include/grub/usbtrans.h: Likewise.
13169 * include/grub/usbdesc.h: Likewise.
13171 * bus/usb/usbtrans.c: Likewise.
13173 * bus/usb/ohci.c: Likewise.
13175 * bus/usb/uhci.c: Likewise.
13177 * bus/usb/usbhub.c: Likewise.
13179 * bus/usb/usb.c: Likewise.
13181 * commands/usbtest.c: Likewise.
13183 * util/usb.c: Likewise.
13185 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13187 * configure.ac: Test for libusb presence.
13189 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13191 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13193 * kern/mm.c: Add more comments.
13195 2009-02-08 Robert Millan <rmh@aybabtu.com>
13197 Patch from Javier Martín.
13198 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13199 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13201 2009-02-08 Robert Millan <rmh@aybabtu.com>
13203 * fs/cpio.c: Split tar functionality to ...
13204 * fs/tar.c: ... here (new file). Update all users.
13206 2009-02-07 Robert Millan <rmh@aybabtu.com>
13208 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13209 backward-incompatible features.
13211 Based on patch from Javier Martín, with some adjustments.
13213 2009-02-07 Michael Scherer <misc@mandriva.org>
13215 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13217 2009-02-07 Robert Millan <rmh@aybabtu.com>
13219 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13220 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13221 after the RAID stuff.
13223 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13225 Fixes problem when running vbetest command as reported by
13226 Vladimir Serbinenko <phcoder@gmail.com>.
13228 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13230 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
13232 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13233 /dev/md/NpN style mdraid devices.
13235 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13237 * util/unifont2pff.rb: Remove.
13239 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13241 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
13244 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13246 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
13247 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13248 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13249 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13251 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13252 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13254 2009-02-02 Christian Franke <franke@computer.org>
13256 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
13258 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
13260 * INSTALL: Note that we now require at least autoconf 2.59 and
13261 that LZO is optional.
13263 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13265 Base on patch on bug #24154 created by Tomas Tintera
13266 <trosos@seznam.cz>.
13268 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
13270 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13272 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
13273 <bero@arklinux.org>.
13275 * normal/parser.y (script_init): Add missing semicolon.
13277 2009-01-31 Colin D Bennett <colin@gibibit.com>
13279 * normal/main.c: Add include to grub/menu_viewer.h.
13280 (free_menu_entry_classes): Added.
13281 (grub_normal_menu_addentry): Added class property handling.
13282 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
13283 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
13285 * normal/menu_viewer.c: New file.
13287 * normal/menu.c (run_menu_entry): Renamed to ...
13288 (grub_menu_execute_entry): ... this and made it as global.
13289 (grub_menu_run): Renamed to ...
13290 (show_text_menu): ... this and made it local.
13291 (show_text_menu): Adapt to new function names.
13292 (grub_normal_terminal_menu_viewer): New global variable.
13294 * include/grub/menu.h: New file.
13296 * include/grub/menu_viewer.h: New file.
13298 * include/grub/normal.h: Added include to grub/menu.h.
13299 (grub_menu_entry): Moved to include/grub/menu.h.
13300 (grub_menu_entry_t): Likewise.
13301 (grub_menu): Likewise.
13302 (grub_menu_t): Likewise.
13303 (grub_normal_terminal_menu_viewer): Added.
13304 (grub_menu_execute_entry): Likewise.
13305 (grub_menu_run): Removed.
13307 * DISTLIST: Added include/grub/menu.h.
13308 Added include/grub/menu_viewer.h.
13309 Added normal/menu_viewer.c.
13311 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
13313 * normal/execute.c (grub_script_execute_menuentry): Changed to use
13314 arglist for menutitle arguments.
13316 * normal/main.c (grub_normal_menu_addentry): Likewise.
13318 * normal/parser.y (menuentry): Likewise.
13320 * normal/script.c (grub_script_create_cmdmenu): Likewise.
13322 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
13323 (grub_script_create_cmdmenu): Likewise.
13325 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
13327 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
13330 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
13332 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
13334 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
13336 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13338 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13340 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13342 2009-01-30 Christian Franke <franke@computer.org>
13344 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
13345 in option help text.
13347 2009-01-27 Pavel Roskin <proski@gnu.org>
13349 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
13351 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13353 * commands/lsmmap.c: Add include to grub/machine/memory.h.
13355 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
13357 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
13358 unregister function.
13360 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13362 * disk/scsi.c (grub_scsi_read): Fix sign problem.
13364 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
13366 * util/grub-mkfont.c (usage): Fix typo.
13368 * util/elf/grub-mkimage.c (load_modules): Fix warning.
13370 2009-01-26 Daniel Mierswa <impulze@impulze.org>
13372 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
13374 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
13376 * kern/misc.c (grub_strcasecmp): New function.
13377 (grub_strcasecmp): Use grub_size_t instead of int for length.
13379 * include/grub/misc.h: Update function prototypes.
13381 2009-01-26 Robert Millan <rmh@aybabtu.com>
13383 * configure.ac: Fix cross-compilation check.
13385 2009-01-22 Christian Franke <franke@computer.org>
13387 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
13388 (precision) digit string. Allow `.format2' without `format1' (width).
13389 Limit input chars for `%s' output to `format2' if specified. This is
13390 compatible with standard printf ().
13392 2009-01-22 Christian Franke <franke@computer.org>
13394 * disk/ata.c (grub_ata_wait_status): Replace by ...
13395 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
13396 other status bits may be invalid while BSY is asserted.
13397 (grub_ata_check_ready): New function.
13398 (grub_ata_cmd): Removed.
13399 (grub_ata_wait_drq): New function.
13400 (grub_ata_strncpy): Remove inline.
13401 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
13402 and error check now done by grub_ata_wait_drq ().
13403 (grub_ata_pio_write): Likewise.
13404 (grub_atapi_identify): Set DEV before check for !BSY. Use
13405 grub_ata_wait_drq () to wait for data.
13406 (grub_ata_device_initialize): Add status register check to
13407 detect missing SATA slave devices. Add debug messages.
13408 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
13409 (grub_atapi_packet): Set DEV before check for !BSY. Replace
13410 transfer loop by grub_ata_pio_write ().
13411 (grub_ata_identify): Set DEV before check for !BSY. Use
13412 grub_ata_wait_drq () to wait for data.
13413 (grub_ata_setaddress): Set DEV before check for !BSY.
13414 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
13415 read/write in one loop. Fix invalid command on write. Fix incomplete
13416 command on (size % batch) == 0. Add missing error check after write of
13417 last block. Add debug messages.
13418 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
13420 2009-01-19 Christian Franke <franke@computer.org>
13422 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
13423 (GRUB_ATAPI_IREASON_*): Likewise.
13424 (grub_ata_pio_write): Fix timeout error return.
13425 (grub_atapi_identify): Add grub_ata_wait () after cmd.
13426 (grub_atapi_wait_drq): New function.
13427 (grub_atapi_packet): New parameter `size'.
13428 Use grub_atapi_wait_drq () and direct write instead of
13429 grub_ata_pio_write ().
13430 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
13431 reads the number of bytes requested by the device for each DRQ
13433 (grub_atapi_write): Remove old implementation, return not
13434 implemented instead.
13436 2009-01-19 Christian Franke <franke@computer.org>
13438 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
13439 of 512 to calculate data size.
13440 (grub_scsi_read12): Likewise.
13441 (grub_scsi_write10): Likewise.
13442 (grub_scsi_write12): Likewise.
13443 (grub_scsi_read): Adjust size according to blocksize.
13444 Add checks for invalid blocksize and unaligned transfer.
13446 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
13448 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
13450 * term/gfxterm.c (write_char): Fix background rendering for wide
13453 2009-01-19 Robert Millan <rmh@aybabtu.com>
13455 * config.guess: Update to latest version from config git.
13456 * config.sub: Likewise.
13458 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
13460 * Makefile.in: Change font compilation to use new grub-mkfont instead
13463 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
13464 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13465 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13466 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13467 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13468 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13469 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13470 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13471 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13473 2009-01-16 Christian Franke <franke@computer.org>
13475 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
13476 (enum grub_ata_timeout_milliseconds): New enum.
13477 (grub_ata_wait_status): Add parameter milliseconds.
13478 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
13479 recovery from timed-out commands.
13480 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
13481 return grub_errno instead of REG_ERROR.
13482 (grub_ata_pio_write): Add parameter milliseconds.
13483 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
13484 Pass milliseconds to grub_ata_wait_status () and
13485 grub_ata_pio_read ().
13486 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
13487 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
13488 grub_ata_wait_status (). Fix IDENTIFY timeout check.
13489 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
13490 It is not suitable for device detection, because DEV bit is ignored,
13491 the command may run too long, and not all devices set the signature
13493 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
13494 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
13495 Fix device selection, DEV bit must be set first to address the registers
13496 of the correct device.
13497 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
13498 grub_ata_pio_read/write ().
13499 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
13500 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
13502 2009-01-13 Carles Pina i Estany <carles@pina.cat>
13504 * util/grub-editenv.c (main): Use fseeko(), not fseek().
13506 2009-01-13 Bean <bean123ch@gmail.com>
13508 * util/grub-mkfont.c (write_font): forget to remove some debug code.
13510 2009-01-13 Bean <bean123ch@gmail.com>
13512 * Makefile.in: (enable_grub_mkfont): New variable.
13513 (freetype_cflags): Likewise.
13514 (freetype_libs): Likewise.
13516 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
13517 (grub_mkfont_SOURCES): New variable.
13518 (grub_mkfont_CFLAGS): Likewise.
13519 (grub_mkfont_LDFLAGS): Likewise.
13521 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
13522 library if `--enable-grub-mkfont' is requested.
13523 (enable_grub_mkfont): New variable.
13524 (freetype_cflags): Likewise.
13525 (freetype_libs): Likewise.
13527 * util/grub-mkfont.c: New file.
13529 2009-01-12 Christian Franke <franke@computer.org>
13531 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
13532 mode check. Fix setting of compat_use[].
13534 2009-01-10 Robert Millan <rmh@aybabtu.com>
13536 Update a few copyright years which we forgot to do in 2008 (only for
13537 files whose changes made in 2008 were copyright-significant)
13539 * Makefile.in: Add 2008 to Copyright line.
13540 * disk/ieee1275/ofdisk.c: Likewise.
13541 * disk/efi/efidisk.c: Likewise.
13542 * kern/dl.c: Likewise.
13543 * kern/sparc64/ieee1275/init.c: Likewise.
13544 * kern/mm.c: Likewise.
13545 * kern/efi/mm.c: Likewise.
13546 * boot/i386/pc/boot.S: Likewise.
13547 * genfslist.sh: Likewise.
13548 * fs/iso9660.c: Likewise.
13549 * fs/hfs.c: Likewise.
13550 * fs/jfs.c: Likewise.
13551 * fs/minix.c: Likewise.
13552 * fs/ufs.c: Likewise.
13553 * gensymlist.sh.in: Likewise.
13554 * genkernsyms.sh.in: Likewise.
13555 * include/grub/misc.h: Likewise.
13556 * include/grub/types.h: Likewise.
13557 * include/grub/symbol.h: Likewise.
13558 * include/grub/elf.h: Likewise.
13559 * include/grub/kernel.h: Likewise.
13560 * include/grub/disk.h: Likewise.
13561 * include/grub/dl.h: Likewise.
13562 * include/grub/i386/linux.h: Likewise.
13563 * include/grub/i386/pc/biosdisk.h: Likewise.
13564 * include/grub/efi/api.h: Likewise.
13565 * include/grub/efi/pe32.h: Likewise.
13566 * include/grub/util/misc.h: Likewise.
13567 * normal/execute.c: Likewise.
13568 * normal/arg.c: Likewise.
13569 * normal/completion.c: Likewise.
13570 * normal/lexer.c: Likewise.
13571 * normal/parser.y: Likewise.
13572 * normal/misc.c: Likewise.
13573 * commands/i386/pc/vbeinfo.c: Likewise.
13574 * commands/hexdump.c: Likewise.
13575 * commands/terminal.c: Likewise.
13576 * commands/ls.c: Likewise.
13577 * commands/help.c: Likewise.
13578 * partmap/pc.c: Likewise.
13579 * loader/efi/chainloader.c: Likewise.
13580 * loader/multiboot_loader.c: Likewise.
13581 * loader/i386/pc/multiboot2.c: Likewise.
13582 * term/efi/console.c: Likewise.
13583 * term/i386/pc/serial.c: Likewise.
13584 * util/lvm.c: Likewise.
13585 * util/console.c: Likewise.
13586 * util/i386/efi/grub-mkimage.c: Likewise.
13587 * util/raid.c: Likewise.
13589 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
13591 * commands/videotest.c: Removed include to grub/machine/memory.h.
13593 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
13594 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
13595 (video_mod_SOURCES): Removed.
13596 (video_mod_CFLAGS): Likewise.
13597 (video_mod_LDFLAGS): Likewise.
13598 (gfxterm_mod_SOURCES): Likewise.
13599 (gfxterm_mod_CFLAGS): Likewise.
13600 (gfxterm_mod_LDFLAGS): Likewise.
13601 (videotest_mod_SOURCES): Likewise.
13602 (videotest_mod_CFLAGS): Likewise.
13603 (videotest_mod_LDFLAGS): Likewise.
13604 (bitmap_mod_SOURCES): Likewise.
13605 (bitmap_mod_CFLAGS): Likewise.
13606 (bitmap_mod_LDFLAGS): Likewise.
13607 (tga_mod_SOURCES): Likewise.
13608 (tga_mod_CFLAGS): Likewise.
13609 (tga_mod_LDFLAGS): Likewise.
13610 (jpeg_mod_SOURCES): Likewise.
13611 (jpeg_mod_CFLAGS): Likewise.
13612 (jpeg_mod_LDFLAGS): Likewise.
13613 (png_mod_SOURCES): Likewise.
13614 (png_mod_CFLAGS): Likewise.
13615 (png_mod_LDFLAGS): Likewise.
13617 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
13618 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
13619 (video_mod_SOURCES): Added.
13620 (video_mod_CFLAGS): Likewise.
13621 (video_mod_LDFLAGS): Likewise.
13622 (videotest_mod_SOURCES): Likewise.
13623 (videotest_mod_CFLAGS): Likewise.
13624 (videotest_mod_LDFLAGS): Likewise.
13625 (bitmap_mod_SOURCES): Likewise.
13626 (bitmap_mod_CFLAGS): Likewise.
13627 (bitmap_mod_LDFLAGS): Likewise.
13628 (tga_mod_SOURCES): Likewise.
13629 (tga_mod_CFLAGS): Likewise.
13630 (tga_mod_LDFLAGS): Likewise.
13631 (jpeg_mod_SOURCES): Likewise.
13632 (jpeg_mod_CFLAGS): Likewise.
13633 (jpeg_mod_LDFLAGS): Likewise.
13634 (png_mod_SOURCES): Likewise.
13635 (png_mod_CFLAGS): Likewise.
13636 (png_mod_LDFLAGS): Likewise.
13637 (gfxterm_mod_SOURCES): Likewise.
13638 (gfxterm_mod_CFLAGS): Likewise.
13639 (gfxterm_mod_LDFLAGS): Likewise.
13641 * term/gfxterm.c: Removed include to grub/machine/memory.h,
13642 grub/machine/console.h.
13644 2009-01-04 Jerone Young <jerone@gmail.com>
13646 Make on screen instructions clearer
13648 Based on patch created by Jidanni <jidanni@jidanni.org>
13650 * normal/menu.c: print clearer instructions on the screen
13652 2009-01-02 Colin D Bennett <colin@gibibit.com>
13656 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
13657 build system and fixed gfxterm.c to work with different sized fonts.
13659 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
13661 * configure: Re-generated.
13663 * DISTLIST: Removed font/manager.c.
13665 Added font/font_cmd.c.
13667 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
13670 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
13672 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
13674 * kern/term.c: Changed users of grub_utf8_to_ucs4.
13676 * normal/menu.c: Likewise.
13678 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
13679 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
13681 * include/grub/font.h: Replaced with new file.
13683 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
13684 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
13685 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
13686 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
13687 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
13688 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
13689 fg_red, fg_green, fg_blue, fg_alpha.
13690 (grub_video_adapter): Removed blit_glyph.
13691 (grub_video_blit_glyph): Removed.
13693 * font/manager.c: Removed file.
13695 * font/font.c: New file.
13697 * font/font_cmd.c: Likewise.
13699 * video/video.c (grub_video_blit_glyph): Removed.
13701 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
13702 (grub_video_vbe_map_rgba): Likewise.
13703 (grub_video_vbe_unmap_color_int): Likewise.
13704 (grub_video_vbe_blit_glyph): Removed.
13705 (grub_video_vbe_adapter): Removed blit_glyph.
13707 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
13708 (get_pixel): Likewise.
13709 (set_pixel): Likewise.
13711 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
13713 * term/gfxterm.c: Adapted to new font engine.
13715 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
13717 * term/i386/pc/vga.c: Likewise.
13719 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
13721 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13723 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13725 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13727 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13729 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13731 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13733 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13735 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13737 * util/grub.d/00_header.in: Changed to use new loadfont command.
13739 * util/grub-mkconfig_lib.in: Changed font extension.
13741 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
13743 * util/getroot.c (grub_util_get_grub_dev): Add support for
13744 /dev/md/dNNpNN style partitionable mdraid devices.
13746 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
13748 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
13749 at a time limit of the PXE TFTP API correctly.
13750 (grub_pxefs_close): Likewise.
13752 2008-11-29 Robert Millan <rmh@aybabtu.com>
13754 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
13755 grub_ata_device_initialize() calls.
13757 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
13759 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
13761 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
13763 2008-11-28 Robert Millan <rmh@aybabtu.com>
13765 Fix build on powerpc-ieee1275. Based on patch created by
13766 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
13767 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13768 `kern/ieee1275/mmap.c'.
13769 * include/grub/powerpc/ieee1275/memory.h: New file.
13771 Provide grub-install on coreboot.
13772 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
13773 (grub_install_SOURCES): New variable.
13774 * util/i386/pc/grub-install.in: Add a few condition checks to make it
13775 usable on coreboot.
13777 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
13779 * util/grub-fstest.c (grub_term_get_current_input): Change return type
13780 to `grub_term_input_t'.
13781 (grub_term_get_current_output): Change return type to
13782 `grub_term_output_t'.
13784 2008-11-22 Robert Millan <rmh@aybabtu.com>
13786 Fix breakage on coreboot due to declaration mismatch.
13787 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
13788 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
13789 grub_vga_text_cls().
13791 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
13792 comments. Avoid copying one more byte than necessary (just in case).
13794 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
13795 to 0x200000 (avoids trouble with some OFW implementations, and matches
13796 with the one in Yaboot).
13797 Reported by Manoel Abranches
13799 2008-11-20 Robert Millan <rmh@aybabtu.com>
13801 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
13802 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
13804 * util/grub-mkconfig_lib.in (grub_warn): New function.
13805 (convert_system_path_to_grub_path): Use grub_warn() when issuing
13806 warnings, to obtain consistent formatting.
13807 * util/grub.d/00_header.in: Likewise.
13808 * util/update-grub_lib.in: Likewise.
13810 * loader/i386/linux.c (allocate_pages): Fix a warning.
13811 Move comment text to `#error' stanza.
13813 Harmonize ieee1275's grub_available_iterate() with the generic
13814 grub_machine_mmap_iterate() interface (fixes a recently-introduced
13815 build problem on i386-ieee1275):
13816 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
13817 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
13818 parameter `type'. Update all users of this function.
13819 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
13820 `kern/ieee1275/mmap.c'.
13821 * kern/ieee1275/init.c
13822 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
13824 (grub_machine_mmap_iterate): ... this.
13825 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
13826 return type to `grub_err_t'. Update all implementations of this
13827 function prototype.
13828 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
13831 Add `lsmmap' command (lists firmware-provided memory map):
13832 * commands/lsmmap.c: New file.
13833 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
13834 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
13836 * conf/powerpc-ieee1275.rmk: Likewise.
13837 * conf/i386-coreboot.rmk: Likewise.
13838 * conf/i386-ieee1275.rmk: Likewise.
13840 2008-11-19 Robert Millan <rmh@aybabtu.com>
13842 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
13843 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
13844 constraints to initrd allocation (based on code from
13845 loader/i386/pc/linux.c). Without them, initrd was allocated too high
13846 for Linux to find it.
13848 2008-11-14 Robert Millan <rmh@aybabtu.com>
13850 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
13851 order to cope with duplicate slashes.
13853 2008-11-14 Robert Millan <rmh@aybabtu.com>
13855 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
13856 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
13857 don't want to mess with lower memory, because it is used in the Linux
13860 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
13861 an appropriate place in lower memory, between 0x10000 and 0x90000,
13862 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
13863 is in our heap (probably as a result of it being corrupted during
13864 decompression). Add #error instance with comment to explain why this
13865 loader isn't currently usable on PC/BIOS.
13867 2008-11-14 Robert Millan <rmh@aybabtu.com>
13869 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
13870 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
13872 2008-11-12 Robert Millan <rmh@aybabtu.com>
13874 Make loader/i386/linux.c buildable on i386-pc (although disabled).
13876 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
13877 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
13879 * include/grub/i386/pc/memory.h: ... to here.
13881 2008-11-12 Robert Millan <rmh@aybabtu.com>
13883 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
13886 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
13887 (grub_console_cur_color, grub_console_real_putchar)
13888 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13889 (grub_console_setcolorstate, grub_console_setcolor)
13890 (grub_console_getcolor): Move from here ...
13891 * include/grub/i386/vga_common.h: ... to here (new file).
13893 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
13894 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
13895 `<grub/i386/io.h>'.
13896 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
13897 `<grub/i386/vga_common.h>'.
13899 2008-11-12 Robert Millan <rmh@aybabtu.com>
13901 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
13902 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
13903 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
13905 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13906 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
13908 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
13909 grub_console_init() with call to grub_vga_text_init().
13910 (grub_machine_fini): Replace call to
13911 grub_console_fini() with call to grub_vga_text_fini() and
13912 grub_at_keyboard_fini().
13914 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
13915 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13916 (grub_console_setcolorstate, grub_console_setcolor)
13917 (grub_console_getcolor): New function prototypes.
13919 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
13920 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
13921 (grub_vga_text_setcursor): Static-ize.
13922 (grub_vga_text_term): New structure.
13923 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
13925 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
13926 (grub_console_cur_color, grub_console_standard_color)
13927 (grub_console_normal_color, grub_console_highlight_color)
13928 (map_char, grub_console_putchar, grub_console_getcharwidth)
13929 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
13930 (grub_console_getcolor): Move from here ...
13931 * term/i386/vga_common.c: ... to here (same function names).
13933 2008-11-12 Robert Millan <rmh@aybabtu.com>
13935 Use newly-added Multiboot support in coreboot.
13937 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13938 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
13940 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
13941 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
13942 (codestart): Store the MBI in `startup_multiboot_info' when we're
13943 being loaded using Multiboot.
13945 * kern/i386/coreboot/init.c (grub_machine_init): Move
13946 grub_at_keyboard_init() call to beginning of function (useful for
13947 debugging). Call grub_machine_mmap_init() before attempting to use
13948 grub_machine_mmap_iterate().
13949 (grub_lower_mem, grub_upper_mem): Move from here ...
13950 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
13953 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
13954 function prototype.
13956 2008-11-12 Robert Millan <rmh@aybabtu.com>
13958 Fix a regression introduced by the at_keyboard.mod split. Because
13959 some terminals are default on some platforms and non-default on
13960 others, the first terminal being registered determines which is
13961 going to be default.
13963 * kern/term.c (grub_term_register_input): If this is the first
13964 terminal being registered, set it as the current one.
13965 (grub_term_register_output): Likewise.
13967 * term/efi/console.c (grub_console_init): Do not call
13968 grub_term_set_current_output() or grub_term_set_current_input().
13969 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
13970 * term/i386/pc/console.c (grub_console_init): Likewise.
13971 (grub_console_fini): Do not call grub_term_set_current_input()
13972 (but leave grub_term_set_current_output() to restore text mode).
13974 2008-11-10 Robert Millan <rmh@aybabtu.com>
13976 * util/grub.d/00_header.in: Add backward compatibility check for
13977 versions of terminal.mod that don't understand `terminal_input' or
13980 2008-11-09 Robert Millan <rmh@aybabtu.com>
13982 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
13983 `terminal_input' / `terminal_output', not `terminal'.
13985 2008-11-08 Robert Millan <rmh@aybabtu.com>
13987 * Makefile.in (include_DATA): Fix srcdir=. assumption.
13988 (DISTCLEANFILES): Add `build_env.mk'.
13990 2008-11-08 Robert Millan <rmh@aybabtu.com>
13992 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
13993 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13994 members. Update all users.
13995 * util/console.c (grub_ncurses_term): Split in ...
13996 (grub_ncurses_term_input): ... this, and ...
13997 (grub_ncurses_term_output): ... this. Update all users.
13998 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
14000 2008-11-08 Robert Millan <rmh@aybabtu.com>
14002 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14003 (PKGDATA): Add $(pkgdata_SRCDIR).
14004 (pkglib_BUILDDIR): New variable.
14005 (pkgdata_SRCDIR): New variable.
14006 (build_env.mk): New target.
14007 (include_DATA): New variable.
14008 (install-local): Install $(include_DATA) files in $(includedir).
14010 2008-11-07 Pavel Roskin <proski@gnu.org>
14012 * gendistlist.sh: Use C locale for sorting to ensure consistent
14013 output on all systems.
14015 * util/grub.d/00_header.in: Remove incorrect space before
14018 2008-11-07 Robert Millan <rmh@aybabtu.com>
14020 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14022 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14023 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14024 (based on find_multi_boot1_header).
14025 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14026 using find_multi_boot2_header(), and abort if neither Multiboot or
14027 Multiboot headers were found.
14029 2008-11-07 Robert Millan <rmh@aybabtu.com>
14031 Modularize at_keyboard.mod:
14033 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14034 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14035 (at_keyboard_mod_LDFLAGS): New variables.
14037 Actual terminal split:
14039 * include/grub/term.h (struct grub_term): Split in ...
14040 (struct grub_term_input): ... this, and ...
14041 (struct grub_term_output): ... this. Update all users.
14042 (grub_term_set_current): Split in ...
14043 (grub_term_set_current_input): ... this, and ...
14044 (grub_term_set_current_output): ... this.
14045 (grub_term_get_current): Split in ...
14046 (grub_term_get_current_input): ... this, and ...
14047 (grub_term_get_current_output): ... this.
14048 (grub_term_register): Split in ...
14049 (grub_term_register_input): ... this, and ...
14050 (grub_term_register_output): ... this.
14051 (grub_term_unregister): Split in ...
14052 (grub_term_unregister_input): ... this, and ...
14053 (grub_term_unregister_output): ... this.
14054 (grub_term_iterate): Split in ...
14055 (grub_term_iterate_input): ... this, and ...
14056 (grub_term_iterate_output): ... this.
14058 * kern/term.c (grub_term_list): Split in ...
14059 (grub_term_list_input): ... this, and ...
14060 (grub_term_list_output): ... this. Update all users.
14061 (grub_cur_term): Split in ...
14062 (grub_cur_term_input): ... this, and ...
14063 (grub_cur_term_output): ... this. Update all users.
14064 (grub_term_set_current): Split in ...
14065 (grub_term_set_current_input): ... this, and ...
14066 (grub_term_set_current_output): ... this.
14067 (grub_term_get_current): Split in ...
14068 (grub_term_get_current_input): ... this, and ...
14069 (grub_term_get_current_output): ... this.
14070 (grub_term_register): Split in ...
14071 (grub_term_register_input): ... this, and ...
14072 (grub_term_register_output): ... this.
14073 (grub_term_unregister): Split in ...
14074 (grub_term_unregister_input): ... this, and ...
14075 (grub_term_unregister_output): ... this.
14076 (grub_term_iterate): Split in ...
14077 (grub_term_iterate_input): ... this, and ...
14078 (grub_term_iterate_output): ... this.
14080 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14081 a check for input and one for output (and only attempt to get keys
14082 from user when input works).
14084 * util/grub-probe.c (grub_term_get_current): Split in ...
14085 (grub_term_get_current_input): ... this, and ...
14086 (grub_term_get_current_output): ... this.
14087 * util/grub-fstest.c: Likewise.
14088 * util/i386/pc/grub-setup.c: Likewise.
14089 * util/grub-editenv.c: Likewise.
14091 Portability adjustments:
14093 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14094 `term/i386/pc/at_keyboard.c'.
14095 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14096 grub_keyboard_controller_init() (now handled by terminal .init).
14097 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14098 grub_at_keyboard_init().
14099 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14100 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14101 at_keyboard.mod via input terminal interface).
14102 * include/grub/i386/coreboot/console.h: Convert into a stub for
14103 `<grub/i386/pc/console.h>'.
14105 Migrate full terminals to new API:
14107 * term/efi/console.c (grub_console_term): Split into ...
14108 (grub_console_term_input): ... this, and ...
14109 (grub_console_term_output): ... this. Update all users.
14110 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14111 (grub_ofconsole_init): Split into ...
14112 (grub_ofconsole_init_input): ... this, and ...
14113 (grub_ofconsole_init_output): ... this.
14114 (grub_ofconsole_term): Split into ...
14115 (grub_ofconsole_term_input): ... this, and ...
14116 (grub_ofconsole_term_output): ... this. Update all users.
14117 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14118 (grub_serial_term_input): ... this, and ...
14119 (grub_serial_term_output): ... this. Update all users.
14120 * term/i386/pc/console.c (grub_console_term): Split into ...
14121 (grub_console_term_input): ... this, and ...
14122 (grub_console_term_output): ... this. Update all users.
14123 (grub_console_term_input): Only enable it on PC/BIOS platform.
14124 (grub_console_init): Remove grub_keyboard_controller_init() call.
14126 Migrate input terminals to new API:
14128 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14129 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14130 i386-specific anyway).
14131 (grub_console_checkkey): Rename to ...
14132 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14134 (grub_keyboard_controller_orig): New variable.
14135 (grub_console_getkey): Rename to ...
14136 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14138 (grub_keyboard_controller_init): Static-ize. Save original
14139 controller value so that it can be restored ...
14140 (grub_keyboard_controller_fini): ... here (new function).
14141 (grub_at_keyboard_term): New structure.
14142 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14145 Migrate output terminals to new API:
14147 * term/i386/pc/vga.c (grub_vga_term): Change type to
14148 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14149 members. Update all users.
14150 * term/gfxterm.c (grub_video_term): Change type to
14151 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14152 members. Update all users.
14153 * include/grub/i386/pc/console.h (grub_console_checkkey)
14154 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14157 Migrate `terminal' command and userland tools to new API:
14159 * commands/terminal.c (grub_cmd_terminal): Split into ...
14160 (grub_cmd_terminal_input): ... this, and ...
14161 (grub_cmd_terminal_output): ... this.
14162 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14163 `terminal_input' and `terminal_output'.
14164 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14165 `terminal_input' / `terminal_output' API.
14166 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14167 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14168 provided ${GRUB_TERMINAL}, convert it).
14170 2008-11-04 Robert Millan <rmh@aybabtu.com>
14172 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14174 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14176 2008-11-03 Bean <bean123ch@gmail.com>
14178 * kern/elf.c (grub_elf32_load): Revert to previous code.
14179 (grub_elf64_load): Likewise.
14181 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14183 2008-11-01 Robert Millan <rmh@aybabtu.com>
14185 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14186 (TARGET_CPPFLAGS): Likewise.
14187 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14189 2008-11-01 Carles Pina i Estany <carles@pina.cat>
14191 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14193 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14195 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14196 addition of objects until the code is not going to be able to fail.
14198 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14200 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14201 (add a missing NULL check, and correct them by moving the pointer
14202 operations after the actual check).
14204 2008-10-29 Robert Millan <rmh@aybabtu.com>
14206 * util/i386/pc/grub-install.in: Handle empty string as output from
14207 make_system_path_relative_to_its_root().
14209 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14211 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14212 circular metadata worst case scenario. If the metadata is circular
14213 then copy the wrap in place.
14214 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14215 project lib/format_text/layout.h
14216 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14218 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14220 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
14222 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14224 * util/update-grub_lib.in: Mention filename in warning message.
14226 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14228 * NEWS: Update for rename of update-grub to grub-mkconfig.
14230 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14232 * util/update-grub_lib.in: Copy to ...
14233 * util/grub-mkconfig_lib.in: ... this. Update all users.
14234 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
14235 * util/update-grub.in: Rename to ...
14236 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14237 option. Add `--output' option to allow users to specify the generated
14238 configuration file. Default to stdout.
14239 (update_grub_dir): Rename to ...
14240 (grub_mkconfig_dir): ... this.
14241 (grub_cfg): Default to an empty string.
14242 * conf/common.rmk (update-grub): Rename to ...
14243 (grub-mkconfig): ... this.
14244 (update-grub_lib): Copy to ...
14245 (grub-mkconfig_lib): ... this.
14246 (update-grub_SCRIPTS): Copy to ...
14247 (grub-mkconfig_SCRIPTS): ... this. Update all users.
14248 (update-grub_DATA): Rename to ...
14249 (grub-mkconfig_DATA): ... this.
14251 2008-09-28 Robert Millan <rmh@aybabtu.com>
14253 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
14254 to `modified'. Add the real `created' field.
14255 (grub_iso9660_uuid): Use `modified' rather than `created' for
14256 constructing the UUID.
14258 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
14260 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
14261 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
14263 2008-09-28 Bean <bean123ch@gmail.com>
14265 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
14266 Thanks to Christian Franke for finding this bug.
14268 2008-09-25 Robert Millan <rmh@aybabtu.com>
14270 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
14271 instances of grub_util_get_disk_name() (see previous commit).
14273 2008-09-25 Robert Millan <rmh@aybabtu.com>
14275 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
14276 `util/i386/get_disk_name.c'.
14277 * conf/i386-efi.rmk: Likewise.
14278 * conf/x86_64-efi.rmk: Likewise.
14279 * conf/i386-coreboot.rmk: Likewise.
14280 * conf/i386-ieee1275.rmk: Likewise.
14281 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
14282 `util/ieee1275/get_disk_name.c'.
14283 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
14284 * util/ieee1275/get_disk_name.c: Remove file.
14285 * util/i386/get_disk_name.c: Remove file.
14286 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
14287 "hd%d" for device.map entries, rather than using
14288 grub_util_get_disk_name().
14290 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14292 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
14294 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
14296 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14298 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
14300 (GRUB_TERM_PPAGE): Changed to 0x4900.
14302 2008-09-24 Robert Millan <rmh@aybabtu.com>
14304 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
14305 macros (they were i386-pc specific).
14306 * include/grub/sparc64/ieee1275/console.h: Likewise.
14307 * include/grub/efi/console.h: Likewise.
14309 2008-09-22 Bean <bean123ch@gmail.com>
14311 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
14312 resident and in attribute list.
14314 * include/grub/ntfs.h (BMP_LEN): Removed.
14316 2008-09-22 Bean <bean123ch@gmail.com>
14318 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
14319 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
14321 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
14322 error occurs, as grub_disk_open will call grub_disk_close, which will
14323 call p->close (scsi).
14325 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14327 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
14328 (AC_PREREQ): Bumped to 2.59.
14329 (AC_TRY_COMPILE): Replace obsolete macro with ...
14330 (AC_COMPILE_IFELSE): ... this.
14331 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
14332 (AC_LINK_IFELSE): ... this.
14334 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14336 * autogen.sh: Add a call to `gendistlist.sh'.
14338 2008-09-19 Christian Franke <franke@computer.org>
14340 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
14341 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
14342 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
14343 Export __enable_execute_stack() to modules.
14344 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
14347 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14349 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
14352 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14354 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
14355 #include <grub/util/hostdisk.h>.
14357 2008-09-08 Robert Millan <rmh@aybabtu.com>
14359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
14360 segments when their filesz is zero (grub_file_read() interprets
14361 zero-size as "read until EOF", which results in memory corruption).
14362 Use `lowest_segment' rather than 0 for calculating the current
14363 segment load address.
14365 2008-09-08 Robert Millan <rmh@aybabtu.com>
14367 * util/hostdisk.c (open_device): Replace a grub_util_info() call
14368 with grub_dprintf("hostdisk", ...), as it was so verbose that it
14369 clobbered useful information.
14371 2008-09-08 Robert Millan <rmh@aybabtu.com>
14373 * include/grub/util/biosdisk.h: Move to ...
14374 * include/grub/util/hostdisk.h: ... here. Update all users.
14375 * util/biosdisk.c: Move to ...
14376 * util/hostdisk.c: ... here. Update all users.
14378 2008-09-07 Robert Millan <rmh@aybabtu.com>
14380 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
14382 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
14383 and length can be stored directly in the `mbi->mmap_addr' and
14384 `mbi->mmap_length' struct fields.
14386 2008-09-07 Robert Millan <rmh@aybabtu.com>
14388 * conf/i386.rmk: New file. Provides declaration for building
14390 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
14391 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
14393 Include `conf/i386.mk'.
14394 * conf/i386-efi.rmk: Likewise.
14395 * conf/x86_64-efi.rmk: Likewise.
14396 * conf/i386-coreboot.rmk: Likewise.
14397 * conf/i386-ieee1275.rmk: Likewise.
14399 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
14401 Based on patch created by Colin D Bennett <colin@gibibit.com>.
14402 Adds optimization support for BGR based modes.
14404 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
14405 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14406 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14407 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14408 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14409 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14410 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14411 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14412 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14413 (grub_video_i386_vbeblit_index_index): Likewise.
14414 (grub_video_i386_vbeblit_replace_directN): Added.
14415 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14416 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14417 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14418 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14419 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14420 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14421 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14422 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14423 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14424 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14425 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14426 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14427 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14429 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
14430 (grub_video_i386_vbefill_R8G8B8): Likewise.
14431 (grub_video_i386_vbefill_index): Likewise.
14432 (grub_video_i386_vbefill_direct32): Added.
14433 (grub_video_i386_vbefill_direct24): Likewise.
14434 (grub_video_i386_vbefill_direct16): Likewise.
14435 (grub_video_i386_vbefill_direct8): Likewise.
14437 * include/grub/video.h (grub_video_blit_format): Removed
14438 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
14439 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
14440 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
14441 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
14442 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
14444 * video/video.c (grub_video_get_blit_format): Updated to use new
14445 blit formats. Added handling for 16 bit color modes.
14447 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
14449 (common_blitter): Updated to use new blitters.
14451 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
14453 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14454 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14455 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14456 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14457 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14458 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14459 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14460 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14461 (grub_video_i386_vbeblit_index_index): Likewise.
14462 (grub_video_i386_vbeblit_replace_directN): Added.
14463 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14464 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14465 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14466 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14467 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14468 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14469 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14470 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14471 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14472 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14473 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14474 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14475 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14477 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
14478 (grub_video_i386_vbefill_R8G8B8): Likewise.
14479 (grub_video_i386_vbefill_index): Likewise.
14480 (grub_video_i386_vbefill_direct32): Added.
14481 (grub_video_i386_vbefill_direct24): Likewise.
14482 (grub_video_i386_vbefill_direct16): Likewise.
14483 (grub_video_i386_vbefill_direct8): Likewise.
14485 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
14488 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
14491 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
14494 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
14497 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14499 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
14502 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14504 * fs/iso9660.c (grub_iso9660_date): New structure.
14505 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
14506 (grub_iso9660_uuid): New function.
14508 2008-09-05 Bean <bean123ch@gmail.com>
14510 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
14512 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
14513 insensitive bit for names in Win32 and Win32 & DOS namespace.
14515 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
14517 * include/grub/types.h (LONG_MAX): Likewise.
14519 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14521 * util/getroot.c: Include <config.h>.
14522 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
14523 add support for /dev/md/N devices and handle LVM double dash escaping.
14525 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14527 * config.guess: Update to latest version from config git.
14528 * config.sub: Likewise.
14530 2008-09-03 Robert Millan <rmh@aybabtu.com>
14532 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
14533 `disk->total_sectors'.
14535 2008-09-01 Colin D Bennett <colin@gibibit.com>
14537 * include/grub/normal.h: Fixed incorrect comment for
14538 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
14540 2008-09-01 Colin D Bennett <colin@gibibit.com>
14542 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
14543 values with defines.
14545 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
14546 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
14547 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
14548 (GRUB_VBE_MODEATTR_COLOR): Likewise.
14549 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
14550 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
14551 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
14552 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
14553 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
14554 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
14555 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
14556 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
14557 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
14558 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
14559 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
14560 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
14561 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
14562 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
14563 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
14565 2008-08-31 Robert Millan <rmh@aybabtu.com>
14567 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
14569 (grub_multiboot): Fix a few warnings.
14571 2008-08-31 Robert Millan <rmh@aybabtu.com>
14573 * loader/i386/pc/multiboot.c: Update comment not to say that
14574 boot_device support is unimplemented.
14576 2008-08-31 Robert Millan <rmh@aybabtu.com>
14578 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
14579 or memory map support are unimplemented.
14581 2008-08-31 Colin D Bennett <colin@gibibit.com>
14583 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
14585 2008-08-31 Colin D Bennett <colin@gibibit.com>
14587 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
14588 total video memory in 'vbeinfo' output; show color format details for
14591 2008-08-30 Pavel Roskin <proski@gnu.org>
14593 * util/genmoddep.c: Remove for real this time.
14594 * DISTLIST: Remove util/genmoddep.c.
14596 2008-08-30 Robert Millan <rmh@aybabtu.com>
14598 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
14599 as required by Multiboot spec (it was already 4-byte aligned, but
14602 2008-08-29 Pavel Roskin <proski@gnu.org>
14604 * kern/powerpc/ieee1275/crt0.S: Rename to ...
14605 * kern/powerpc/ieee1275/startup.S: ... this.
14606 * conf/powerpc-ieee1275.rmk: Adjust for the above.
14607 * DISTLIST: Likewise.
14609 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
14610 grub/cpu/kernel.h. Add start label for consistency with other
14611 platforms. Add grub_prefix immediately after start. Add jump
14612 to the code after grub_prefix.
14613 * include/grub/powerpc/kernel.h: Provide valid values for
14614 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
14616 2008-08-29 Bean <bean123ch@gmail.com>
14618 * configure.ac: Change host_os to cygwin for mingw.
14619 (asprintf): New check for function.
14621 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
14622 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
14624 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
14625 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
14626 sync, sleep and grub_util_get_disk_size for mingw.
14628 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
14629 to get size in mingw.
14630 (open_device): Use flag O_BINARY if it's defined.
14631 (find_root_device): Add dummy code for mingw.
14633 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
14634 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
14635 (get_scsi_disk_name): Return 0 for mingw.
14637 * util/hostfs.c: #include <grub/util/misc.h>.
14638 (grub_hostfs_open): Use "rb" flag to open file, use
14639 grub_util_get_disk_size to get disk size for mingw.
14641 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
14642 (asprintf): New function if HAVE_ASPRINTF is not set.
14643 (sync): New function for mingw.
14645 (grub_util_get_disk_size): Likewise.
14647 2008-08-28 Pavel Roskin <proski@gnu.org>
14649 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14652 2008-08-28 Robert Millan <rmh@aybabtu.com>
14654 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
14656 2008-08-28 Robert Millan <rmh@aybabtu.com>
14658 Change find_grub_drive() syntax so it doesn't prevent it from
14659 detecting NULL names as errors.
14661 * util/biosdisk.c (find_grub_drive): Move free slot search code
14663 (find_free_slot): ... to here.
14664 (read_device_map): Use find_free_slot() to search for free slots.
14666 2008-08-27 Marco Gerards <marco@gnu.org>
14668 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
14669 (scsi_mod_SOURCES): New variable.
14670 (scsi_mod_CFLAGS): Likewise
14671 (scsi_mod_LDFLAGS): Likewise.
14673 * disk/scsi.c: New file.
14675 * include/grub/scsi.h: Likewise.
14677 * include/grub/scsicmd.h: Likewise.
14679 * disk/ata.c: Include <grub/scsi.h>.
14680 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
14682 (grub_ata_iterate): Skip ATAPI devices.
14683 (grub_ata_open): Only handle ATAPI devices.
14684 (struct grub_atapi_read): Removed.
14685 (grub_atapi_readsector): Likewise.
14686 (grub_ata_read): No longer handle ATAPI devices.
14687 (grub_ata_write): Likewise.
14688 (grub_atapi_iterate): New function.
14689 (grub_atapi_read): Likewise.
14690 (grub_atapi_write): Likewise.
14691 (grub_atapi_open): Likewise.
14692 (grub_atapi_close): Likewise.
14693 (grub_atapi_dev): New variable.
14694 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
14695 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
14697 * include/grub/disk.h (enum grub_disk_dev_id): Add
14698 `GRUB_DISK_DEVICE_SCSI_ID'.
14700 2008-08-26 Robert Millan <rmh@aybabtu.com>
14702 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
14703 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
14706 2008-08-23 Bean <bean123ch@gmail.com>
14708 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
14709 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14710 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
14711 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
14713 (raid5rec_mod_SOURCES): New macro.
14714 (raid5rec_mod_CFLAGS): Likewise.
14715 (raid5rec_mod_LDFLAGS): Likewise.
14716 (raid6rec_mod_SOURCES): Likewise.
14717 (raid6rec_mod_CFLAGS): Likewise.
14718 (raid6rec_mod_LDFLAGS): Likewise.
14719 (mdraid_mod_SOURCES): Likewise.
14720 (mdraid_mod_CFLAGS): Likewise.
14721 (mdraid_mod_LDFLAGS): Likewise.
14722 (dm_nv_mod_SOURCES): Likewise.
14723 (dm_nv_mod_CFLAGS): Likewise.
14724 (dm_nv_mod_LDFLAGS): Likewise.
14726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
14727 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14728 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14730 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
14731 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14733 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14735 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14737 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14741 * disk/raid5_recover.c: New file.
14743 * disk/raid6_recover.c: Likewise.
14745 * disk/mdraid_linux.c: Likewise.
14747 * disk/dmraid_nvidia.c: Likewise.
14749 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
14752 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
14753 calculate the size of raid device.
14754 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
14755 different layout of raid5.
14756 (grub_raid_scan_device): Remove code specific to mdraid.
14757 (grub_raid_list): New variable.
14758 (free_array): New function.
14759 (grub_raid_register): Likewise.
14760 (grub_raid_unregister): Likewise.
14761 (grub_raid_rescan): Likewise.
14762 (GRUB_MOD_INIT): Don't iterate device here.
14763 (GRUB_MOD_FINI): Use free_array to release resource.
14765 * include/grub/raid.h: Remove macro and structure specific to mdraid.
14766 (grub_raid5_recover_func_t): New function variable type.
14767 (grub_raid6_recover_func_t): Likewise.
14768 (grub_raid5_recover_func): New variable.
14769 (grub_raid6_recover_func): Likewise.
14770 (grub_raid_register): New function.
14771 (grub_raid_unregister): Likewise.
14772 (grub_raid_rescan): Likewise.
14773 (grub_raid_block_xor): Likewise.
14775 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
14776 (CMD_CRC): New macro.
14778 (read_file): Handle device as well as file.
14779 (cmd_crc): New function.
14780 (fstest): Handle multiple disks.
14781 (options): Remove part, raw and long, add root and diskcount.
14782 (usage): Add crc, remove -p, -r, -l, add -r and -c.
14783 (main): Find the first non option entry and ignore subsequent options,
14784 add handling for the new options, support multiple disks.
14786 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
14788 2008-08-23 Bean <bean123ch@gmail.com>
14790 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
14792 * genfslist.sh: Ignore kernel.mod.
14794 * genpartmaplist.sh: Likewise.
14796 2008-08-23 Robert Millan <rmh@aybabtu.com>
14798 * util/getroot.c (find_root_device): Skip anything that starts with
14799 a dot, not just directories. This avoids things like /dev/.tmp.md0.
14801 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
14803 * util/update-grub.in (GRUB_GFXMODE): Export variable.
14804 * util/grub.d/00_header.in: Allow the administrator to change default
14805 gfxmode via ${GRUB_GFXMODE}.
14807 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
14809 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
14811 2008-08-21 Robert Millan <rmh@aybabtu.com>
14813 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
14815 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
14816 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
14818 2008-08-20 Carles Pina i Estany <carles@pina.cat>
14820 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
14821 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
14823 2008-08-19 Robert Millan <rmh@aybabtu.com>
14825 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
14826 (struct grub_virtual_screen): Remove `cursor_color'.
14827 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
14829 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
14831 2008-08-18 Robert Millan <rmh@aybabtu.com>
14833 Unify (identical) linux_normal.c files.
14834 * loader/i386/efi/linux_normal.c: Move from here ...
14835 * loader/linux_normal.c: ... to here. Update all users.
14836 * loader/i386/pc/linux_normal.c: Delete. Update all users.
14837 * loader/i386/ieee1275/linux_normal.c: Likewise.
14839 2008-08-18 Robert Millan <rmh@aybabtu.com>
14841 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
14842 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
14843 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
14844 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
14845 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
14847 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
14848 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
14849 (GRUB_LINUX_CL_END_OFFSET): ... to here.
14850 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
14851 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
14852 (GRUB_EFI_CL_END_OFFSET): Rename to ...
14853 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
14854 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
14855 Initialize `params->video_cursor_x' and `params->video_cursor_y'
14856 portably using grub_getxy().
14857 Replace `-EFI' with `-bzImage' in boot message.
14859 2008-08-17 Robert Millan <rmh@aybabtu.com>
14861 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
14863 2008-08-17 Robert Millan <rmh@aybabtu.com>
14865 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
14867 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
14868 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
14869 (grub_machine_mmap_iterate): New function declaration.
14870 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
14872 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
14875 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
14876 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
14877 Move e820 parsing from here ...
14878 * kern/i386/pc/mmap.c: New file.
14879 (grub_machine_mmap_iterate): ... to here.
14881 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
14882 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
14883 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
14884 (grub_available_iterate): Redeclare to return `void', and redeclare
14885 its hook to use grub_uint64_t as addr and size parameters, and rename
14887 (grub_machine_mmap_iterate): ... this. Update all users.
14889 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
14890 to make it more readable. Rename to ...
14891 (grub_machine_mmap_iterate): ... this.
14893 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
14894 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
14895 (grub_multiboot): Allocate an extra region after the payload, and fill
14896 it with a Multiboot memory map. Adjust a.out loader to calculate size
14897 with the extra space.
14898 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
14899 with the extra space.
14901 2008-08-17 Carles Pina i Estany <carles@pina.cat>
14903 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
14905 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
14907 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
14908 mdate-sh to the list `find' searches for.
14909 * DISTLIST: Regenerated.
14911 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
14913 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
14914 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
14915 genmoddep.awk, gensymlist.sh.in.
14916 (DISTDIRS): Add bus, docs, hook, lib.
14917 * DISTLIST: Regenerated.
14918 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
14920 2008-08-16 Robert Millan <rmh@aybabtu.com>
14922 * disk/raid.c (grub_raid_init): Handle/report errors set by
14923 grub_device_iterate().
14924 * disk/lvm.c (grub_lvm_init): Likewise.
14926 2008-08-15 Bean <bean123ch@gmail.com>
14928 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14930 (datetime_mod_SOURCES): New macro.
14931 (datetime_mod_CFLAGS): Likewise.
14932 (datetime_mod_LDFLAGS): Likewise.
14933 (date_mod_SOURCES): Likewise.
14934 (date_mod_CFLAGS): Likewise.
14935 (date_mod_LDFLAGS): Likewise.
14936 (datehook_mod_SOURCES): Likewise.
14937 (datehook_mod_CFLAGS): Likewise.
14938 (datehook_mod_LDFLAGS): Likewise.
14940 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14942 (datetime_mod_SOURCES): New macro.
14943 (datetime_mod_CFLAGS): Likewise.
14944 (datetime_mod_LDFLAGS): Likewise.
14945 (date_mod_SOURCES): Likewise.
14946 (date_mod_CFLAGS): Likewise.
14947 (date_mod_LDFLAGS): Likewise.
14948 (datehook_mod_SOURCES): Likewise.
14949 (datehook_mod_CFLAGS): Likewise.
14950 (datehook_mod_LDFLAGS): Likewise.
14952 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14954 (datetime_mod_SOURCES): New macro.
14955 (datetime_mod_CFLAGS): Likewise.
14956 (datetime_mod_LDFLAGS): Likewise.
14957 (date_mod_SOURCES): Likewise.
14958 (date_mod_CFLAGS): Likewise.
14959 (date_mod_LDFLAGS): Likewise.
14960 (datehook_mod_SOURCES): Likewise.
14961 (datehook_mod_CFLAGS): Likewise.
14962 (datehook_mod_LDFLAGS): Likewise.
14964 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14966 (datetime_mod_SOURCES): New macro.
14967 (datetime_mod_CFLAGS): Likewise.
14968 (datetime_mod_LDFLAGS): Likewise.
14969 (date_mod_SOURCES): Likewise.
14970 (date_mod_CFLAGS): Likewise.
14971 (date_mod_LDFLAGS): Likewise.
14972 (datehook_mod_SOURCES): Likewise.
14973 (datehook_mod_CFLAGS): Likewise.
14974 (datehook_mod_LDFLAGS): Likewise.
14976 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14978 (datetime_mod_SOURCES): New macro.
14979 (datetime_mod_CFLAGS): Likewise.
14980 (datetime_mod_LDFLAGS): Likewise.
14981 (date_mod_SOURCES): Likewise.
14982 (date_mod_CFLAGS): Likewise.
14983 (date_mod_LDFLAGS): Likewise.
14984 (datehook_mod_SOURCES): Likewise.
14985 (datehook_mod_CFLAGS): Likewise.
14986 (datehook_mod_LDFLAGS): Likewise.
14988 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
14990 * commands/date.c: New file.
14992 * hook/datehook.c: Likewise.
14994 * include/grub/lib/datetime.h: Likewise.
14996 * include/grub/i386/cmos.h: Likewise.
14998 * lib/datetime.c: Likewise.
15000 * lib/i386/datetime.c: Likewise.
15002 * lib/efi/datetime.c: Likewise.
15004 2008-08-14 Robert Millan <rmh@aybabtu.com>
15006 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15007 (grub_mkelfimage_SOURCES): New variable.
15008 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15010 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15011 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15012 * conf/powerpc-ieee1275.rmk: Likewise.
15013 * conf/i386-ieee1275.rmk: Likewise.
15015 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15016 * kern/i386/coreboot/init.c: Likewise.
15018 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15019 with `<grub/cpu/kernel.h>'.
15020 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15022 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15023 * kern/i386/coreboot/startup.S: Likewise.
15025 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15026 (GRUB_MOD_GAP): Remove.
15027 * include/grub/powerpc/kernel.h: New file.
15028 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15029 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15030 * include/grub/i386/kernel.h: New file.
15031 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15032 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15033 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15035 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15037 Use --directory when invoking grub_mkimage.
15039 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15040 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15041 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15042 and GRUB_KERNEL_CPU_PREFIX.
15044 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
15046 * include/grub/err.h (grub_err_printf): New function prototype.
15047 * util/misc.c (grub_err_printf): New function.
15048 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15050 * kern/err.c (grub_print_error): Use grub_err_printf.
15052 2008-08-13 Robert Millan <rmh@aybabtu.com>
15054 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15056 2008-08-13 Robert Millan <rmh@aybabtu.com>
15058 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15061 2008-08-12 Robert Millan <rmh@aybabtu.com>
15063 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15064 of the relocation code from here ...
15065 (grub_multiboot): ... to here.
15066 (forward_relocator, backward_relocator): Move from here ...
15067 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15068 (grub_multiboot_backward_relocator): ... to here.
15069 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15070 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15071 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15072 (grub_multiboot_forward_relocator_end)
15073 (grub_multiboot_backward_relocator)
15074 (grub_multiboot_backward_relocator_end): New variables.
15076 2008-08-12 Bean <bean123ch@gmail.com>
15078 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15080 2008-08-11 Robert Millan <rmh@aybabtu.com>
15082 * kern/i386/linuxbios/startup.S: Move from here ...
15083 * kern/i386/coreboot/startup.S: ... to here.
15085 * kern/i386/linuxbios/init.c: Move from here ...
15086 * kern/i386/coreboot/init.c: ... to here.
15088 * kern/i386/linuxbios/table.c: Move from here ...
15089 * kern/i386/coreboot/mmap.c: ... to here.
15091 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15093 2008-08-11 Robert Millan <rmh@aybabtu.com>
15095 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15096 errors. Leave it to the upper layer to handle them.
15098 2008-08-09 Christian Franke <franke@computer.org>
15100 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15101 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15102 Install `grub.d/10_windows' only on Cygwin.
15103 * configure.ac: Add subst of `target_os'.
15104 Check `target_os' also before setting TARGET_OBJ2ELF.
15105 Add `--enable-grub-pe2elf'.
15107 2008-08-08 Robert Millan <rmh@aybabtu.com>
15109 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15110 (grub_last_time): Change type to grub_uint64_t.
15111 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15112 (grub_disk_close): Likewise.
15114 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15115 (run_menu): Migrate code from to using grub_get_time_ms().
15117 * util/misc.c (grub_get_time_ms): New function.
15119 2008-08-08 Marco Gerards <marco@gnu.org>
15121 * disk/ata.c (grub_ata_regget): Change return type to
15123 (grub_ata_regget2): Likewise.
15124 (grub_ata_wait_status): New function.
15125 (grub_ata_wait_busy): Removed function, updated all users to use
15126 `grub_ata_wait_status'.
15127 (grub_ata_wait_drq): Likewise.
15128 (grub_ata_cmd): New function.
15129 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15131 (grub_ata_pio_write): Add error handling.
15132 (grub_atapi_identify): Likewise.
15133 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15135 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15136 handling. Actually use the detected registers. Reorder the
15137 detection logic such that it is easier to read.
15138 (grub_ata_pciinit): Do not assign the same ID to each controller.
15139 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15141 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15143 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15145 2008-08-08 Marco Gerards <marco@gnu.org>
15149 2008-08-07 Bean <bean123ch@gmail.com>
15151 * include/grub/x86_64/pci.h: New file.
15153 2008-08-07 Christian Franke <franke@computer.org>
15155 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15156 (TIMER2_GATE): Likewise.
15157 (grub_pit_wait): Add enable/disable of the timer2 gate
15158 bit of port 0x61. This fixes a possible infinite loop.
15160 2008-08-07 Bean <bean123ch@gmail.com>
15162 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15163 kern/i386/tsc.c and kern/i386/pit.c.
15165 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15168 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15171 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15173 2008-08-07 Bean <bean123ch@gmail.com>
15175 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15177 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15179 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15180 multiple inclusion. Add #include <grub/types.h>.
15182 2008-08-06 Christian Franke <franke@computer.org>
15184 * conf/common.rmk: Build and install `10_windows'.
15185 * util/grub.d/10_windows.in: New script.
15187 2008-08-06 Pavel Roskin <proski@gnu.org>
15189 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15191 2008-08-06 Robert Millan <rmh@aybabtu.com>
15193 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15194 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15196 2008-08-06 Bean <bean123ch@gmail.com>
15198 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15199 (grub_pxefs_fs_int): Remove dummy definition.
15200 (grub_pxefs_open): Use data->block_size to store the current block
15202 (grub_pxefs_read): Use block size stored in data->block_size. As the
15203 value of grub_pxe_blksize can be changed after the file is opened.
15205 2008-08-06 Bean <bean123ch@gmail.com>
15207 * fs/i386/pc/pxe.c (curr_file): new variable.
15208 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15209 require the dummy internal file system anymore.
15210 (grub_pxefs_read): Removed.
15211 (grub_pxefs_close): Likewise.
15212 (grub_pxefs_fs_int): Likewise.
15213 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15214 connection when we switch file.
15215 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15217 2008-08-06 Robert Millan <rmh@aybabtu.com>
15219 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15221 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15222 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15224 * kern/i386/halt.c: New file.
15225 * kern/i386/reboot.c: Likewise.
15226 * include/grub/i386/reboot.h: Likewise.
15227 * include/grub/i386/halt.h: Likewise.
15229 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15230 Include `<grub/cpu/halt.h>'.
15231 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15232 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15234 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15235 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15236 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15237 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15238 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
15239 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
15241 * include/grub/i386/at_keyboard.h: ... to here.
15243 2008-08-05 Robert Millan <rmh@aybabtu.com>
15245 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
15246 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
15247 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
15248 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15249 `kern/generic/millisleep.c'.
15251 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
15252 instead of grub_get_rtc().
15253 (grub_tsc_init): Initialize `tsc_boot_time'.
15255 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
15256 (grub_machine_init): Use grub_tsc_init() rather than
15257 installing an RTC-based handler via grub_install_get_time_ms().
15259 * kern/i386/pit.c: New file.
15260 * include/grub/i386/pit.h: Likewise.
15262 2008-08-05 Bean <bean123ch@gmail.com>
15264 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
15266 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
15267 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
15268 (pxe_mod_SOURCES): New macro.
15269 (pxe_mod_CFLAGS): Likewise.
15270 (pxe_mod_LDFLAGS): Likewise.
15271 (pxecmd_mod_SOURCES): Likewise.
15272 (pxecmd_mod_CFLAGS): Likewise.
15273 (pxecmd_mod_LDFLAGS): Likewise.
15275 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
15276 (grub_pxe_call): Likewise.
15278 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
15280 * commands/i386/pc/pxecmd.c: New file.
15282 * fs/i386/pc/pxe.c: Likewise.
15284 * include/grub/i386/pc/pxe.h: Likewise.
15286 2008-08-05 Bean <bean123ch@gmail.com>
15288 * util/console.c (grub_console_cur_color): New variable.
15289 (grub_console_standard_color): Likewise.
15290 (grub_console_normal_color): Likewise.
15291 (grub_console_highlight_color): Likewise.
15292 (color_map): Likewise.
15293 (use_color): Likewise.
15294 (NUM_COLORS): New macro.
15295 (grub_ncurses_setcolorstate): Handle color properly.
15296 (grub_ncurses_setcolor): Don't change color here, just remember the
15297 settings, color will be set in grub_ncurses_setcolorstate.
15298 (grub_ncurses_getcolor): New function.
15299 (grub_ncurses_init): Initialize color pairs.
15300 (grub_ncurses_term): New member grub_ncurses_getcolor.
15302 2008-08-05 Colin D Bennett <colin@gibibit.com>
15304 High resolution timer support. Implemented for x86 CPUs using TSC.
15305 Extracted generic grub_millisleep() so it's linked in only as needed.
15306 This requires a Pentium compatible CPU; if the RDTSC instruction is
15307 not supported, then it falls back on the generic grub_get_time_ms()
15308 implementation that uses the machine's RTC.
15310 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
15311 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15312 `kern/generic/millisleep.c'.
15314 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
15315 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
15317 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
15318 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
15320 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15322 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15323 `kern/generic/millisleep.c'.
15325 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15327 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
15329 * kern/generic/rtc_get_time_ms.c: New file.
15331 * kern/generic/millisleep.c: New file.
15333 * kern/misc.c: Don't include
15334 <kern/time.h> anymore.
15335 (grub_millisleep_generic): Removed.
15337 * commands/sleep.c (grub_interruptible_millisleep): Uses
15338 grub_get_time_ms() instead of grub_get_rtc().
15340 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
15342 (grub_cpu_is_cpuid_supported): New inline function.
15343 (grub_cpu_is_tsc_supported): New inline function.
15344 (grub_tsc_init): New function prototype.
15345 (grub_tsc_get_time_ms): New function prototype.
15347 * kern/i386/tsc.c (grub_get_time_ms): New file.
15349 * include/grub/time.h: Include <grub/types.h.
15350 (grub_millisleep_generic): Removed.
15351 (grub_get_time_ms): New prototype.
15352 (grub_install_get_time_ms): New prototype.
15353 (grub_rtc_get_time_ms): New prototype.
15355 * kern/time.c (grub_get_time_ms): New function.
15356 (grub_install_get_time_ms): New function.
15358 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
15359 <grub/time.h> anymore.
15360 (grub_millisleep): Removed.
15361 (grub_machine_init): Call grub_tsc_init.
15363 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
15364 get_time_ms() implementation.
15366 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
15367 (ieee1275_get_time_ms): New function.
15368 (grub_machine_init): Install get_time_ms() implementation.
15370 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
15371 (grub_machine_init): Call grub_tsc_init().
15372 (grub_millisleep): Removed.
15374 * kern/ieee1275/init.c (grub_millisleep): Removed.
15375 (grub_machine_init): Install ieee1275_get_time_ms()
15377 (ieee1275_get_time_ms): New function.
15378 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
15381 2008-08-05 Marco Gerards <marco@gnu.org>
15383 * disk/ata.c: Include <grub/pci.h>.
15384 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
15385 (grub_ata_initialize): Rewritten.
15386 (grub_ata_device_initialize): New function.
15388 2008-08-04 Pavel Roskin <proski@gnu.org>
15390 * kern/main.c: Include grub/mm.h.
15392 2008-08-04 Robert Millan <rmh@aybabtu.com>
15394 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
15395 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
15396 corruption problem).
15398 2008-08-04 Robert Millan <rmh@aybabtu.com>
15400 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
15401 warnings introduced in my last commit.
15403 2008-08-03 Robert Millan <rmh@aybabtu.com>
15405 Make PCI available on all i386 architectures.
15407 * include/grub/i386/pc/pci.h: Move from here ...
15408 * include/grub/i386/pci.h: ... to here.
15410 * include/grub/i386/pc/pci.h: Remove.
15411 * include/grub/i386/efi/pci.h: Remove.
15412 * include/grub/x86_64/efi/pci.h: Remove.
15414 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
15415 `<grub/cpu/pci.h>'.
15417 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
15418 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
15419 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
15421 * conf/i386-ieee1275.rmk: Likewise.
15423 2008-08-03 Robert Millan <rmh@aybabtu.com>
15425 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
15426 (grub_console_setcursor): Make it possible to set cursor off.
15428 2008-08-03 Robert Millan <rmh@aybabtu.com>
15430 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
15431 of modules instead of assuming which platform provides what.
15432 * util/update-grub.in: Likewise.
15434 2008-08-03 Robert Millan <rmh@aybabtu.com>
15436 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
15437 instead of `grub_install_dos_part' to determine whether a drive needs
15438 to be prepended to prefix (`grub_install_dos_part' is not reliable,
15439 because it can be overridden when loading GRUB via Multiboot).
15441 2008-08-02 Robert Millan <rmh@aybabtu.com>
15443 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
15445 2008-08-02 Robert Millan <rmh@aybabtu.com>
15447 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
15448 of informational grub_dprintf() calls.
15450 2008-08-02 Robert Millan <rmh@aybabtu.com>
15452 * disk/memdisk.c (memdisk_size): Don't initialize.
15453 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
15455 * include/grub/i386/pc/kernel.h
15456 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
15457 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
15458 (grub_memdisk_image_size, grub_arch_memdisk_addr)
15459 (grub_arch_memdisk_size): Remove.
15461 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
15462 field (was only used to transfer a constant). Add `type' field to
15463 support multiple module types.
15464 (grub_module_iterate): New function.
15466 * kern/device.c (grub_device_open): Do not hide error messages
15467 when grub_disk_open() fails. Use grub_print_error() instead.
15469 * kern/i386/pc/init.c (grub_arch_modules_addr)
15470 (grub_arch_memdisk_size): Remove functions.
15471 (grub_arch_modules_addr): Return the module address in high memory
15472 (now that it isn't copied anymore).
15474 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
15475 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
15476 decompression routine (grub_total_module_size already includes that
15477 now). Don't copy modules back to low memory.
15479 * kern/main.c: Include `<grub/mm.h>'.
15480 (grub_load_modules): Split out (and use) ...
15481 (grub_module_iterate): ... this function, which iterates through
15482 module objects and runs a hook.
15483 Comment out grub_mm_init_region() call, as it would cause non-ELF
15484 modules to be overwritten.
15486 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
15487 the memdisk image in its own region, make it part of the module list.
15488 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
15489 (main): Parse --memdisk|-m option, and pass user-provided path as
15490 parameter to generate_image().
15491 (add_segments): Pass `memdisk_path' down to load_modules().
15492 (load_modules): Embed memdisk image in module section when requested.
15493 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
15494 `header.type' instead of `header.offset'.
15496 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
15497 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
15498 (memdisk_mod_LDFLAGS): New variables.
15499 * conf/i386-coreboot.rmk: Likewise.
15500 * conf/i386-ieee1275.rmk: Likewise.
15502 2008-08-02 Robert Millan <rmh@aybabtu.com>
15504 * loader/i386/pc/multiboot.c (playground, forward_relocator)
15505 (backward_relocator): New variables. Used to allocate and relocate
15506 the payload, respectively.
15507 (grub_multiboot_load_elf32): Load into heap instead of requested
15508 address, install the appropriate relocator code in each bound of
15509 the payload, and set the entry point such that
15510 grub_multiboot_real_boot() will jump to one of them.
15512 * kern/i386/loader.S (grub_multiboot_payload_size)
15513 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15514 (grub_multiboot_payload_entry_offset): New variables.
15515 (grub_multiboot_real_boot): Set cpu context to what the relocator
15516 expects, and jump to the relocator instead of the payload.
15518 * include/grub/i386/loader.h (grub_multiboot_payload_size)
15519 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15520 (grub_multiboot_payload_entry_offset): Export.
15522 2008-08-01 Bean <bean123ch@gmail.com>
15524 * normal/menu_entry.c (editor_getline): Don't return the original
15525 string as result, as it will be released by lexer once it has done
15528 2008-08-01 Robert Millan <rmh@aybabtu.com>
15530 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
15531 within menuentries, not before them.
15532 util/grub.d/10_hurd.in: Likewise.
15534 2008-08-01 Bean <bean123ch@gmail.com>
15536 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
15537 (bufio_mod_SOURCES): New macro.
15538 (bufio_mod_CFLAGS): Likewise.
15539 (bufio_mod_LDFLAGS): Likewise.
15541 * include/grub/bufio.h: New file.
15543 * io/bufio.c: Likewise.
15545 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
15546 (grub_video_reader_png): Use grub_buffile_open to open file.
15548 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
15549 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
15551 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
15552 (grub_video_reader_tga): Use grub_buffile_open to open file.
15554 * font/manager.c: Include <grub/bufio.h>.
15555 (add_font): Use grub_buffile_open to open file.
15557 2008-07-31 Robert Millan <rmh@aybabtu.com>
15559 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
15560 ELF segments, use a macro for arbitrarily accessing any of them instead
15561 of preparing a pointer that allows access to one at a time.
15562 (grub_multiboot_load_elf64): Likewise.
15564 2008-07-31 Bean <bean123ch@gmail.com>
15566 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
15567 GRUB_KERNEL_MACHINE_DATA_END.
15569 2008-07-30 Robert Millan <rmh@aybabtu.com>
15571 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
15572 Increase from 0x50 to 0x60.
15573 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
15574 use UUIDs to identify the root drive for them. If that's not
15576 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
15577 check, for cross-disk installs.
15579 2008-07-30 Robert Millan <rmh@aybabtu.com>
15581 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
15582 is non-empty, use it to set the `prefix' environment variable instead
15583 of the usual approach.
15584 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
15585 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
15586 environment variable instead of dummy make_install_device().
15588 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
15589 (start): Insert a data section, with `grub_prefix' variable.
15590 * kern/i386/linuxbios/startup.S: Likewise.
15592 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
15593 New variable reference.
15594 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
15595 New macro. Defines offset of `grub_prefix' within startup.S (relative
15597 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
15598 section within startup.S (relative to `start').
15599 * include/grub/i386/coreboot/kernel.h: Likewise.
15601 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
15602 Overwrite grub_prefix with its contents, at the beginning of the
15604 (main): Understand -p|--prefix.
15606 2008-07-30 Robert Millan <rmh@aybabtu.com>
15608 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
15610 2008-07-30 Robert Millan <rmh@aybabtu.com>
15612 * term/i386/pc/vga_text.c (grub_console_cls): Use
15613 grub_console_gotoxy() to go back to beginning of the screen.
15614 Found by Patrick Georgi <patrick.georgi@coresystems.de>
15616 2008-07-29 Christian Franke <franke@computer.org>
15618 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15619 Add conversion of emulated mount points on Cygwin.
15621 2008-07-29 Christian Franke <franke@computer.org>
15623 * util/update-grub.in: Add a check for admin
15625 Remove old `grub.cfg.new' before creation.
15626 Add `-f' to `mv' to handle the different filesystem
15627 semantics of Windows.
15629 2008-07-29 Bean <bean123ch@gmail.com>
15631 * normal/main.c (get_line): Fix buffer overflow bug.
15633 2008-07-28 Robert Millan <rmh@aybabtu.com>
15635 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
15636 (struct grub_apple_header): New struct. Describes the layout of
15637 the partmap header.
15638 (apple_partition_map_iterate): Check the header magic as well as the
15639 partition magic (which was already being checked).
15641 2008-07-28 Pavel Roskin <proski@gnu.org>
15643 * genmk.rb: Add a warning to the beginning of the output that
15644 it's a generated file and should not be edited.
15646 2008-07-28 Robert Millan <rmh@aybabtu.com>
15648 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15649 with the same number are found, just use issue a warning with
15650 grub_dprintf(), as this error has been reported to be non-fatal.
15652 2008-07-27 Robert Millan <rmh@aybabtu.com>
15654 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
15657 2008-07-27 Bean <bean123ch@gmail.com>
15659 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
15660 (grub_fat_find_dir): Ignore case when comparing filename.
15662 2008-07-27 Bean <bean123ch@gmail.com>
15664 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
15665 smallino, as it's more descriptive, and i8count can be confused with
15666 the other field count.
15667 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
15670 2008-07-27 Bean <bean123ch@gmail.com>
15672 * commands/crc.c: New file.
15674 * lib/crc.c: Likewise.
15676 * include/grub/lib/crc.h: Likewise.
15678 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
15680 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
15681 (hexdump): Move this function to ...
15683 * lib/hexdump.c: ... here.
15685 * include/grub/hexdump.h: Renamed to ...
15687 * include/grub/lib/hexdump.h: ... this.
15689 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
15691 * util/grub-editenv.c: Likewise.
15693 * include/envblk.h: Renamed to ...
15695 * include/lib/envblk.h: ... this.
15697 * util/envblk.c: Renamed to ...
15699 * lib/envblk.c: ... this.
15701 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
15703 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
15704 (pkglib_MODULES): Add crc.mod.
15705 (hexdump_mod_SOURCES): Add lib/hexdump.c.
15706 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
15707 (crc_mod_SOURCES): New macro.
15708 (crc_mod_CFLAGS): Likewise.
15709 (crc_mod_LDFLAGS): Likewise.
15711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
15713 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15715 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15719 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15721 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
15723 * commands/help.c: Include <grub/term.h>.
15724 (TERM_WIDTH): Removed. Updated all users.
15726 2008-07-27 Pavel Roskin <proski@gnu.org>
15728 * util/getroot.c (find_root_device): Rephrase a comment to avoid
15729 spurious warnings about a comment within a comment.
15731 2008-07-25 Robert Millan <rmh@aybabtu.com>
15733 * util/getroot.c (find_root_device): Skip devices that match
15734 /dev/dm-[0-9]. This lets the real device be found for any type of
15735 abstraction (LVM, EVMS, RAID..).
15736 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
15737 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
15738 device is found first, find_root_device() will now skip it.
15740 2008-07-24 Pavel Roskin <proski@gnu.org>
15742 * include/grub/types.h: Use __builtin_bswap32() and
15743 __builtin_bswap64() with gcc 4.3 and newer.
15745 2008-07-24 Christian Franke <franke@computer.org>
15747 * util/i386/pc/grub-install.in: If `--debug' is specified,
15748 pass `--verbose' to grub-setup.
15749 Abort script if make_system_path_relative_to_its_root() fails.
15751 2008-07-24 Bean <bean123ch@gmail.com>
15753 * configure.ac: Fixed a bug caused by the previous cygwin patch,
15754 variable `target_platform' should be `platform'.
15756 2008-07-24 Bean <bean123ch@gmail.com>
15758 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
15759 (grub_png_init_fixed_block): New function.
15760 (grub_png_decode_image_data): Handle fixed huffman code compression.
15762 2008-07-24 Bean <bean123ch@gmail.com>
15764 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
15765 (grub_pe2elf_SOURCES): New macro.
15766 (CLEANFILES): Add grub-pe2elf.
15768 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
15769 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
15770 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
15771 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
15772 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
15773 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
15774 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
15775 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
15776 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
15777 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
15778 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
15779 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
15780 (GRUB_PE32_DT_FUNCTION): Likewise.
15781 (GRUB_PE32_REL_I386_DIR32): Likewise.
15782 (GRUB_PE32_REL_I386_REL32): Likewise.
15783 (grub_pe32_symbol): New structure.
15784 (grub_pe32_reloc): Likewise.
15786 * util/grub-pe2elf.c: New file.
15788 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
15789 start symbol in non pc platform.
15791 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
15793 The following patches are from Christian Franke.
15795 * include/grub/dl.h: Remove .previous, gas supports this only
15798 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
15799 Remove .type, gas supports this only for ELF format.
15801 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
15802 nullbytes in symbol table. This fixes an infinite loop if table is
15805 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
15806 TARGET_IMG_LDFLAGS and EXEEXT.
15808 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
15809 TARGET_IMG_LDFLAGS_AC.
15810 (grub_CHECK_STACK_ARG_PROBE): New function.
15812 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
15814 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
15816 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
15817 to set TARGET_IMG_LD* accordingly.
15818 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
15819 Add call to grub_CHECK_STACK_ARG_PROBE.
15820 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
15822 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
15824 * genmk.rb: Add EXEEXT to CLEANFILES.
15826 2008-07-23 Robert Millan <rmh@aybabtu.com>
15828 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
15829 define the codes for arrows and lines used for the menu).
15830 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
15833 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
15834 fonts, because the latter are too slow.
15836 2008-07-21 Bean <bean123ch@gmail.com>
15838 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
15839 a20. Run keyboard test last, as it will cause macbook to halt.
15841 2008-07-18 Pavel Roskin <proski@gnu.org>
15843 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
15844 load foreign architecture modules correctly anyway. Keep
15845 support for loading host architecture modules, whether we
15846 compile them or not.
15848 2008-07-17 Pavel Roskin <proski@gnu.org>
15850 * configure.ac: Use -m32 or -m64 regardless of whether we had to
15851 change target_cpu. The compiler default can mismatch target_cpu
15854 * disk/efi/efidisk.c: Fix format warnings on x86_64.
15855 * kern/efi/efi.c: Likewise.
15857 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
15858 target compiler is functional.
15859 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
15862 * configure.ac: Default to efi platform for x86_64-apple. Allow
15863 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
15864 adjustments from the rest, only do them if target is not
15865 explicitly given. Merge other adjustments with the final sanity
15866 check. Remove an extraneous check for supported CPU. Be
15867 specific which CPU and which platform is not supported.
15869 * configure.ac: Default to pc platform for x86_64.
15871 2008-07-17 Robert Millan <rmh@aybabtu.com>
15873 Partial LinuxBIOS -> Coreboot rename.
15875 * conf/i386-linuxbios.rmk: Renamed to ...
15876 * conf/i386-coreboot.rmk: ... this.
15877 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
15878 * configure.ac: Accept "coreboot" as input platform (but maintain
15879 compatibility with "linuxbios").
15880 * include/grub/i386/linuxbios: Renamed to ...
15881 * include/grub/i386/coreboot: ... this.
15883 2008-07-17 Bean <bean123ch@gmail.com>
15885 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
15886 (appleldr_mod_SOURCE): New variable.
15887 (appleldr_mod_CFLAGS): Likewise.
15888 (appleldr_mod_LDFLAGS): Likewise.
15889 (pci_mod_SOURCES): Likewise.
15890 (pci_mod_CFLAGS): Likewise.
15891 (pci_mod_LDFLAGS): Likewise.
15892 (lspci_mod_SOURCES): Likewise.
15893 (lspci_mod_CFLAGS): Likewise.
15894 (lspci_mod_LDFLAGS): Likewise.
15896 * conf/x86_64-efi.rmk: New file.
15898 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
15900 (grub_efidisk_write): Likewise.
15902 * include/efi/api.h (efi_call_0): New macro.
15903 (efi_call_1): Likewise.
15904 (efi_call_2): Likewise.
15905 (efi_call_3): Likewise.
15906 (efi_call_4): Likewise.
15907 (efi_call_5): Likewise.
15908 (efi_call_6): Likewise.
15910 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
15911 grub_rescue_cmd_chainloader.
15913 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
15914 (grub_pe32_optional_header): Change some fields based on i386 or
15916 (GRUB_PE32_PE32_MAGIC): Likewise.
15918 * include/grub/efi/uga_draw.h: New file.
15920 * include/grub/elf.h (STN_ABS): New constant.
15921 (R_X86_64_NONE): Relocation constant for x86_64.
15922 (R_X86_64_64): Likewise.
15923 (R_X86_64_PC32): Likewise.
15924 (R_X86_64_GOT32): Likewise.
15925 (R_X86_64_PLT32): Likewise.
15926 (R_X86_64_COPY): Likewise.
15927 (R_X86_64_GLOB_DAT): Likewise.
15928 (R_X86_64_JUMP_SLOT): Likewise.
15929 (R_X86_64_RELATIVE): Likewise.
15930 (R_X86_64_GOTPCREL): Likewise.
15931 (R_X86_64_32): Likewise.
15932 (R_X86_64_32S): Likewise.
15933 (R_X86_64_16): Likewise.
15934 (R_X86_64_PC16): Likewise.
15935 (R_X86_64_8): Likewise.
15936 (R_X86_64_PC8): Likewise.
15938 * include/grub/i386/efi/pci.h: New file.
15940 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
15941 Change it value based on platform.
15942 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
15943 (GRUB_E820_RAM): Likewise.
15944 (GRUB_E820_RESERVED): Likewise.
15945 (GRUB_E820_ACPI): Likewise.
15946 (GRUB_E820_NVS): Likewise.
15947 (GRUB_E820_EXEC_CODE): Likewise.
15948 (GRUB_E820_MAX_ENTRY): Likewise.
15949 (grub_e820_mmap): New structure.
15950 (linux_kernel_header): Change the efi field according to different
15951 kernel version, also field from linux_kernel_header.
15953 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
15955 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
15956 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
15957 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
15958 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
15959 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
15960 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
15961 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
15962 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
15963 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
15964 (GRUB_PCI_ADDR_IO_MASK): Likewise.
15966 * include/grub/x86_64/efi/kernel.h: New file.
15968 * include/grub/x86_64/efi/loader.h: Likewise.
15970 * include/grub/x86_64/efi/machine.h: Likewise.
15972 * include/grub/x86_64/efi/pci.h: Likewise.
15974 * include/grub/x86_64/efi/time.h: Likewise.
15976 * include/grub/x86_64/linux.h: Likewise.
15978 * include/grub/x86_64/setjmp.h: Likewise.
15980 * include/grub/x86_64/time.h: Likewise.
15982 * include/grub/x86_64/types.h: Likewise.
15984 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
15985 GRUB_TARGET_SIZEOF_VOID_P.
15987 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
15988 (grub_efi_locate_handle): Likewise.
15989 (grub_efi_open_protocol): Likewise.
15990 (grub_efi_set_text_mode): Likewise.
15991 (grub_efi_stall): Likewise.
15992 (grub_exit): Likewise.
15993 (grub_reboot): Likewise.
15994 (grub_halt): Likewise.
15995 (grub_efi_exit_boot_services): Likewise.
15996 (grub_get_rtc): Likewise.
15998 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
15999 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16000 (grub_efi_allocate_pages): Wrap efi calls.
16001 (grub_efi_free_pages): Wrap efi calls.
16002 (grub_efi_get_memory_map): Wrap efi calls.
16004 * kern/x86_64/dl.c: New file.
16006 * kern/x86_64/efi/callwrap.S: Likewise.
16008 * kern/x86_64/efi/startup.S: Likewise.
16010 * loader/efi/appleloader.c: Likewise.
16012 * loader/efi/chainloader.c (cmdline): New variable.
16013 (grub_chainloader_unload): Wrap efi calls.
16014 (grub_chainloader_boot): Likewise.
16015 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16018 * loader/efi/chainloader_normal.c (chainloader_command):
16019 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16022 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16024 (grub_e820_add_region): New function.
16025 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16027 (grub_find_video_card): New function.
16028 (grub_linux_setup_video): New function.
16029 (grub_rescue_cmd_linux): Probe for video information.
16031 * normal/x86_64/setjmp.S: New file.
16033 * term/efi/console.c (map_char): New function.
16034 (grub_console_putchar): Map unicode char.
16035 (grub_console_checkkey): Wrap efi calls.
16036 (grub_console_getkey): Likewise.
16037 (grub_console_getwh): Likewise.
16038 (grub_console_gotoxy): Likewise.
16039 (grub_console_cls): Likewise.
16040 (grub_console_setcolorstate): Likewise.
16041 (grub_console_setcursor): Likewise.
16043 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16045 2008-07-16 Pavel Roskin <proski@gnu.org>
16047 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16050 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16051 pointer, not an integer. This fixes a warning and prevents
16052 precision loss on 64-bit systems.
16053 (relocate_addresses): Remove unneeded cast.
16055 2008-07-15 Pavel Roskin <proski@gnu.org>
16057 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16059 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16061 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16062 Fix comparison between signed and unsigned.
16064 * include/grub/i386/ieee1275/console.h: Declare
16065 grub_console_init() and grub_console_fini().
16067 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16068 It's empty and unused.
16070 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16071 beginning to avoid warnings with some compilers.
16073 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16074 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16076 2008-07-14 Pavel Roskin <proski@gnu.org>
16078 * kern/env.c (grub_register_variable_hook): Don't copy empty
16079 string, it leaks memory. Pass "" to grub_env_set(), it should
16080 handle constant strings.
16082 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16083 * commands/cmp.c (grub_cmd_cmp): Likewise.
16084 * kern/dl.c (grub_dl_flush_cache): Likewise.
16085 (grub_dl_load_core): Likewise.
16086 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16087 (grub_elf64_load_phdrs): Likewise.
16089 2008-07-13 Pavel Roskin <proski@gnu.org>
16091 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16092 between signed and unsigned.
16093 (LzmaEnc_Finish): Fix warning about an unused parameter.
16095 2008-07-13 Bean <bean123ch@gmail.com>
16097 * Makefile.in (enable_lzo): New rule.
16099 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16101 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16103 * boot/i386/pc/lnxboot.S: #include <config.h>.
16105 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
16106 its value according to the compression algorithm used, lzo or lzma.
16108 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16109 compression algorithm according to configure macro.
16111 * kern/i386/pc/startup.S (codestart): Likewise.
16113 * kern/i386/pc/lzma_decode.S: New file.
16115 * include/grub/lib/LzFind.h: Likewise.
16117 * include/grub/lib/LzHash.h: Likewise.
16119 * include/grub/lib/LzmaDec.h: Likewise.
16121 * include/grub/lib/LzmaEnc.h: Likewise.
16123 * include/grub/lib/LzmaTypes.h: Likewise.
16125 * lib/LzFind.c: Likewise.
16127 * lib/LzmaDec.c: Likewise.
16129 * lib/LzmaEnc.c: Likewise.
16131 2008-07-13 Bean <bean123ch@gmail.com>
16133 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16134 (grub_ext4_extent_header): New structure.
16135 (grub_ext4_extent): Likewise.
16136 (grub_ext4_extent_idx): Likewise.
16137 (grub_ext4_find_leaf): New function.
16138 (grub_ext2_read_block): Handle extents.
16140 2008-07-12 Robert Millan <rmh@aybabtu.com>
16142 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16144 2008-07-11 Robert Millan <rmh@aybabtu.com>
16146 * util/grub.d/40_custom.in: New file. Example on how to add custom
16147 entries to /etc/grub.d.
16148 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16149 40_custom (implicitly, by merging all the grub.d rules).
16151 2008-07-11 Pavel Roskin <proski@gnu.org>
16153 * commands/read.c (grub_getline): Fix invalid memory access.
16154 Don't add newline to the variable value.
16156 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16157 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16158 (serial_hw_get_port): Check validity of the port number.
16159 (grub_cmd_serial): Check return value of serial_hw_get_port().
16161 2008-07-07 Pavel Roskin <proski@gnu.org>
16163 * boot/i386/pc/diskboot.S (notification_string): Replace
16164 "Loading kernel" with just "loading". This is shorter, less
16165 confusing and saves a few bytes for possible future changes.
16167 2008-07-05 Pavel Roskin <proski@gnu.org>
16169 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16170 size for ATAPI devices, they are undefined. Output sector
16171 number in decimal form.
16173 * disk/ata.c: Use named constants for status bits.
16175 2008-07-04 Pavel Roskin <proski@gnu.org>
16177 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16178 grub_addr_t before casting it to the void pointer to fix a
16179 warning. Non-addressable regions are discarded earlier.
16180 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16181 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16182 (check_signature): Don't shadow table_header.
16183 (grub_linuxbios_table_iterate): Cast numeric constants to
16184 grub_linuxbios_table_header_t.
16185 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16188 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16191 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16192 pointer, which can cause warnings. Support 64-bit addresses.
16194 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16195 of sizeof(long). This fixes PowerPC image generation on x86_64.
16197 2008-07-04 Robert Millan <rmh@aybabtu.com>
16199 This fixes a performance issue when pc & gpt partmap iterators
16200 didn't abort iteration even after our hook found what it was
16201 looking for (often causing expensive probes of non-existent drives).
16203 Some callers relied on previous buggy behaviour, since they would
16204 raise an error when their own hooks caused early abortion of its
16207 * kern/device.c (grub_device_open): Improve error message.
16208 * disk/lvm.c (grub_lvm_open): Likewise.
16209 * disk/raid.c (grub_raid_open): Likewise.
16211 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16212 when hook requests it, independently of grub_errno.
16213 (pc_partition_map_probe): Do not fail when find_func() caused
16214 early abortion of pc_partition_map_iterate().
16216 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16217 when hook requests it, independently of grub_errno.
16218 (gpt_partition_map_probe): Do not fail when find_func() caused
16219 early abortion of gpt_partition_map_iterate().
16221 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16222 when hook requests it, independently of grub_errno. Do not fail when
16223 part_map_iterate_hook() caused early abortion of p->iterate().
16225 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16226 when grub_partition_iterate() returned with non-zero.
16228 2008-07-03 Pavel Roskin <proski@gnu.org>
16230 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16231 like we do in grub_ata_pio_read().
16232 (grub_ata_readwrite): Always write individual sectors. Fix the
16233 sector count for the remainder.
16234 (grub_ata_write): Enable writing to ATA devices. Correctly
16235 report error for ATAPI devices.
16237 2008-07-02 Pavel Roskin <proski@gnu.org>
16239 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
16242 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
16243 for every read sector, we already increment it for the whole
16244 batch. This fixes reading more than 256 sectors at once.
16246 * util/grub-editenv.c (cmd_info): Cast argument to long
16247 explicitly. ptrdiff_t reduces to int on i386.
16249 * util/grub-editenv.c (main): Be specific which parameter is
16252 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
16253 (memdisk): Make memdisk_orig_addr a pointer.
16255 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
16256 for file offsets, use grub_off_t instead. Fix printf format
16259 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
16260 there. Real unexpected warnings should not drown in the noise
16261 about known problems.
16263 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
16264 grub_disk_addr_t for memory addresses.
16266 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
16267 explicitly to fix a warning.
16269 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
16271 * Makefile.in (MODULE_LDFLAGS): New variable.
16272 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
16273 the linker accepts --build-id=none.
16274 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
16276 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
16278 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
16279 those in Linux XFS code. Provide a way to access 64-bit parent
16281 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
16282 the end of struct grub_xfs_dir_header.
16284 2008-07-02 Bean <bean123ch@gmail.com>
16286 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
16287 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16288 and GRUB_IEEE1275_FLAG_NO_ANSI.
16290 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
16291 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16292 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
16294 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
16295 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
16297 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
16298 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
16300 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
16301 esc sequence on non ANSI terminal.
16302 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
16304 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
16307 2008-07-02 Bean <bean123ch@gmail.com>
16309 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
16310 (grub_editenv_SOURCES): New variable.
16311 (pkglib_MODULES): Add loadenv.mod.
16312 (loadenv_mod_SOURCES): New variable.
16313 (loadenv_mod_CFLAGS): Likewise.
16314 (loadenv_mod_LDFLAGS): Likewise.
16316 * include/grub/envblk.h: New file.
16318 * util/envblk.c: New file.
16320 * util/grub-editenv.c: New file.
16322 * commands/loadenv.c: New file.
16324 2008-07-01 Pavel Roskin <proski@gnu.org>
16326 * include/multiboot2.h (struct multiboot_tag_module): Use char,
16327 not unsigned char. This fixes warnings and is consistent with
16330 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
16332 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
16334 * term/tparm.c (analyze): Always set *popcount.
16336 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
16337 cast to fix a warning.
16339 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
16340 cast to suppress a warning.
16342 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
16343 grub_fshelp_read_file() expects.
16345 * fs/fat.c: Fix UUID calculation on big-endian systems. We
16346 write uuid as a 32-bit value in CPU byte order, so declare and
16349 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
16350 long if the format specifier expects it.
16351 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
16352 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16353 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
16354 long to fix a warning.
16355 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
16356 grub_dprintf() arguments to fix warnings.
16358 2008-06-30 Pavel Roskin <proski@gnu.org>
16360 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
16361 install_bsd_part immediately before core.img is embedded or
16362 modified on disk. This fixes core.img verification if core.img
16363 cannot be embedded.
16365 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
16366 core_path to calculate the blocklist.
16367 Patch from Javier Martín <lordhabbit@gmail.com>
16369 2008-06-29 Robert Millan <rmh@aybabtu.com>
16371 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
16372 block to disk block.
16373 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
16374 Patch from Niels Böhm <bitbucket@arcor.de>
16376 2008-06-29 Robert Millan <rmh@aybabtu.com>
16378 * util/update-grub_lib.in (font_path): Search for fonts in
16379 /boot/grub first, which is more likely to be readable (we aren't
16380 deciding where fonts live, just looking for them).
16382 2008-06-26 Pavel Roskin <proski@gnu.org>
16384 * util/biosdisk.c (read_device_map): Don't leave dead map
16385 entries for devices failing stat() check.
16387 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
16388 core_path_dev for the core.img path on the target device.
16390 2008-06-26 Robert Millan <rmh@aybabtu.com>
16392 * disk/fs_uuid.c: New file.
16393 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
16394 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
16395 (fs_uuid_mod_LDFLAGS): New variables.
16396 * include/grub/disk.h (grub_disk_dev_id): Add
16397 `GRUB_DISK_DEVICE_UUID_ID'.
16398 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
16399 implement iterate().
16401 2008-06-26 Robert Millan <rmh@aybabtu.com>
16403 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
16404 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
16405 Linux image includes no initrd.
16407 2008-06-21 Javier Martín <lordhabbit@gmail.com>
16409 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
16410 call to resolve the core image location that effectively appended the
16413 2008-06-21 Robert Millan <rmh@aybabtu.com>
16415 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
16418 * util/grub.d/10_hurd.in: ... to here ...
16419 * util/grub.d/10_linux.in: ... and here.
16421 2008-06-19 Robert Millan <rmh@aybabtu.com>
16423 * kern/main.c (grub_main): Export `prefix' variable immediately
16424 after it has been set by grub_machine_set_prefix().
16426 2008-06-19 Robert Millan <rmh@aybabtu.com>
16428 * commands/search.c (search_label, search_fs_uuid, search_file): Print
16429 search result when not saving to variable, not the other way around.
16430 When saving to variable, abort iteration as soon as a match is found.
16432 2008-06-19 Robert Millan <rmh@aybabtu.com>
16434 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
16435 check for partition that provides /boot/grub. Its logic is flawed,
16436 as it prevents prepare_grub_to_access_device() from being called
16439 2008-06-19 Robert Millan <rmh@aybabtu.com>
16441 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
16442 "insmod" command directly when abstraction modules are needed,
16443 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
16444 since it had already been processed).
16446 2008-06-19 Pavel Roskin <proski@gnu.org>
16448 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
16449 changed. This is needed in case GRUB_LIBDIR changes.
16450 * conf/i386-ieee1275.rmk: Likewise.
16451 * conf/i386-linuxbios.rmk: Likewise.
16452 * conf/i386-pc.rmk: Likewise.
16453 * conf/powerpc-ieee1275.rmk: Likewise.
16455 2008-06-18 Pavel Roskin <proski@gnu.org>
16457 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
16458 kernel_elf_symlist.c to symlist.c for consistency with other
16459 architectures. Update all users.
16460 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16462 2008-06-18 Robert Millan <rmh@aybabtu.com>
16464 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
16467 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
16468 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
16469 a RAID device, run setup() for all members independently on whether
16470 LVM abstraction is being used.
16471 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
16472 If grub-mkimage has set `*install_dos_part == -2', don't override this
16474 Perform *install_dos_part adjustments independently on whether
16475 we're embedding or not.
16476 Clarify error message when image is too big for embedding.
16477 Remove duplicate *install_dos_part stanza.
16479 2008-06-17 Robert Millan <rmh@aybabtu.com>
16481 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
16482 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
16484 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
16485 values in grub_ofconsole_normal_color and
16486 grub_ofconsole_highlight_color (they're not directly related to
16487 background and foreground).
16488 (grub_ofconsole_setcolorstate): Extract background and foreground
16489 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
16491 2008-06-17 Robert Millan <rmh@aybabtu.com>
16493 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
16494 /boot/grub for the check in last commit, not /boot (they could be
16495 different partitions).
16497 2008-06-16 Robert Millan <rmh@aybabtu.com>
16499 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
16500 asked to setup access for the same partition that provides /boot,
16501 don't bother using UUIDs since our root already has the value we
16504 2008-06-16 Robert Millan <rmh@aybabtu.com>
16506 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
16508 Patch from Sven Mueller <sven@debian.org>.
16510 2008-06-16 Robert Millan <rmh@aybabtu.com>
16512 * util/update-grub.in: Check for $EUID instead of $UID.
16513 Reported by Vincent Zweije.
16515 2008-06-16 Bean <bean123ch@gmail.com>
16517 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
16518 (grub_ext2_read_block): Likewise.
16519 (grub_ext2_read_inode): Likewise.
16520 (grub_ext2_mount): Likewise.
16521 (grub_ext2_close): Likewise.
16522 (grub_ext3_get_journal): Removed.
16524 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
16525 (grub_reiserfs_read_symlink): Likewise.
16526 (grub_reiserfs_mount): Likewise.
16527 (grub_reiserfs_open): Likewise.
16528 (grub_reiserfs_read): Likewise.
16529 (grub_reiserfs_close): Likewise.
16530 (grub_reiserfs_get_journal): Removed.
16532 * fs/fshelp.c (grub_fshelp_read): Removed.
16533 (grub_fshelp_map_block): Likewise.
16535 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
16536 (grub_fshelp_journal): Likewise.
16537 (grub_fshelp_read): Likewise.
16538 (grub_fshelp_map_block): Likewise.
16540 2008-06-16 Pavel Roskin <proski@gnu.org>
16542 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
16543 floating point anymore.
16544 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
16546 2008-06-15 Pavel Roskin <proski@gnu.org>
16548 * commands/ls.c (grub_ls_list_files): Use integer calculations
16549 for human readable format, avoid floating point use.
16550 * kern/misc.c (grub_ftoa): Remove.
16551 (grub_vsprintf): Remove floating point support.
16553 2008-06-15 Robert Millan <rmh@aybabtu.com>
16555 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
16557 Reported by Max Vozeler.
16559 2008-06-15 Robert Millan <rmh@aybabtu.com>
16561 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
16562 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
16564 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
16565 the beginning of the prefix.
16567 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
16568 It is assumed that if we have a memdisk, grub-mkimage has set
16569 grub_prefix to include the "(memdisk)" drive in it.
16571 2008-06-15 Robert Millan <rmh@aybabtu.com>
16573 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
16574 Initialize keyboard controller after registering the terminal, so that
16575 grub_printf() can be called from grub_keyboard_controller_init().
16577 2008-06-15 Robert Millan <rmh@aybabtu.com>
16579 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
16580 extent-btree which is written as big endian on disk.
16581 Reported by Alain Greppin <al@chilibi.org>.
16583 2008-06-14 Robert Millan <rmh@aybabtu.com>
16585 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
16586 * util/i386/pc/grub-install.in (modules): Likewise.
16588 2008-06-13 Pavel Roskin <proski@gnu.org>
16590 * commands/ls.c (grub_ls_list_files): Fix format warnings.
16592 2008-06-13 Bean <bean123ch@gmail.com>
16594 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
16596 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
16598 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
16599 to indicate sparse block.
16601 2008-06-12 Pavel Roskin <proski@gnu.org>
16603 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
16604 number, grub_fshelp_read() does it for us.
16606 * fs/fshelp.c (grub_fshelp_read): New function. Implement
16607 linear disk read with journal translation.
16608 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
16609 * include/grub/fshelp.h: Declare grub_fshelp_read().
16611 2008-06-09 Pavel Roskin <proski@gnu.org>
16613 * fs/minix.c (grub_minix_mount): Handle error reading
16616 2008-06-08 Robert Millan <rmh@aybabtu.com>
16618 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
16619 don't append the RAID prefix afterwards.
16620 Reported by Clint Adams.
16622 2008-06-08 Robert Millan <rmh@aybabtu.com>
16624 Based on description from Pavel:
16625 * kern/disk.c (grub_disk_check_range): Rename to ...
16626 (grub_disk_adjust_range): ... this. Add a comment explaining the
16627 tasks performed by this function.
16629 2008-06-08 Robert Millan <rmh@aybabtu.com>
16631 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
16632 `num_serial' (for consistency with other variables).
16633 (struct grub_ntfs_data): Add `uuid' member.
16634 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
16635 (grub_ntfs_uuid): New function.
16636 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
16638 2008-06-07 Pavel Roskin <proski@gnu.org>
16640 * util/biosdisk.c (open_device): Revert last change to the
16641 function, it broke installation. The sector needs to be
16642 different dependent on which device is opened.
16644 2008-06-06 Robert Millan <rmh@aybabtu.com>
16646 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
16647 rest of GRUB, and breakage doesn't happen if its value were modified.
16649 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16650 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
16651 a constant (same value).
16652 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
16653 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
16655 2008-06-06 Robert Millan <rmh@aybabtu.com>
16657 * util/biosdisk.c (open_device): Do not modify sector offset when
16658 accessing a partition. kern/disk.c already handles this for us.
16660 2008-06-06 Robert Millan <rmh@aybabtu.com>
16662 * util/grub-emu.c (grub_machine_init): Move code in this function from
16664 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
16665 segfault in case grub_printf() is called).
16667 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
16668 grub_probe. Update all users not to explicitly add it again.
16669 (grub_device): New variable; contains corresponding device for grubdir.
16670 (fs_module, partmap_module, devabstraction_module): Pass
16671 `--device ${grub_device}' to grub_probe to avoid traversing /dev
16674 2008-06-05 Robert Millan <rmh@aybabtu.com>
16676 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
16677 is found, print it (same layout as with labels).
16679 2008-06-04 Robert Millan <rmh@aybabtu.com>
16681 * util/biosdisk.c (get_drive): Rename to ...
16682 (find_grub_drive): ... this. Update all users.
16684 (get_os_disk): Rename to ...
16685 (convert_system_partition_to_system_disk): ... this. Update all users.
16687 (find_drive): Rename to ...
16688 (find_system_device): ... this. Update all users.
16690 2008-06-04 Robert Millan <rmh@aybabtu.com>
16692 * util/biosdisk.c (get_os_disk): Handle IDA devices.
16693 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16694 (make_device_map): Likewise.
16696 2008-06-01 Robert Millan <rmh@aybabtu.com>
16698 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
16699 before dereferencing it.
16701 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
16702 union with fat12/fat16-specific ones. Add some new fields, including
16703 `num_serial' for both versions.
16704 (struct grub_fat_data): Add `uuid' member.
16705 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
16706 names. Initialize `data->uuid' using `num_serial'.
16707 (grub_fat_uuid): New function.
16708 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
16710 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
16711 (grub_reiserfs_uuid): New function.
16712 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
16715 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
16716 (grub_xfs_uuid): New function.
16717 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
16719 2008-06-01 Robert Millan <rmh@aybabtu.com>
16721 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
16722 code that is backward compatible with pre-uuid search command.
16724 2008-05-31 Robert Millan <rmh@aybabtu.com>
16726 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
16727 floppies after everything else, to ensure floppy drive isn't accessed
16728 unnecessarily (patch from Bean).
16730 2008-05-31 Robert Millan <rmh@aybabtu.com>
16732 * commands/search.c (search_label, search_fs_uuid, search_file): Do
16733 not print device names when we were asked to set a variable.
16735 2008-05-31 Robert Millan <rmh@aybabtu.com>
16737 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
16738 using "cursor-on" and "cursor-off" commands (understood at least by
16739 the Open Firmware flavour on OLPC).
16741 2008-05-31 Michael Gorven <michael@gorven.za.net>
16743 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
16744 on and off sequences.
16746 2008-05-31 Robert Millan <rmh@aybabtu.com>
16748 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
16749 * util/update-grub.in: Likewise.
16751 2008-05-30 Pavel Roskin <proski@gnu.org>
16753 * util/biosdisk.c (linux_find_partition): Simplify logic and
16754 make the code more universal. Keep special processing for
16755 devfs, but use a simple rule for all other devices. If the
16756 device ends with a number, append 'p' and the partition number.
16757 Otherwise, append only the partition number.
16759 2008-05-30 Robert Millan <rmh@aybabtu.com>
16761 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
16762 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
16763 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
16764 the `root' parameter to Linux.
16766 2008-05-30 Robert Millan <rmh@aybabtu.com>
16768 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
16769 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
16770 --fs_uuid with --fs-uuid.
16771 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
16772 all filesystems support them).
16774 2008-05-30 Robert Millan <rmh@aybabtu.com>
16776 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
16777 grub_printf() flags, since we're printing in units of 2 bytes.
16779 2008-05-30 Robert Millan <rmh@aybabtu.com>
16781 * util/grub.d/00_header.in: Remove obsolete comment referencing
16782 convert_system_path_to_grub_path().
16783 * util/update-grub.in: Likewise.
16784 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
16785 (convert_system_path_to_grub_path): Add a warning message explaining
16786 that this function is deprecated. Rely on is_path_readable_by_grub()
16787 for the readability checks.
16788 (font_path): Use is_path_readable_by_grub() for the readability
16789 check rather than convert_system_path_to_grub_path().
16791 2008-05-30 Robert Millan <rmh@aybabtu.com>
16793 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
16794 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
16795 converting it first.
16796 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
16797 grub.cfg for access to font file, and afterwards call it again to set
16800 2008-05-30 Robert Millan <rmh@aybabtu.com>
16802 * commands/search.c (options): Add --fs_uuid option.
16803 (search_fs_uuid): New function.
16804 (grub_cmd_search): Fix --set argument passing.
16805 Use search_fs_uuid() when requested via --fs_uuid.
16806 (grub_search_init): Update help message.
16807 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
16808 and redeclare it as an array of 16-bit words.
16809 (grub_ext2_uuid): New function.
16810 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
16811 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
16812 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
16813 (GRUB_DEVICE_BOOT_UUID): New variables.
16814 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
16815 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
16817 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
16818 just assume `root' variable has the right value.
16819 * util/grub.d/10_linux.in: Likewise.
16820 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
16822 (main): Recognise `-t fs_uuid' argument.
16824 2008-05-30 Robert Millan <rmh@aybabtu.com>
16826 * util/biosdisk.c (map): Redefine structure to hold information
16827 about GRUB drive name.
16828 (get_drive): Reimplement without assuming (and verifying) BIOS-like
16830 (call_hook): Remove.
16831 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
16832 member. Assume drive has partitions.
16833 (grub_util_biosdisk_open): Access device names via `.device' struct
16835 (open_device): Likewise.
16836 (find_drive): Likewise.
16837 (read_device_map): Adjust map[] usage to match the new struct
16838 definition. Don't check for duplicates (still possible, but not cheap
16840 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
16841 (make_device_name): Remove assumption of BIOS-like drive names.
16843 2008-05-30 Pavel Roskin <proski@gnu.org>
16845 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
16846 compiling execute.c doesn't need grub_script.tab.h anymore.
16847 (normal/command.c_DEPENDENCIES): Likewise.
16848 (normal/function.c_DEPENDENCIES): Likewise.
16849 * conf/i386-ieee1275.rmk: Likewise.
16850 * conf/i386-linuxbios.rmk: Likewise.
16851 * conf/i386-pc.rmk: Likewise.
16852 * conf/powerpc-ieee1275.rmk: Likewise.
16853 * conf/sparc64-ieee1275.rmk: Likewise.
16855 2008-05-29 Pavel Roskin <proski@gnu.org>
16857 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
16858 when scanning metadata for volume group name.
16860 * include/grub/script.h: Don't include grub_script.tab.h. It's
16861 a generated file, which may only be included from the files with
16862 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
16863 use union YYSTYPE, as the later allows forward declaration.
16864 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
16866 2008-05-29 Robert Millan <rmh@aybabtu.com>
16868 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
16869 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
16870 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
16871 (grub_console_checkkey): Add grub_dprintf() call to report unknown
16874 2008-05-29 Robert Millan <rmh@aybabtu.com>
16876 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
16877 control key combinations.
16879 2008-05-29 Robert Millan <rmh@aybabtu.com>
16881 * util/powerpc/ieee1275/grub-install.in: Move from here ...
16882 * util/ieee1275/grub-install.in: ... to here.
16883 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
16884 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
16885 (grub_install_SOURCES): Likewise.
16887 2008-05-29 Robert Millan <rmh@aybabtu.com>
16889 * fs/affs.c: Update copyright year.
16890 * fs/ext2.c: Likewise.
16891 * fs/fshelp.c: Likewise.
16892 * fs/hfsplus.c: Likewise.
16893 * fs/ntfs.c: Likewise.
16894 * fs/xfs.c: Likewise.
16895 * include/grub/fshelp.h: Likewise.
16896 * util/grub-mkdevicemap.c: Likewise.
16898 2008-05-28 Robert Millan <rmh@aybabtu.com>
16900 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
16901 might need to be fatfs to support some firmware implementations
16904 2008-05-28 Robert Millan <rmh@aybabtu.com>
16906 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
16908 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16909 (make_device_map): Likewise.
16911 2008-05-20 Bean <bean123ch@gmail.com>
16913 * fs/fshelp.c (grub_fshelp_map_block): New function.
16914 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
16915 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
16917 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
16918 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
16919 (grub_fshelp_journal): New structure.
16920 (grub_fshelp_map_block): New function prototype.
16921 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
16922 (grub_fshelp_map_block): Likewise.
16924 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
16925 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
16926 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
16927 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
16928 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
16929 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
16930 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
16931 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
16932 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
16933 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
16934 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
16935 (grub_ext2_sblock): New members for journal support.
16936 (grub_ext3_journal_header): New structure.
16937 (grub_ext3_journal_revoke_header): Likewise.
16938 (grub_ext3_journal_block_tag): Likewise.
16939 (grub_ext3_journal_sblock): Likewise.
16940 (grub_fshelp_node): New members logfile and journal.
16941 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
16942 grub_fshelp_map_block to get real block number.
16943 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
16945 (grub_ext2_read_inode): Likewise.
16946 (grub_ext3_get_journal): New function.
16947 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
16948 (grub_ext2_close): Release memory used by journal.
16950 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
16951 (REISERFS_MAGIC_DESC_BLOCK): New macro.
16952 (grub_reiserfs_transaction_header): Renamed to
16953 grub_reiserfs_description_block, replace field data with real_blocks.
16954 (grub_reiserfs_commit_block): New structure.
16955 (grub_reiserfs_data): New member journal.
16956 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
16958 (grub_reiserfs_read_symlink): Likewise.
16959 (grub_reiserfs_iterate_dir): Likewise.
16960 (grub_reiserfs_open): Likewise.
16961 (grub_reiserfs_read): Likewise.
16962 (grub_reiserfs_get_journal): New function.
16963 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
16964 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
16965 using grub_reiserfs_get_journal.
16966 (grub_reiserfs_close): Release memory used by journal.
16968 * fs/affs.c (grub_affs_read_block): Change block type to
16969 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
16971 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
16973 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
16975 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
16977 * fs/udf.c (grub_udf_read_block): Change block type to
16978 grub_disk_addr_t. Use type cast to avoid warning.
16980 * fs/xfs.c (grub_xfs_read_block): Likewise.
16982 2008-05-16 Christian Franke <franke@computer.org>
16984 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
16985 to ensure that break with ESC will always work.
16986 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
16987 Remove ESC from keyboard queue.
16989 2008-05-16 Christian Franke <franke@computer.org>
16991 * util/biosdisk.c: [__CYGWIN__] Add includes.
16992 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
16993 (get_os_disk): Move variable declarations to OS specific
16994 parts to avoid warning.
16995 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
16996 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
16997 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
16999 * util/getroot.c: [__CYGWIN__] Add includes.
17000 (strip_extra_slashes): Fix "/" case.
17001 [__CYGWIN__] (get_win32_path): New function.
17002 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17003 [__CYGWIN__] (find_root_device): Disable.
17004 [__CYGWIN__] (get_bootsec_serial): New function.
17005 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17006 [__linux__] (grub_guess_root_device): Add early returns to simplify
17008 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17009 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17010 check for Linux only.
17012 2008-05-15 Bean <bean123ch@gmail.com>
17014 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17015 keyboard hang problem in apple's intel mac.
17017 2008-05-09 Robert Millan <rmh@aybabtu.com>
17019 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17021 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17022 (make_device_map): Likewise.
17023 Reported by Aurelien Jarno <aurel32@debian.org>
17025 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
17027 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17028 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17029 (make_device_map): Output entries for xvd type disks.
17031 2008-05-07 Robert Millan <rmh@aybabtu.com>
17033 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17035 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17036 (make_device_map): Likewise.
17037 Reported by Roland Dreier <rdreier@cisco.com>
17039 2008-05-07 Robert Millan <rmh@aybabtu.com>
17041 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17042 grub_strstr() call. Correct a few mistakes in failure path handling.
17044 2008-05-06 Robert Millan <rmh@aybabtu.com>
17046 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17047 Do not print a trailing slash (therefore, the root directory is an
17049 (convert_system_path_to_grub_path): Do not remove trailing slash
17050 from make_system_path_relative_to_its_root() output.
17052 * util/i386/pc/grub-install.in: Add trailing slash to output from
17053 make_system_path_relative_to_its_root().
17055 2008-05-06 Robert Millan <rmh@aybabtu.com>
17057 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17058 ensures that output lines aren't intermangled with those sent to
17059 stderr (via grub_util_info()).
17060 * util/grub-probe.c (grub_refresh): Likewise.
17061 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17063 2008-05-05 Christian Franke <franke@computer.org>
17065 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17066 Add Cygwin device names.
17067 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17068 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17069 (check_device): Return error instead of success on empty name.
17070 (make_device_map): Move label inside linux specific code to
17071 prevent compiler warning.
17073 2008-04-30 Robert Millan <rmh@aybabtu.com>
17075 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17076 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17078 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17080 2008-04-29 Robert Millan <rmh@aybabtu.com>
17082 * docs/grub.cfg: New file (example GRUB configuration).
17084 2008-04-26 Robert Millan <rmh@aybabtu.com>
17086 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17087 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17088 and `disk/ieee1275/nand.c'.
17090 2008-04-25 Bean <bean123ch@gmail.com>
17092 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17095 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17096 change the buffer size to 4096 for cdrom device.
17098 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17100 (_linux_mod_SOURCES): New variable.
17101 (_linux_mod_CFLAGS): Likewise.
17102 (_linux_mod_LDFLAGS): Likewise.
17103 (linux_mod_SOURCES): Likewise.
17104 (linux_mod_CFLAGS): Likewise.
17105 (linux_mod_LDFLAGS): Likewise.
17106 (nand_mod_SOURCES): Likewise.
17107 (nand_mod_CFLAGS): Likewise.
17108 (nand_mod_LDFLAGS): Likewise.
17110 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17111 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17112 type property. (nand device in olpc don't have this property)
17114 * include/grub/disk.h (grub_disk_dev_id): New macro
17115 GRUB_DISK_DEVICE_NAND_ID.
17117 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17118 function prototype.
17119 (grub_rescue_cmd_initrd): Likewise.
17121 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17122 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17123 ofw_cif_handler and ofw_idt, adjust padding number.
17125 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17126 GRUB_MACHINE_IEEE1275 is defined.
17128 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17129 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17131 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17132 on nested function heap_init.
17133 (grub_upper_mem): New variable for i386-ieee1275.
17134 (grub_get_extended_memory): New function for i386-ieee1275.
17135 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17137 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17138 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17141 * loader/i386/ieee1275/linux.c: New file.
17143 * loader/i386/ieee1275/linux_normal.c: New file.
17145 * disk/ieee1275/nand.c: New file.
17147 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17149 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17151 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17153 2008-04-18 Robert Millan <rmh@aybabtu.com>
17155 Restructures early code path on ieee1275 to unify grub_main() as
17156 the first C function that is executed in every platform.
17158 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17159 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17161 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17162 * kern/ieee1275/cmain.c (cmain): Rename to ...
17163 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17164 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17167 2008-04-18 Robert Millan <rmh@aybabtu.com>
17169 * util/update-grub.in: Fix syntax error when setting
17170 `GRUB_PRELOAD_MODULES'.
17171 Reported by Stephane Chazelas <stephane@artesyncp.com>
17173 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17175 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17176 section into account, newer toolchains generate unique build ids
17177 * configure.ac: remove the test for --build-id=none acceptance,
17178 we want build ids to be preserved
17179 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17180 far from other sections don't cause the raw binary images grow
17183 2008-04-15 Robert Millan <rmh@aybabtu.com>
17185 * disk/lvm.c: Update copyright year.
17186 * kern/misc.c: Likewise.
17188 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17190 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
17191 there is no memory left for physical volume name.
17193 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17195 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17196 volume name mapping to support bigger than 9 character names properly.
17198 2008-04-13 Robert Millan <rmh@aybabtu.com>
17200 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17201 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17203 2008-04-13 Christian Franke <franke@computer.org>
17205 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17206 to create a floppy emulation boot CD when non emulation mode
17208 Enable Joliet CD filesystem extension.
17210 2008-04-13 Robert Millan <rmh@aybabtu.com>
17212 * kern/misc.c (grub_strncat): Fix off-by-one error.
17213 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17215 * kern/env.c (grub_env_context_close): Clear current context, not
17217 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17219 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17221 2008-04-13 Robert Millan <rmh@aybabtu.com>
17223 Improve robustness when handling LVM.
17225 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
17226 (and leave `*p' unmodified).
17227 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17229 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17230 iterating through it.
17231 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17233 (grub_lvm_scan_device): Check the return value (and fail gracefully
17234 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17235 Don't assume `vg->pvs != NULL' when iterating through it.
17237 2008-04-13 Robert Millan <rmh@aybabtu.com>
17239 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
17240 * genmk.rb (partmap): New variable.
17241 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
17242 (#{partmap}): New target rule.
17243 * genpartmaplist.sh: New file.
17244 * Makefile.in (pkglib_DATA): Add partmap.lst.
17245 (partmap.lst): New target rule.
17246 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
17247 modules (including all partition maps), instead of preloading them.
17249 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
17251 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
17252 `linux-boot-prober' (if installed) to detect other operating
17253 systems which are installed on the computer and add them to
17255 * conf/common.rmk: Build and install 30_os-prober.
17257 2008-04-12 Robert Millan <rmh@aybabtu.com>
17259 * kern/powerpc/ieee1275/init.c: Move from here ...
17260 * kern/ieee1275/init.c: ... to here. Update all users.
17262 * kern/powerpc/ieee1275/cmain.c: Move from here ...
17263 * kern/ieee1275/cmain.c: ... to here. Update all users.
17265 * kern/powerpc/ieee1275/openfw.c: Move from here ...
17266 * kern/ieee1275/openfw.c: ... to here. Update all users.
17268 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
17269 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
17271 2008-04-10 Pavel Roskin <proski@gnu.org>
17273 * configure.ac: Always use "_cv_" in cache variables for
17274 compatibility with Autoconf 2.62.
17276 2008-04-07 Robert Millan <rmh@aybabtu.com>
17278 Revert grub/machine/init.h addition by Pavel (since it breaks on
17279 i386-ieee1275 and others):
17280 * util/i386/pc/misc.c: Remove grub/machine/init.h.
17281 * util/powerpc/ieee1275/misc.c: Likewise.
17283 2008-04-07 Robert Millan <rmh@aybabtu.com>
17285 * util/grub-probe.c (probe): Improve error message.
17287 2008-04-07 Robert Millan <rmh@aybabtu.com>
17289 * util/biosdisk.c (read_device_map): Skip devices that don't exist
17290 (this prevents the presence of a bogus entry from ruining the whole
17293 2008-04-06 Pavel Roskin <proski@gnu.org>
17295 * util/biosdisk.c: Include grub/util/biosdisk.h.
17296 * util/grub-fstest.c (execute_command): Make static.
17297 * util/grub-mkdevicemap.c (check_device): Likewise.
17298 * util/i386/pc/misc.c: Include grub/machine/init.h.
17299 * util/powerpc/ieee1275/misc.c: Likewise.
17300 * util/lvm.c: Include grub/util/lvm.h.
17301 * util/misc.c: Include grub/kernel.h, grub/misc.h and
17303 * util/raid.c: Include grub/util/raid.h.
17304 (grub_util_getdiskname): Make static.
17306 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
17307 grub_hostfs_fini(), as they are called from grub_init_all() and
17308 grub_fini_all() respectively. This fixes an infinite loop in
17309 grub-fstest due to double registration of hostfs.
17310 Reported by Christian Franke <Christian.Franke@t-online.de>
17312 2008-04-05 Pavel Roskin <proski@gnu.org>
17314 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
17315 all 8 functions. Otherwise, probe function 0 only.
17317 2008-04-04 Pavel Roskin <proski@gnu.org>
17319 * commands/lspci.c (grub_lspci_iter): Print the bus number
17322 * commands/lspci.c (grub_pci_classes): Fix typos.
17323 (grub_lspci_iter): Don't print func twice. Print vendor ID
17324 before device ID, as it's normally done.
17326 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17327 Fix signedness warnings.
17328 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
17330 * util/ieee1275/get_disk_name.c: Include config.h so that
17331 _GNU_SOURCE is defined and getline() is declared. Mark an
17332 unused argument as such. Fix a signedness warning.
17334 2008-04-02 Pavel Roskin <proski@gnu.org>
17336 * genkernsyms.sh.in: Use more robust assignments for CC and
17337 srcdir. Quote srcdir.
17338 * gensymlist.sh.in: Likewise. Assert at the compile time that
17339 the symbol table is not empty.
17341 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
17342 * fs/cpio.c (grub_cpio_read): Likewise.
17344 2008-04-01 Pavel Roskin <proski@gnu.org>
17346 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
17347 * disk/host.c (grub_host_open): Likewise.
17348 * disk/loopback.c (grub_loopback_open): Likewise.
17349 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
17350 disk->id as in disk/host.c, not a multi-character constant.
17352 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
17353 later is obsolete, potentially dangerous and sets a bad example.
17354 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
17355 * util/misc.c (grub_util_get_image_size): Likewise.
17357 * disk/loopback.c (options): Improve help for "--partitions".
17359 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
17360 options to align them with the short options, e.g. "echo -e".
17362 2008-03-31 Bean <bean123ch@gmail.com>
17364 * video/reader/png.c (grub_png_data): New member is_16bit and
17366 (grub_png_decode_image_header): Detect 16 bit png image.
17367 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
17368 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
17369 (grub_video_reader_png): Release memory occupied by image_data.
17371 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
17373 (grub_nfs_mount): Skip the test for sector per cluster.
17375 * include/grub/ntfs.h (MAX_SPC): Removed.
17377 2008-03-31 Bean <bean123ch@gmail.com>
17379 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
17380 (grub_probe_SOURCES): Add fs/afs.c.
17381 (grub_fstest_SOURCES): Likewise.
17382 (afs_mod_SOURCES): New variable.
17383 (afs_mod_CFLAGS): Likewise.
17384 (afs_mod_LDFLAGS): Likewise.
17386 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
17387 (grub_emu_SOURCES): Likewise.
17389 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17393 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17397 * fs/afs.c: New file.
17399 2008-03-30 Pavel Roskin <proski@gnu.org>
17401 * disk/host.c: Include grub/misc.h to fix a warning.
17402 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
17403 warnings about implicit declarations.
17405 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
17407 * include/grub/i386/loader.h: Change declaration of
17408 grub_linux_boot() to match what grub_loader_set() expects.
17409 * util/getroot.c (grub_guess_root_device): Return const char* to
17411 * util/grub-probe.c (probe): Fix a warning about uninitialized
17412 abstraction_name variable.
17413 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
17414 second argument as unused to fix a warning.
17416 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
17417 missing grub_error() call.
17419 * util/update-grub_lib.in: Define datarootdir, since Autoconf
17420 2.60 and newer uses it to define datadir.
17422 * commands/sleep.c: Fix warning about implicit declaration.
17423 * disk/memdisk.c: Likewise.
17424 * loader/aout.c: Likewise.
17425 * loader/i386/bsd_normal.c: Likewise.
17426 * util/grub-probe.c: Likewise.
17428 * commands/i386/cpuid.c (has_longmode): Make static.
17429 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
17430 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
17432 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
17433 GDT. This is more robust, as %ds can change.
17434 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
17435 calling real_to_prot().
17436 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
17438 2008-03-28 Pavel Roskin <proski@gnu.org>
17440 * kern/i386/pc/startup.S: Assert that uncompressed functions
17441 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
17442 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
17443 code, as they push parts of the code (error handlers) beyond
17444 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
17445 code as correctness and size.
17447 2008-03-28 Pavel Roskin <proski@gnu.org>
17449 * kern/i386/pc/startup.S
17450 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
17451 data block address to the real mode, keep offset minimal. This
17452 works around a bug in AWARD BIOS on old Athlon systems, which
17453 makes CD detection hang.
17455 2008-03-26 Pavel Roskin <proski@gnu.org>
17457 * normal/color.c (grub_parse_color_name_pair): Make `name' a
17459 * include/grub/normal.h: Add grub_parse_color_name_pair()
17462 2008-03-24 Bean <bean123ch@gmail.com>
17464 * disk/i386/pc/biosdisk.c (cd_start): Removed.
17465 (cd_count): Removed.
17466 (cd_drive): New variable.
17467 (grub_biosdisk_get_drive): Don't check for (cdN) device.
17468 (grub_biosdisk_call_hook): Likewise.
17469 (grub_biosdisk_iterate): Change cdrom detection method.
17470 (grub_biosdisk_open): Replace cd_start with cd_drive.
17471 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
17472 detect cdrom device.
17474 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
17476 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
17477 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
17478 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
17479 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
17480 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
17481 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
17482 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
17483 (grub_biosdisk_cdrp): New structure.
17484 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
17486 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
17488 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
17491 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
17494 2008-03-20 Robert Millan <rmh@aybabtu.com>
17496 Remove 2 TiB limit in ata.mod.
17497 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
17498 (grub_ata_dumpinfo): Print sector count with 0x%llx.
17499 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
17500 grub_uint64_t instead of grub_uint32_t.
17502 2008-03-05 Bean <bean123ch@gmail.com>
17504 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
17505 (grub_multiboot): Set boot device.
17507 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
17509 2008-03-02 Bean <bean123ch@gmail.com>
17511 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
17514 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
17516 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
17519 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
17522 * docs/fdl.texi: New file.
17524 * docs/mdate-sh: New file. Copied from gnulib.
17525 * docs/texinfo.tex: Likewise.
17527 * config.guess: Updated from gnulib.
17528 * install-sh: Likewise.
17530 2008-02-28 Robert Millan <rmh@aybabtu.com>
17532 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
17533 (aout_mod_SOURCES): New variable.
17534 (aout_mod_CFLAGS): Likewise.
17535 (aout_mod_LDFLAGS): Likewise.
17537 * conf/i386-ieee1275.rmk: Likewise.
17539 2008-02-28 Robert Millan <rmh@aybabtu.com>
17541 * util/update-grub.in: Reorganise terminal validity check. Accept
17542 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
17543 Based on suggestion by Franklin PIAT.
17545 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
17547 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
17549 * util/getroot.c (grub_util_check_block_device): New function that
17550 returns the given argument if it is a block device and returns NULL else.
17551 * util/grub-probe.c (argument_is_device): New variable.
17552 (probe): Promote device_name from a variable to an argument. Receive
17553 device_name from grub_util_check_block_device() if path is NULL and from
17554 grub_guess_root_device() else. Do not free() device_name anymore.
17555 (options): Introduce new parameter '-d, --device'.
17556 (main): Add description of the new parameter to the help screen.
17557 Rename path variable to argument. Set argument_is_device if the '-d'
17558 option is given. Pass argument to probe() depending on
17559 argument_is_device.
17561 2008-02-24 Bean <bean123ch@gmail.com>
17563 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
17564 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
17565 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
17566 (GRUB_ISO9660_VOLDESC_PART): Likewise.
17567 (GRUB_ISO9660_VOLDESC_END): Likewise.
17568 (grub_iso9660_primary_voldesc): New member escape.
17569 (grub_iso9660_data): New member joliet.
17570 (grub_iso9660_convert_string): New function.
17571 (grub_iso9660_mount): Detect joliet extension.
17572 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
17573 (grub_iso9660_iso9660_label): Likewise.
17575 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
17576 (grub_setup_SOURCES): Add fs/udf.c.
17577 (grub_fstest_SOURCES): Likewise.
17578 (udf_mod_SOURCES): New variable.
17579 (udf_mod_CFLAGS): Likewise.
17580 (udf_mod_LDFLAGS): Likewise.
17582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
17583 (grub_emu_SOURCES): Likewise.
17585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17589 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17593 * fs/udf.c: New file.
17595 2008-02-24 Robert Millan <rmh@aybabtu.com>
17597 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
17598 (normal/lexer.c_DEPENDENCIES): New variables.
17599 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17600 (normal/lexer.c_DEPENDENCIES): Likewise.
17601 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
17602 (normal/lexer.c_DEPENDENCIES): Likewise.
17603 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
17604 (normal/lexer.c_DEPENDENCIES): Likewise.
17605 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17606 (normal/lexer.c_DEPENDENCIES): Likewise.
17607 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17608 (normal/lexer.c_DEPENDENCIES): Likewise.
17610 2008-02-23 Robert Millan <rmh@aybabtu.com>
17612 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
17613 since they were intended to be in hex. This didn't break previously
17614 because of a bug in gpt_partition_map_iterate() (see below).
17616 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
17617 when checking the validity of GPT header.
17618 Remove `partno', since it always provides the same information as `i'.
17620 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
17622 * include/grub/efi/time.h: Fix a wrong comment.
17624 2008-02-19 Pavel Roskin <proski@gnu.org>
17626 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
17629 2008-02-19 Bean <bean123ch@gmail.com>
17631 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
17632 (aout_mod_SOURCES): New variable.
17633 (aout_mod_CFLAGS): Likewise.
17634 (aout_mod_LDFLAGS): Likewise.
17635 (_bsd_mod_SOURCES): New variable.
17636 (_bsd_mod_CFLAGS): Likewise.
17637 (_bsd_mod_LDFLAGS): Likewise.
17638 (bsd_mod_SOURCES): New variable.
17639 (bsd_mod_CFLAGS): Likewise.
17640 (bsd_mod_LDFLAGS): Likewise.
17642 * include/grub/aout.h: New file.
17644 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
17646 * include/grub/i386/bsd.h: New file.
17648 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
17651 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
17652 function is called, so that it's possible to change it inside the hook.
17653 (grub_elf64_load): Likewise.
17654 (grub_elf_file): Don't close the file if elf header is not found.
17655 (grub_elf_close): Close the file if grub_elf_file fails (The new
17656 grub_elf_file won't close it).
17657 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
17658 (grub_elf64_size): Likewise.
17660 * kern/i386/loader.S (grub_unix_real_boot): New function.
17662 * loader/aout.c: New file.
17664 * loader/i386/bsd.c: New file.
17666 * loader/i386/bsd_normal.c: New file.
17668 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
17670 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
17671 can test other formats.
17673 2008-02-19 Robert Millan <rmh@aybabtu.com>
17675 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
17676 (grub_gpt_partition_type_empty): Redefine with macro from
17677 `<grub/gpt_partition.h>'.
17678 (gpt_partition_map_iterate): Adjust partition type comparison.
17680 Export `entry' as partmap-specific `part.data' struct.
17681 (grub_gpt_header, grub_gpt_partentry): Move from here ...
17683 * include/grub/gpt_partition.h (grub_gpt_header)
17684 (grub_gpt_partentry): ... to here (new file).
17686 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
17688 (grub_gpt_partition_type_bios_boot): New const variable, defined
17689 with macro from `<grub/gpt_partition.h>'.
17691 (setup): Replace `first_start' with `embed_region', which keeps
17692 track of the embed region (and is partmap-agnostic).
17694 Replace find_first_partition_start() with find_usable_region(),
17695 which finds a usable region for embedding using partmap-specific
17696 knowledge (supports PC/MSDOS and GPT).
17698 Fix all assumptions that the embed region start at sector 1, using
17699 `embed_region.start' from now on. Similarly, use `embed_region.end'
17700 rather than `first_start' to calculate available size.
17702 In grub_util_info() message, replace "into after the MBR" with an
17703 indication of the specific sector our embed region starts at.
17705 2008-02-19 Robert Millan <rmh@aybabtu.com>
17707 * DISTLIST: Replace `commands/ieee1275/halt.c' and
17708 `commands/ieee1275/reboot.c' with `commands/halt.c' and
17709 `commands/reboot.c'.
17710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17711 (halt_mod_SOURCES): Likewise.
17712 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17713 (halt_mod_SOURCES): Likewise.
17715 2008-02-17 Christian Franke <franke@computer.org>
17717 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
17719 2008-02-17 Robert Millan <rmh@aybabtu.com>
17721 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17722 set `first_start' to 0 for non-PC/MSDOS partition maps.
17724 2008-02-16 Robert Millan <rmh@aybabtu.com>
17726 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17727 do not assume partition map is PC/MSDOS before performing checks that
17728 are specific to that layout.
17730 2008-02-13 Robert Millan <rmh@aybabtu.com>
17732 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
17733 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
17734 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
17736 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
17738 * configure.ac: Only a cosmetic change on the handling of
17739 -fno-stack-protector.
17741 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
17743 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
17744 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
17746 (grub_install_SOURCES): Add halt.mod and reboot.mod.
17747 (halt_mod_SOURCES): New variable.
17748 (halt_mod_CFLAGS): Likewise.
17749 (halt_mod_LDFLAGS): Likewise.
17750 (reboot_mod_SOURCES): Likewise.
17751 (reboot_mod_CFLAGS): Likewise.
17752 (reboot_mod_LDFLAGS): Likewise.
17754 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
17755 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
17757 (halt_mod_SOURCES): Likewise.
17758 (reboot_mod_SOURCES): Likewise.
17760 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
17761 commands/i386/pc/reboot.c by commands/reboot.c.
17762 (reboot_mod_SOURCES): Likewise.
17764 * commands/i386/pc/reboot.c: merge this file ...
17766 * commands/ieee1275/reboot.c: ... and this file ...
17768 * commands/reboot.c: ... to this file.
17769 Add some precompiler directive to include the correct header for
17772 * commands/ieee1275/halt.c: move this file ...
17774 * commands/halt.c: ... to here.
17775 Add some precompiler directive to include the correct header for
17778 * include/grub/efi/efi.h (grub_reboot): New function declaration.
17779 (grub_halt): Likewise.
17781 * kern/efi/efi.c (grub_reboot): New function.
17782 (grub_halt): Likewise.
17784 2008-02-12 Robert Millan <rmh@aybabtu.com>
17786 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
17787 /dev (like it is done for /dev/mapper). This doesn't provide support
17788 for EVMS, but at least it is now easy to identify the problem when it
17791 2008-02-11 Robert Millan <rmh@aybabtu.com>
17793 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
17794 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
17795 comparing it with -1, not 0.
17797 2008-02-10 Robert Millan <rmh@aybabtu.com>
17799 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
17801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17802 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
17805 `disk/lvm.c' to the end of the list.
17806 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17807 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17809 2008-02-10 Robert Millan <rmh@aybabtu.com>
17811 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
17812 grub_print_error() instead. This will let user know why we're entering
17814 Based on suggestions from Sam Morris.
17816 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
17818 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
17819 on remaining N args, instead of "--" arg N times.
17821 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
17823 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
17824 (fill_with_default_glyph): Changed to use unknown_glyph for fill
17825 pattern for unknown glyphs.
17827 2008-02-09 Robert Millan <rmh@aybabtu.com>
17829 * configure.ac: Probe for `help2man'.
17830 * Makefile.in (builddir): New variable.
17831 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
17832 or otherwise add a few flags/options to it.
17833 (install-local): For every executable utility or script that is
17834 installed, invoke $(HELP2MAN) to install a manpage based on --help
17837 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
17838 that it doesn't prevent --help from working in build tree.
17840 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
17841 with `bug-grub@gnu.org'.
17842 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
17843 * util/update-grub.in (usage): New function.
17844 Implement proper argument check, with support for --help and --version
17845 (as well as existing -y).
17847 2008-02-09 Christian Franke <franke@computer.org>
17849 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
17850 avoid overwriting previous output.
17851 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
17853 2008-02-09 Robert Millan <rmh@aybabtu.com>
17855 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
17858 2008-02-09 Robert Millan <rmh@aybabtu.com>
17860 * commands/sleep.c: New file.
17861 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
17862 (sleep_mod_SOURCES): New variable.
17863 (sleep_mod_CFLAGS): Likewise.
17864 (sleep_mod_LDFLAGS): Likewise.
17866 2008-02-09 Robert Millan <rmh@aybabtu.com>
17868 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
17869 situations in which we can deduce the RAID size and the superblock
17872 2008-02-09 Robert Millan <rmh@aybabtu.com>
17874 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
17875 and return a grub_diskmemberlist_t composed of LVM physical volumes.
17876 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
17878 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
17879 and return a grub_diskmemberlist_t composed of physical array members.
17880 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
17882 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
17884 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
17885 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
17886 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
17888 * util/grub-probe.c (probe): Move partmap probing code from here ...
17889 (probe_partmap): ... to here.
17890 (probe): Use probe_partmap() once for the disk we're probing, and
17891 additionally, when such disk contains a memberlist() struct member,
17892 once for each disk that is contained in the structure returned by
17895 2008-02-09 Robert Millan <rmh@aybabtu.com>
17897 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
17898 environment variable to 'all' in order to obtain debug output from
17900 * util/i386/pc/grub-setup.c (main): Likewise.
17902 2008-02-08 Robert Millan <rmh@aybabtu.com>
17904 * disk/raid.c (grub_raid_scan_device): Check for
17905 `array->device[sb.this_disk.number]' rather than for
17906 `array->device[sb.this_disk.number]->name', since the latter is not
17907 guaranteed to be accessible.
17909 2008-02-08 Robert Millan <rmh@aybabtu.com>
17911 * disk/raid.c: Update copyright.
17912 * fs/cpio.c: Likewise.
17913 * include/grub/raid.h: Likewise.
17914 * loader/i386/pc/multiboot.c: Likewise.
17915 * util/hostfs.c: Likewise.
17917 2008-02-08 Robert Millan <rmh@aybabtu.com>
17919 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
17920 to a grub_disk_t array.
17921 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
17923 (grub_raid_scan_device): Replace `device[x].name' accesses with
17924 `device[x]->name'. Simplify initialization of `array->device[x]'.
17926 2008-02-08 Robert Millan <rmh@aybabtu.com>
17928 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
17929 grub_dprintf() calls.
17930 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
17933 2008-02-07 Christian Franke <franke@computer.org>
17935 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
17936 instead of fseek and ftell to support large files.
17937 (grub_hostfs_read): Likewise.
17939 2008-02-07 Robert Millan <rmh@aybabtu.com>
17941 Patch from Jeroen Dekkers.
17942 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
17943 failure, since successfully reading all array members might not be
17946 2008-02-06 Robert Millan <rmh@aybabtu.com>
17948 * util/grub-probe.c (probe): Simplify partmap probing (with the
17949 assumption that the first word up to the underscore equals to
17952 2008-02-06 Christian Franke <franke@computer.org>
17954 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
17955 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
17956 last block of a cpio or tar stream.
17957 Check for "TRAILER!!!" instead of any empty data
17958 block to detect last block of a cpio stream.
17959 (grub_cpio_dir): Fix constness of variable np.
17960 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
17961 cpio or tar trailer is detected. This fixes a crash
17962 on open of a non existing file.
17964 2008-02-05 Bean <bean123ch@gmail.com>
17966 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
17968 (grub_multiboot_load_elf64): Likewise.
17969 (grub_multiboot): Initialize mbi structure.
17971 * util/grub-fstest.c: Don't include unused header file script.h.
17973 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
17975 (grub_fstest_SOURCES): Likewise.
17977 2008-02-05 Robert Millan <rmh@aybabtu.com>
17979 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
17980 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
17981 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
17982 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
17984 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
17985 (translation_table): Replace hardcoded values with macros
17986 provided by `<grub/term.h>'.
17988 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
17989 (keyboard_map): Correct/add a few values, with macros provided
17990 by `<grub/term.h>'.
17991 (keyboard_map_shift): Zero values that don't differ from their
17992 `keyboard_map' equivalents.
17993 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
17994 Discard the second scan code that is always sent by Caps lock.
17995 Only use `keyboard_map_shift' when it provides a non-zero value,
17996 otherwise fallback to `keyboard_map'.
17998 2008-02-04 Bean <bean123ch@gmail.com>
18000 * Makefile.in (enable_grub_fstest): New variable.
18002 * conf/common.rmk (grub_fstest_init.lst): New rule.
18003 (grub_fstest_init.h): Likewise.
18004 (grub_fstest_init.c): Likewise.
18005 (util/grub-fstest.c_DEPENDENCIES): New variable.
18006 (grub_fstest_SOURCES): Likewise.
18008 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18010 * util/grub-fstest.c: New file.
18012 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18014 Make grub-setup handle a separate root device.
18016 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18017 so that the root device can be compared with the destination
18019 When embedding the core image, if the root and destination devices
18020 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18022 When not embedding, set ROOT_DRIVE to 0xFF.
18024 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18026 Add support for having a grub directory in a different drive. This
18027 is still only the data handling part.
18029 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18030 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18031 (grub_root_drive): New variable.
18033 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18034 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18035 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18038 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18040 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18042 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18044 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18045 is bogus, because PXE booting does not specify any drive
18048 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18049 am not sure if this is really correct.
18051 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18052 is always identical to the boot drive when booting from a CD.
18054 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18056 (root_drive): New variable.
18057 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18058 (setup_sectors): Push %dx right after popping it, because %dh will
18060 (copy_buffer): Restore %dx.
18062 2008-02-03 Robert Millan <rmh@aybabtu.com>
18064 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18065 use `cdboot.img' for cdrom images.
18067 2008-02-03 Robert Millan <rmh@aybabtu.com>
18069 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18070 only setup gfxterm when `font' command has succeeded.
18072 2008-02-03 Robert Millan <rmh@aybabtu.com>
18074 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18075 (grub_rescue_cmd_multiboot_loader)
18076 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18078 2008-02-03 Pavel Roskin <proski@gnu.org>
18080 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
18081 %edx and %esi from stack only after grub_gate_a20() is called.
18082 grub_gate_a20() clobbers %edx.
18084 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18086 * configure.ac (AC_INIT): Bumped to 1.96.
18088 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18089 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18090 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18091 video/readers/png.c.
18093 2008-02-03 Bean <bean123ch@gmail.com>
18095 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18096 (cdboot_img_SOURCES): New variable.
18097 (cdboot_img_ASFLAGS): New variable.
18098 (cdboot_img_LDFLAGS): New variable.
18100 * boot/i386/pc/cdboot.S: New file.
18102 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18103 (cd_count): Likewise.
18104 (grub_biosdisk_get_drive): Add support for cd device.
18105 (grub_biosdisk_call_hook): Likewise.
18106 (grub_biosdisk_iterate): Likewise.
18107 (grub_biosdisk_open): Likewise.
18108 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18109 (grub_biosdisk_rw): Support reading from cd device.
18110 (GRUB_MOD_INIT): Iterate cd devices.
18112 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18113 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18114 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18116 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18118 2008-02-02 Robert Millan <rmh@aybabtu.com>
18120 * commands/read.c: New file.
18121 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18122 (read_mod_SOURCES): New variable.
18123 (read_mod_CFLAGS): Likewise.
18124 (read_mod_LDFLAGS): Likewise.
18126 2008-02-02 Robert Millan <rmh@aybabtu.com>
18128 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18129 determining whether menu has to be displayed.
18131 2008-02-02 Marco Gerards <marco@gnu.org>
18133 * bus/pci.c: New file.
18135 * include/grub/pci.h: Likewise.
18137 * include/grub/i386/pc/pci.h: Likewise.
18139 * commands/lspci.c: Likewise.
18141 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18143 (pci_mod_SOURCES): New variable.
18144 (pci_mod_CFLAGS): Likewise.
18145 (pci_mod_LDFLAGS): Likewise.
18146 (lspci_mod_SOURCES): Likewise.
18147 (lspci_mod_CFLAGS): Likewise.
18148 (lspci_mod_LDFLAGS): Likewise.
18150 2008-02-02 Bean <bean123ch@gmail.com>
18152 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18153 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18155 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18156 (grub_xfs_btree_node): New structure.
18157 (grub_xfs_btree_root): New structure.
18158 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18159 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18160 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18161 (GRUB_XFS_EXTENT_SIZE): Likewise.
18162 (grub_xfs_read_block): Support btree format type.
18163 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18164 Use directory block as basic unit.
18166 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18168 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18169 __attribute__ ((__regparm__ (1))).
18171 2008-02-01 Robert Millan <rmh@aybabtu.com>
18173 Correct a mistake in previous commit.
18175 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18177 (normal/command.c_DEPENDENCIES): New variable.
18179 2008-02-01 Robert Millan <rmh@aybabtu.com>
18181 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18183 (normal/command.c_DEPENDENCIES): New variable.
18184 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18185 * conf/i386-ieee1275.rmk: Likewise.
18186 * conf/i386-linuxbios.rmk: Likewise.
18187 * conf/i386-pc.rmk: Likewise.
18188 * conf/sparc64-ieee1275.rmk: Likewise.
18189 * conf/powerpc-ieee1275.rmk: Likewise.
18190 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18192 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18194 2008-02-01 Robert Millan <rmh@aybabtu.com>
18196 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18197 call at beginning of function.
18199 2008-01-31 Pavel Roskin <proski@gnu.org>
18201 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
18202 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18203 (grub_mkrescue_SOURCES): Likewise.
18204 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18206 2008-01-30 Robert Millan <rmh@aybabtu.com>
18208 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18209 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18210 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18211 (grub_probe_SOURCES): ... to here.
18213 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18214 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18215 * conf/i386-ieee1275.rmk: Likewise.
18216 * conf/i386-linuxbios.rmk: Likewise.
18217 * conf/powerpc-ieee1275.rmk: Likewise.
18219 2008-01-30 Tristan Gingold <gingold@free.fr>
18221 * kern/rescue.c: Silently accept empty lines.
18223 2008-01-29 Bean <bean123ch@gmail.com>
18225 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18226 (real_code_2): Code cleanup and change comment style.
18227 (move_memory): Avoid using 32-bit address mode.
18229 2008-01-29 Bean <bean123ch@gmail.com>
18231 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18232 (png_mod_SOURCES): New variable.
18233 (png_mod_CFLAGS): Likewise.
18234 (png_mod_LDFLAGS): Likewise.
18236 * video/readers/png.c: New file.
18238 2008-01-28 Robert Millan <rmh@aybabtu.com>
18240 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
18241 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
18242 `ifndef GRUB_MOD_GAP' hack.
18243 * util/elf/grub-mkimage.c (add_segments): Likewise.
18245 2008-01-27 Robert Millan <rmh@aybabtu.com>
18247 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
18248 `GRUB_MOD_GAP' for platforms in which it's not defined.
18249 * util/elf/grub-mkimage.c (add_segments): Likewise.
18251 2008-01-27 Robert Millan <rmh@aybabtu.com>
18253 Get grub-emu to build again (including parallel builds).
18255 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
18257 (util/grub-emu.c_DEPENDENCIES): ... this, ...
18258 (normal/execute.c_DEPENDENCIES): ... this, ...
18259 (grub-emu_DEPENDENCIES): ... and this.
18261 * conf/i386-efi.rmk: Likewise.
18262 * conf/i386-linuxbios.rmk: Likewise.
18263 * conf/i386-ieee1275.rmk: Likewise.
18264 * conf/powerpc-ieee1275.rmk: Likewise.
18265 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
18267 2008-01-27 Robert Millan <rmh@aybabtu.com>
18269 * NEWS: Add a few items.
18271 2008-01-27 Robert Millan <rmh@aybabtu.com>
18273 Fix parallel builds with grub-emu. Based on earlier commit for
18274 grub-probe and grub-setup.
18276 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18277 (util/grub-emu.c_DEPENDENCIES): ... this.
18278 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18279 (util/grub-emu.c_DEPENDENCIES): ... this.
18280 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18281 (util/grub-emu.c_DEPENDENCIES): ... this.
18282 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18283 (util/grub-emu.c_DEPENDENCIES): ... this.
18284 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18285 (util/grub-emu.c_DEPENDENCIES): ... this.
18287 2008-01-27 Pavel Roskin <proski@gnu.org>
18289 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
18290 to create a gap between _end and the modules added to the image
18291 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
18292 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
18293 * util/elf/grub-mkimage.c (add_segments): Likewise.
18295 2008-01-26 Pavel Roskin <proski@gnu.org>
18297 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
18298 just return an error.
18300 2008-01-26 Bean <bean123ch@gmail.com>
18302 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
18303 (grub_reiserfs_get_item): Save offset of the next item.
18304 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
18306 2008-01-25 Robert Millan <rmh@aybabtu.com>
18308 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
18309 make all filesystem sources appear together (possibly fixing omissions
18311 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18312 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18313 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18316 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
18318 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
18319 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18320 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
18321 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18323 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
18324 (probe): Add a sanity check to make sure of our ability to read
18325 requested files when probing for filesystem type.
18327 * genmk.rb: Update copyright year (2007).
18329 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
18330 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
18331 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
18332 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
18333 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
18334 : Remove function prototypes.
18336 2008-01-25 Robert Millan <rmh@aybabtu.com>
18338 Revert my previous commits (based on wrong assumption of how grub_errno
18341 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
18342 * kern/file.c (grub_file_open): Likewise.
18344 2008-01-24 Pavel Roskin <proski@gnu.org>
18346 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
18347 that hang if GRUB tries to setup colors.
18348 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
18349 colors for firmwares that don't support it.
18350 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
18351 Recognize Open Hack'Ware, set flags to work around its
18354 2008-01-24 Robert Millan <rmh@aybabtu.com>
18356 * kern/file.c (grub_file_open): Do not account previous failures of
18357 unrelated functions when grub_errno is checked for.
18358 Reported by Oleg Strikov.
18360 2008-01-24 Bean <bean123ch@gmail.com>
18362 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
18363 (grub_ufs_sblock): New member volume name.
18364 (grub_ufs_find_file): Fix string copy bug.
18365 (grub_ufs_label): Implement this function properly.
18367 * fs/hfs.c (grub_hfs_cnid_type): New enum.
18368 (grub_hfs_iterate_records): Use the correct file number for extents
18369 and catalog file. Fix problem in next index calculation.
18370 (grub_hfs_find_node): Replace recursive function call with loop.
18371 (grub_hfs_iterate_dir): Replace recursive function call with loop.
18373 2008-01-23 Robert Millan <rmh@aybabtu.com>
18375 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
18376 `<grub/symbol.h>' and `<grub/multiboot.h>'.
18377 (grub_multiboot2_real_boot): New function prototype.
18379 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
18380 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
18382 * kern/i386/ieee1275/init.c (grub_os_area_addr)
18383 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
18385 2008-01-23 Robert Millan <rmh@aybabtu.com>
18387 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
18388 #ifdef'ed out grub_printf().
18390 2008-01-23 Robert Millan <rmh@aybabtu.com>
18392 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
18393 grub_dprintf calls, since they make "debug=all" mode unusable.
18394 (grub_console_checkkey): Likewise.
18396 2008-01-23 Robert Millan <rmh@aybabtu.com>
18398 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18399 `term/i386/pc/at_keyboard.c'.
18400 (pkglib_MODULES): Add `serial.mod'.
18401 (serial_mod_SOURCES): New variable.
18402 (serial_mod_CFLAGS): Likewise.
18403 (serial_mod_LDFLAGS): Likewise.
18405 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
18406 `<grub/powerpc/ieee1275/console.h>'.
18407 (grub_keyboard_controller_init): New function prototype.
18408 (grub_console_checkkey): Likewise.
18409 (grub_console_getkey): Likewise.
18411 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
18414 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
18415 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
18417 2008-01-23 Robert Millan <rmh@aybabtu.com>
18419 * kern/i386/pc/init.c (make_install_device): When memdisk image is
18420 present, "(memdisk)/boot/grub" becomes the default prefix.
18422 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
18423 a memdisk tarball with all the modules. Add --overlay=DIR option that
18424 allows users to overlay additional files into the image.
18426 2008-01-23 Robert Millan <rmh@aybabtu.com>
18428 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
18429 and `machine/memory.h'.
18430 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
18431 (_multiboot_mod_SOURCES): New variable.
18432 (_multiboot_mod_CFLAGS): Likewise.
18433 (_multiboot_mod_LDFLAGS): Likewise.
18434 (multiboot_mod_SOURCES): Likewise.
18435 (multiboot_mod_CFLAGS): Likewise.
18436 (multiboot_mod_LDFLAGS): Likewise.
18438 * include/grub/i386/ieee1275/loader.h: New file.
18440 * include/grub/i386/ieee1275/machine.h: Likewise.
18442 * include/grub/i386/ieee1275/memory.h: Likewise.
18444 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
18445 variable declaration.
18446 (grub_os_area_size): Likewise.
18448 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
18449 (grub_lower_mem, grub_upper_mem): New variables.
18450 (grub_stop_floppy): New function (just to make
18451 grub_multiboot2_real_boot() happy).
18453 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
18454 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
18455 (grub_stop): New function.
18456 Include `"../realmode.S"' and `"../loader.S"'.
18458 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
18459 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
18461 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
18462 rely on grub_multiboot2_real_boot() for final boot.
18464 2008-01-22 Robert Millan <rmh@aybabtu.com>
18466 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
18467 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
18468 device that doesn't look like an SD card.
18469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18470 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
18471 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
18472 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
18475 2008-01-22 Robert Millan <rmh@aybabtu.com>
18477 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
18478 avoid claiming over our own code.
18480 2008-01-22 Bean <bean123ch@gmail.com>
18482 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
18483 (jpeg_mod_SOURCES): New variable.
18484 (jpeg_mod_CFLAGS): Likewise.
18485 (jpeg_mod_LDFLAGS): Likewise.
18487 * video/readers/jpeg.c : New file.
18489 2008-01-22 Bean <bean123ch@gmail.com>
18491 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
18492 there are no more items.
18494 2008-01-21 Robert Millan <rmh@aybabtu.com>
18496 * kern/mm.c (grub_mm_init_region): Improve debug message.
18498 2008-01-21 Robert Millan <rmh@aybabtu.com>
18500 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
18501 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
18503 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
18505 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
18506 Indicates start of upper memory.
18507 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
18508 (generate_image): Abort when image size is big enough to corrupt
18511 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
18512 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
18513 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18514 instead of hardcoding 0xA0000.
18515 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
18516 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18517 instead of hardcoding 0xA0000.
18519 2008-01-21 Robert Millan <rmh@aybabtu.com>
18521 * disk/memdisk.c (memdisk_size): New variable.
18522 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
18524 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
18525 image to dynamic memory.
18526 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
18527 `memdisk_size'. Free memdisk block.
18529 2008-01-21 Robert Millan <rmh@aybabtu.com>
18531 Fix detection of very small filesystems (like tar).
18533 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
18534 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
18535 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
18536 a problem with this disk).
18538 2008-01-21 Robert Millan <rmh@aybabtu.com>
18540 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
18541 on grub_biosdisk_rw_standard() error.
18543 2008-01-21 Robert Millan <rmh@aybabtu.com>
18545 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
18547 * kern/elf.c: Likewise.
18548 * kern/ieee1275/ieee1275.c: Likewise.
18549 * kern/powerpc/ieee1275/openfw.c: Likewise.
18550 * term/ieee1275/ofconsole.c: Likewise.
18552 2008-01-21 Robert Millan <rmh@aybabtu.com>
18554 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
18556 * include/grub/kernel.h (grub_arch_memdisk_addr)
18557 (grub_arch_memdisk_size): Moved from here ...
18559 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
18560 (grub_arch_memdisk_size): ... to here.
18562 2008-01-21 Robert Millan <rmh@aybabtu.com>
18564 Mostly based on bugfix from Bean.
18566 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
18567 attribute with hook() parameter.
18568 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
18570 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
18571 attribute with hook() parameter.
18572 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
18575 2008-01-21 Robert Millan <rmh@aybabtu.com>
18577 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
18578 (pkglib_MODULES): Add `memdisk.mod'.
18579 (memdisk_mod_SOURCES): New variable.
18580 (memdisk_mod_CFLAGS): Likewise.
18581 (memdisk_mod_LDFLAGS): Likewise.
18583 * disk/memdisk.c: New file.
18585 * include/grub/disk.h (grub_disk_dev_id): Add
18586 `GRUB_DISK_DEVICE_MEMDISK_ID'.
18588 * include/grub/i386/pc/kernel.h
18589 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
18590 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
18591 (grub_kernel_image_size): New variable declaration.
18592 (grub_total_module_size): Likewise.
18593 (grub_memdisk_image_size): Likewise.
18595 * include/grub/i386/pc/memory.h
18596 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
18598 * include/grub/kernel.h: Include `<grub/symbol.h>'.
18599 (grub_arch_memdisk_addr): New variable declaration.
18600 (grub_arch_memdisk_size): Likewise.
18602 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
18603 (grub_arch_memdisk_size): Likewise.
18605 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
18606 (codestart): Replace hardcoded `0x100000' with
18607 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
18609 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
18610 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
18611 not NULL, append the contents of the file it refers to, at the end of
18612 the compressed kernel image. Initialize `grub_memdisk_image_size'
18613 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
18614 (options): Add "memdisk"|'m' option.
18615 (main): Parse --memdisk|-m option, and pass user-provided path as
18616 parameter to generate_image().
18618 2008-01-20 Robert Millan <rmh@aybabtu.com>
18620 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
18621 grub_dprintf() calls from here ...
18622 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
18624 2008-01-20 Robert Millan <rmh@aybabtu.com>
18626 Fix detection of "real mode" when /options/real-mode? doesn't exist.
18628 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
18630 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
18631 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
18632 `GRUB_IEEE1275_FLAG_REAL_MODE'.
18633 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
18635 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
18636 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
18638 2008-01-19 Robert Millan <rmh@aybabtu.com>
18640 Get rid of confusing function (superseded by
18641 `grub_ieee1275_get_integer_property')
18642 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
18644 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
18646 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
18647 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
18648 in native endianness from grub_ieee1275_get_integer_property().
18650 2008-01-19 Robert Millan <rmh@aybabtu.com>
18652 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
18653 command after "shut-down", since implementations differ on which
18654 the command for halt is.
18656 2008-01-19 Robert Millan <rmh@aybabtu.com>
18658 * include/grub/i386/linuxbios/console.h: Add header protection.
18659 (grub_keyboard_controller_init): New function prototype.
18660 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
18661 (KEYBOARD_COMMAND_READ): Likewise.
18662 (KEYBOARD_COMMAND_WRITE): Likewise.
18663 (KEYBOARD_SCANCODE_SET1): Likewise.
18664 (grub_keyboard_controller_write): New function.
18665 (grub_keyboard_controller_read): Likewise.
18666 (grub_keyboard_controller_init): Likewise.
18668 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
18669 (grub_console_init): On coreboot/LinuxBIOS, call
18670 grub_keyboard_controller_init().
18672 2008-01-19 Robert Millan <rmh@aybabtu.com>
18674 PowerPC changes provided by Pavel Roskin.
18676 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
18677 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
18678 don't rely on cmain() doing it.
18679 * kern/i386/ieee1275/startup.S (_start): Store %eax in
18680 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
18682 2008-01-16 Robert Millan <rmh@aybabtu.com>
18684 * include/grub/i386/linuxbios/memory.h
18685 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
18686 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
18687 receive `table_header' as argument. Instead, probe for it in the
18688 known memory ranges where it can be present.
18689 (grub_available_iterate): Do not pass a fixed `table_header' address
18690 to grub_linuxbios_table_iterate().
18692 2008-01-15 Robert Millan <rmh@aybabtu.com>
18694 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
18695 * conf/i386-ieee1275.rmk: New file.
18696 * include/grub/i386/ieee1275/console.h: Likewise.
18697 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
18698 * include/grub/i386/ieee1275/kernel.h: Likewise.
18699 * include/grub/i386/ieee1275/time.h: Likewise.
18700 * kern/i386/ieee1275/init.c: Likewise.
18701 * kern/i386/ieee1275/startup.S: Likewise.
18703 2008-01-15 Robert Millan <rmh@aybabtu.com>
18705 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
18706 when pointers are 32-bit (but still do set it to one when they are
18709 2008-01-15 Robert Millan <rmh@aybabtu.com>
18711 * include/grub/ieee1275/ieee1275.h
18712 (grub_ieee1275_get_integer_property): New function prototype.
18714 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
18715 (grub_ieee1275_get_integer_property): New function. Wraps around
18716 grub_ieee1275_get_property() to handle endianness.
18718 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
18719 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
18721 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
18722 (grub_map): Likewise.
18723 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
18725 2008-01-15 Bean <bean123ch@gmail.com>
18727 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
18728 (grub_script_execute_cmdline): Reset grub_errno.
18730 * normal/main.c (read_config_file): Reset grub_errno.
18732 * normal/parse.y (script_init): New.
18733 (script): Move function and menuentry here.
18735 (command): Add delimiter at the end of command.
18736 (commands): Adjust to match the new command.
18737 (commandblock): Remove grub_script_lexer_record_start.
18738 (menuentry): Add grub_script_lexer_record_start, use the new commands.
18739 (if): Use the new commands.
18741 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
18743 2008-01-15 Robert Millan <rmh@aybabtu.com>
18745 * normal/menu.c (run_menu): Move timeout message from here ...
18746 (print_timeout): ... to here.
18747 (run_menu): Use print_timeout() once during initial draw to print
18748 the whole message, and again in every clock tick to update only
18749 the number of seconds.
18751 2008-01-15 Robert Millan <rmh@aybabtu.com>
18753 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
18754 actual size of `available' from grub_ieee1275_get_property(), and
18755 restrict parsing to that bound.
18757 2008-01-15 Christian Franke <franke@computer.org>
18759 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
18760 (argp_program_version): Remove variable.
18761 (argp_program_bug_address): Likewise.
18762 (options): Convert from struct argp_option to struct option.
18763 (struct arguments): Remove.
18764 (parse_opt): Remove.
18765 (usage): New function.
18766 (main): Replace struct args members by simple variables.
18767 Replace argp_parse() by getopt_long().
18768 Add switch to evaluate options.
18769 Add missing "(...)" around root_dev in prefix string.
18771 2008-01-14 Robert Millan <rmh@aybabtu.com>
18773 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
18774 for grub_ieee1275_exit(), in order to improve portability.
18776 2008-01-14 Robert Millan <rmh@aybabtu.com>
18778 * util/grub.d/10_linux.in (prefix): Define.
18779 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
18781 2008-01-13 Pavel Roskin <proski@gnu.org>
18783 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
18784 grub_errno if no errors have been detected.
18786 2008-01-12 Robert Millan <rmh@aybabtu.com>
18788 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
18789 (grub_util_get_dev_abstraction): New function prototype.
18791 * util/getroot.c: Include `<grub/util/getroot.h>'
18792 (grub_util_get_grub_dev): Move detection of abstraction type to ...
18793 (grub_util_get_dev_abstraction): ... here (new function).
18795 * util/grub-probe.c: Convert PRINT_* to an enum. Add
18796 `PRINT_ABSTRACTION'.
18797 (probe): Probe for abstraction type when requested.
18798 (main): Understand `--target=abstraction'.
18800 * util/i386/efi/grub-install.in: Add abstraction module to core
18801 image when it is found to be necessary.
18802 * util/i386/pc/grub-install.in: Likewise.
18803 * util/powerpc/ieee1275/grub-install.in: Likewise.
18805 * util/update-grub_lib.in (font_path): Return system path without
18806 converting to GRUB path.
18807 * util/update-grub.in: Convert system path returned by font_path()
18808 to a GRUB path. Use `grub-probe -t abstraction' to determine what
18809 abstraction module is needed for loading fonts (if any). Export
18810 that as `GRUB_PRELOAD_MODULES'.
18811 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
18814 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
18816 Remove some unused code from reiserfs.
18818 * fs/reiserfs.c (struct grub_reiserfs_key)
18819 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
18820 (struct grub_reiserfs_node_body): Removed.
18821 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18823 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18825 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18827 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18829 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18831 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
18833 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18834 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18835 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18837 2008-01-10 Robert Millan <rmh@aybabtu.com>
18839 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
18840 Determines if a file is garbage left by packaging systems, etc.
18841 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
18842 for processing /etc/grub.d scripts.
18843 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
18844 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
18845 as a condition for processing Linux images.
18847 2008-01-10 Pavel Roskin <proski@gnu.org>
18849 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
18850 to compile reiserfs.c on PowerPC.
18852 2008-01-10 Robert Millan <rmh@aybabtu.com>
18854 * kern/device.c (grub_device_iterate): Do not abort device iteration
18855 when one of the devices cannot be opened.
18856 * kern/disk.c (grub_disk_open): Do not account previous failures of
18857 unrelated functions when grub_errno is checked for.
18859 2008-01-08 Robert Millan <rmh@aybabtu.com>
18861 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
18862 `! grub_linux_is_bzimage', change order of address comparison to make
18863 it more intuitive, and improve "too big zImage" error message.
18865 2008-01-08 Robert Millan <rmh@aybabtu.com>
18867 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
18868 `$(update-grub_DATA)'.
18869 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
18872 2008-01-07 Robert Millan <rmh@aybabtu.com>
18874 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
18875 which instruction is modified by grub-setup during installation
18876 (since it wasn't obvious by only looking at this file).
18878 2008-01-07 Robert Millan <rmh@aybabtu.com>
18880 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
18881 listing actual TODO items.
18883 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18885 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
18887 (grub_reiserfs_get_key_offset): Likewise.
18888 (grub_reiserfs_set_key_offset): Likewise.
18889 (grub_reiserfs_set_key_type): Likewise.
18890 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
18892 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
18893 better to remove the bitfield version completely.
18895 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18897 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
18898 allocated from the heap, due to the fshelp implementation.
18899 (grub_reiserfs_dir): Free NODE, due to the same reason.
18901 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18903 Mostly from Vincent Pelletier:
18905 * fs/reiserfs.c: New file.
18907 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
18908 (reiserfs_mod_SOURCES): New variable.
18909 (reiserfs_mod_CFLAGS): Likewise.
18910 (reiserfs_mod_LDFLAGS): Likewise.
18912 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
18913 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
18914 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
18917 2008-01-06 Robert Millan <rmh@aybabtu.com>
18919 * normal/color.c: Remove `<grub/env.h>'.
18921 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
18923 * include/grub/normal.h: Include <grub/env.h>.
18925 2008-01-05 Robert Millan <rmh@aybabtu.com>
18927 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
18928 usage example with `(hd0,1)'.
18929 Reported by Samuel Thibault.
18931 2008-01-05 Robert Millan <rmh@aybabtu.com>
18933 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
18934 (grub_linux_boot_zimage): Rename to ...
18935 (grub_linux_boot): ... this.
18936 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
18937 (grub_linux_boot_zimage): Conditionalize zImage copy.
18939 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
18940 (grub_linux_boot_bzimage): Remove prototype.
18941 (grub_linux_boot_zimage): Rename to ...
18942 (grub_linux_boot): ... this.
18944 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
18945 (grub_linux_boot): Remove function.
18947 2008-01-05 Robert Millan <rmh@aybabtu.com>
18949 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
18950 (grub_env_write_color_highlight): Likewise.
18951 (grub_wait_after_message): Likewise.
18953 * normal/color.c: New file.
18955 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18956 (normal_mod_DEPENDENCIES): Likewise.
18958 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18959 (normal_mod_DEPENDENCIES): Likewise.
18961 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18962 (normal_mod_DEPENDENCIES): Likewise.
18964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18965 (normal_mod_DEPENDENCIES): Likewise.
18967 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
18968 for waiting after a message is printed.
18969 * normal/main.c (read_config_file): Likewise.
18970 (grub_normal_init): Register grub_env_write_color_normal() and
18971 grub_env_write_color_highlight() hooks. Mark `color_normal' and
18972 `color_highlight' variables as global.
18974 * normal/menu.c (grub_wait_after_message): New function.
18975 (grub_color_menu_normal): New variable. Replaces ...
18976 (GRUB_COLOR_MENU_NORMAL): ... this macro.
18977 (grub_color_menu_highlight): New variable. Replaces ...
18978 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
18979 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
18980 `GRUB_TERM_COLOR_STANDARD'.
18981 (print_message): Use `grub_setcolorstate' to reload colors. Rename
18982 `normal_code' and `highlight_code' to `old_color_normal' and
18983 `old_color_highlight', respectively.
18984 (grub_menu_init_page): Update colors when drawing the menu, based on
18985 `menu_color_normal' and `menu_color_highlight' variables.
18986 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
18987 a message is printed.
18989 2008-01-05 Robert Millan <rmh@aybabtu.com>
18991 * kern/env.c (grub_env_context_open): Propagate hooks for global
18992 variables to new context.
18994 * kern/main.c (grub_set_root_dev): Export `root' variable.
18996 2008-01-05 Robert Millan <rmh@aybabtu.com>
18998 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
18999 discs unconditionally, since udev and others have options to provide
19002 2008-01-05 Robert Millan <rmh@aybabtu.com>
19004 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19006 2008-01-04 Christian Franke <franke@computer.org>
19008 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19011 2008-01-03 Pavel Roskin <proski@gnu.org>
19013 * kern/i386/linuxbios/init.c: Put "void" to all function
19014 declarations with no arguments.
19015 * kern/powerpc/ieee1275/init.c: Likewise.
19016 * term/i386/pc/at_keyboard.c: Likewise.
19017 * term/i386/pc/vga_text.c: Likewise.
19018 * util/grub-mkdevicemap.c: Likewise.
19020 2008-01-02 Robert Millan <rmh@aybabtu.com>
19022 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19023 message when loaded image is out of bounds.
19024 (grub_multiboot_load_elf64): Likewise.
19026 2008-01-02 Pavel Roskin <proski@gnu.org>
19028 * util/grub.d/10_linux.in: Try version without ".old" when
19029 looking for initrd. It's better to use initrd from the newer
19030 kernel of the same version than no initrd at all.
19032 2008-01-01 Robert Millan <rmh@aybabtu.com>
19034 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19036 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19038 * include/grub/video.h: Added grub_video_unmap_color and
19039 grub_video_get_active_render_target.
19040 (grub_video_adapter): Added unmap_color and get_active_render_target.
19042 * video/video.c: Added grub_video_unmap_color and
19043 grub_video_get_active_render_target.
19044 (grub_video_get_info): Changed method to accept NULL pointer as an
19045 argument to allow detection of active video adapter.
19047 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19048 grub_video_vbe_unmap_color_int.
19049 Added grub_video_vbe_unmap_color and
19050 grub_video_vbe_get_active_render_target.
19051 (grub_video_vbe_adapter): Added unmap_color and
19052 get_active_render_target.
19054 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
19055 with grub_video_vbe_unmap_color_int.
19057 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19058 (DEFAULT_NORMAL_COLOR): Likewise.
19059 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19060 (DEFAULT_FG_COLOR): Removed.
19061 (DEFAULT_BG_COLOR): Likewise.
19062 (DEFAULT_CURSOR_COLOR): Changed value.
19063 (grub_virtual_screen): Added standard_color_setting,
19064 normal_color_setting, highlight_color_setting and term_color.
19065 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19066 (bitmap_width): Added.
19067 (bitmap_height): Likewise.
19068 (bitmap): Likewise.
19069 (set_term_color): Likewise.
19070 (grub_virtual_screen_setup): Changed to use new terminal coloring
19072 (grub_gfxterm_init): Added init for bitmap.
19073 (grub_gfxterm_fini): Added destroy for bitmap.
19074 (redraw_screen_rect): Updated to use background bitmap and new
19076 (scroll_up): Added optimization for case when there is no bitmap.
19077 (grub_gfxterm_cls): Fixed to use correct background color.
19078 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19080 (grub_virtual_screen_setcolor): Likewise.
19081 (grub_virtual_screen_getcolor): Added.
19082 (grub_gfxterm_background_image_cmd): Likewise.
19083 (grub_video_term): Added setcolor and getcolor.
19084 (MOD_INIT): Added registration of background_image command.
19085 (MOD_TERM): Added unregistration for background_image command.
19087 2007-12-30 Pavel Roskin <proski@gnu.org>
19089 * loader/multiboot_loader.c: Fix multiboot command
19090 unregistration. Fix all typos in the word "multiboot".
19092 2007-12-29 Pavel Roskin <proski@gnu.org>
19094 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19095 support for initrd names used in Fedora.
19097 2007-12-26 Bean <bean123ch@gmail.com>
19099 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19100 (cpio_mod_SOURCES): New variable.
19101 (cpio_mod_CFLAGS): Likewise.
19102 (cpio_mod_LDFLAGS): Likewise.
19104 * fs/cpio.c: New file.
19106 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19108 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19110 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19114 2007-12-25 Robert Millan <rmh@aybabtu.com>
19116 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19117 (grub_getcolor): New function.
19119 * kern/term.c (grub_getcolor): New function.
19120 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19121 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19122 (print_entry): Set normal and highlight colors to
19123 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19124 respectively, before printing and restore them to old
19126 (grub_menu_init_page): Likewise. Fill an additional colored space
19127 that would otherwise be left blank.
19129 * term/efi/console.c (grub_console_getcolor): New function.
19130 (struct grub_console_term.getcolor): New variable.
19131 * term/i386/pc/console.c (grub_console_getcolor): New function.
19132 (struct grub_console_term.getcolor): New variable.
19133 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19134 (struct grub_console_term.getcolor): New variable.
19136 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19137 (struct grub_console_term.setcolor): Remove variable.
19138 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19139 (struct grub_console_term.setcolor): Remove variable.
19140 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19141 (struct grub_console_term.setcolor): Remove variable.
19142 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19143 (struct grub_console_term.setcolor): Remove variable.
19145 2007-12-25 Robert Millan <rmh@aybabtu.com>
19147 * configure.ac: Search for possible unifont.hex locations, and
19148 define UNIFONT_HEX if found.
19150 * Makefile.in (UNIFONT_HEX): Define variable.
19151 (DATA): Rename to ...
19152 (PKGLIB): ... this. Update all users.
19153 (PKGDATA): New variable.
19154 (pkgdata_IMAGES): Rename to ...
19155 (pkglib_IMAGES): ... this. Update all users.
19156 (pkgdata_MODULES): Rename to ...
19157 (pkglib_MODULES): ... this. Update all users.
19158 (pkgdata_PROGRAMS): Rename to ...
19159 (pkglib_PROGRAMS): ... this. Update all users.
19160 (pkgdata_DATA): Rename to ...
19161 (pkglib_DATA): ... this. Update all users.
19162 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19163 (unicode.pff, ascii.pff): New rules.
19164 (all-local): Add `$(PKGDATA)' dependency.
19165 (install-local): Process `$(PKGDATA)'.
19167 * util/update-grub_lib.in (font_path): Search for *.pff files in
19168 a few more locations, including `${pkgdata}'.
19170 2007-12-23 Robert Millan <rmh@aybabtu.com>
19172 Patch from Bean <bean123ch@gmail.com>:
19173 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19176 2007-12-21 Bean <bean123ch@gmail.com>
19178 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19179 (ntfscomp_mod_SOURCES): New variable.
19180 (ntfscomp_mod_CFLAGS): Likewise.
19181 (ntfscomp_mod_LDFLAGS): Likewise.
19183 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19184 (grub_probe_SOURCES): Likewise.
19185 (grub_emu_SOURCES): Likewise.
19187 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19188 (grub_emu_SOURCES): Likewise.
19190 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19191 (grub_emu_SOURCES): Likewise.
19193 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19194 (grub_emu_SOURCES): Likewise.
19196 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19197 (read_run_list): Renamed to grub_ntfs_read_run_list.
19198 (decomp_nextvcn): Moved to ntfscomp.c.
19199 (decomp_getch): Likewise.
19200 (decomp_get16): Likewise.
19201 (decomp_block): Likewise.
19202 (read_block): Likewise.
19203 (read_data): Partially moved to ntfscomp.c.
19204 (fixup): Change unsigned to grub_uint16_t.
19205 (read_mft): Change unsigned long to grub_uint32_t.
19206 (read_attr): Likewise.
19207 (read_data): Likewise.
19208 (read_run_data): Likewise.
19209 (read_run_list): Likewise.
19210 (read_mft): Likewise.
19212 * fs/ntfscomp.c: New file.
19214 * include/grub/ntfs.h: New file.
19216 2007-12-16 Robert Millan <rmh@aybabtu.com>
19218 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19219 IDE disk check, since Linux is known to support 20 IDE disks.
19220 Reported by Colin Watson.
19222 2007-12-15 Bean <bean123ch@gmail.com>
19224 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19225 (lnxboot_img_SOURCES): New variable.
19226 (lnxboot_img_ASFLAGS): Likewise.
19227 (lnxboot_img_LDFLAGS): Likewise.
19229 * boot/i386/pc/lnxboot.S: New file.
19231 2007-11-24 Pavel Roskin <proski@gnu.org>
19233 * configure.ac: Test if '--build-id=none' is supported by the
19234 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19235 objcopy to generate incorrect binary files (binutils
19236 2.17.50.0.18-1 as shipped by Fedora 8).
19237 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19238 linking, so that build ID doesn't break the test.
19240 2007-11-24 Pavel Roskin <proski@gnu.org>
19242 * include/grub/i386/time.h: use "void" in the argument list
19243 of grub_cpu_idle().
19244 * include/grub/powerpc/time.h: Likewise.
19245 * include/grub/sparc64/time.h: Likewise.
19247 2007-11-18 Christian Franke <franke@computer.org>
19249 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
19250 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
19251 This fixes the problem that function keys did not work in grub-emu.
19253 2007-11-18 Christian Franke <franke@computer.org>
19255 * disk/host.c (grub_host_open): Remove attribute unused from
19256 name parameter. Add check for "host". This fixes the problem
19257 that grub-emu does not find partitions.
19259 2007-11-18 Christian Franke <franke@computer.org>
19261 * util/hostfs.c (is_dir): New function.
19262 (grub_hostfs_dir): Handle missing dirent.d_type case.
19263 (grub_hostfs_read): Add missing fseek().
19264 (grub_hostfs_label): Clear label pointer. This fixes a crash
19265 of grub-emu on "ls (host)".
19267 2007-11-18 Christian Franke <franke@computer.org>
19269 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
19270 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
19271 to 64 bit boundary by default.
19273 2007-11-18 Bean <bean123ch@gmail.com>
19275 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
19276 (hexdump_mod_SOURCES): New variable.
19277 (hexdump_mod_CFLAGS): Likewise.
19278 (hexdump_mod_LDFLAGS): Likewise.
19280 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19282 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19284 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19288 * include/grub/hexdump.h: New file.
19290 * commands/hexdump.c: New file.
19292 2007-11-10 Robert Millan <rmh@aybabtu.com>
19294 * commands/i386/pc/play.c (beep_off): Switch order of arguments
19295 in grub_outb() calls.
19296 (beep_on): Likewise.
19298 2007-11-10 Christian Franke <franke@computer.org>
19300 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
19301 (grub_menu_run): Likewise.
19303 2007-11-10 Robert Millan <rmh@aybabtu.com>
19305 * include/grub/i386/efi/machine.h: New file.
19306 * include/grub/i386/linuxbios/machine.h: Likewise.
19307 * include/grub/i386/pc/machine.h: Likewise.
19308 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19309 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19311 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
19312 (serial_hw_io_addr): New variable.
19313 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
19314 instead of `(unsigned short *) 0x400'.
19316 2007-11-10 Bean <bean123ch@gmail.com>
19318 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
19320 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19322 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
19323 (vga_mod_SOURCES): Added.
19324 (vga_mod_CFLAGS): Likewise.
19325 (vga_mod_LDFLAGS): Likewise.
19327 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
19329 (set_map_mask): Likewise.
19330 (set_read_map): Likewise.
19331 (set_read_address): Likewise.
19332 (vga_font): Removed variable.
19333 (get_vga_glyph): Removed function.
19334 (invalidate_char): Likewise.
19335 (write_char): Changed to use grub_font_get_glyph() for font
19337 (grub_vga_putchar): Likewise.
19338 (grub_vga_getcharwidth): Likewise.
19340 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19342 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
19344 (pxeboot_img_LDFLAGS): Likewise.
19345 (diskboot_img_LDFLAGS): Likewise.
19346 (kernel_img_LDFLAGS): Likewise.
19348 2007-11-06 Robert Millan <rmh@aybabtu.com>
19350 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
19351 in grub_outb() calls.
19352 (serial_hw_init): Likewise.
19354 2007-11-05 Robert Millan <rmh@aybabtu.com>
19356 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
19357 spaces. Skip non-regular files.
19359 2007-11-05 Robert Millan <rmh@aybabtu.com>
19361 * kern/disk.c (grub_disk_firmware_fini)
19362 (grub_disk_firmware_is_tainted): New variables.
19364 * include/grub/disk.h (grub_disk_firmware_fini)
19365 (grub_disk_firmware_is_tainted): Likewise.
19367 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
19368 (grub_disk_biosdisk_fini): ... to here.
19369 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
19370 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
19371 is set. Register grub_disk_biosdisk_fini() in
19372 `grub_disk_firmware_fini'.
19374 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
19375 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
19376 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
19377 to finish existing firmware disk interface.
19379 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
19380 (ata_mod_SOURCES): New variable.
19381 (ata_mod_CFLAGS): Likewise.
19382 (ata_mod_LDFLAGS): Likewise.
19384 2007-11-05 Robert Millan <rmh@aybabtu.com>
19386 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
19387 (grub_ata_wait): Reimplement using grub_millisleep().
19389 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
19390 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
19392 2007-11-03 Marco Gerards <marco@gnu.org>
19394 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
19395 (CRTC_ADDR_PORT): New macro.
19396 (CRTC_DATA_PORT): Likewise.
19397 (CRTC_CURSOR): Likewise.
19398 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19399 (CRTC_CURSOR_ADDR_LOW): Likewise.
19400 (update_cursor): New function.
19401 (grub_console_real_putchar): Call `update_cursor'.
19402 (grub_console_gotoxy): Likewise.
19403 (grub_console_cls): Set the default color when clearing the
19405 (grub_console_setcursor): Implemented.
19407 2007-11-03 Marco Gerards <marco@gnu.org>
19409 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
19411 (grub_ata_pio_write): Likewise.
19413 (grub_atapi_identify): Wait after issuing an ATA command.
19414 (grub_atapi_packet): Likewise.
19415 (grub_ata_identify): Likewise.
19416 (grub_ata_readwrite): Likewise.
19418 2007-11-03 Marco Gerards <marco@gnu.org>
19420 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
19421 (grub_ata_pio_write): Likewise.
19422 (grub_ata_readwrite): Use `grub_error', instead of
19423 returning `grub_errno'.
19425 2007-11-03 Marco Gerards <marco@gnu.org>
19427 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
19428 grub_ata_pio_write once for every single sector, instead of for
19431 2007-10-31 Robert Millan <rmh@aybabtu.com>
19433 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
19435 * conf/i386-linuxbios.rmk: New file.
19437 * kern/i386/pc/hardware.c: Likewise.
19438 * term/i386/pc/at_keyboard.c: Likewise.
19439 * term/i386/pc/vga_text.c: Likewise.
19441 * include/grub/i386/linuxbios/boot.h: Likewise.
19442 * include/grub/i386/linuxbios/console.h: Likewise.
19443 * include/grub/i386/linuxbios/init.h: Likewise.
19444 * include/grub/i386/linuxbios/kernel.h: Likewise.
19445 * include/grub/i386/linuxbios/loader.h: Likewise.
19446 * include/grub/i386/linuxbios/memory.h: Likewise.
19447 * include/grub/i386/linuxbios/serial.h: Likewise.
19448 * include/grub/i386/linuxbios/time.h: Likewise.
19450 * kern/i386/linuxbios/init.c: Likewise.
19451 * kern/i386/linuxbios/startup.S: Likewise.
19452 * kern/i386/linuxbios/table.c: Likewise.
19454 2007-10-31 Marco Gerards <marco@gnu.org>
19456 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
19457 (ata_mod_SOURCES): New variable.
19458 (ata_mod_CFLAGS): Likewise.
19459 (ata_mod_LDFLAGS): Likewise.
19461 * disk/ata.c: New file.
19463 * include/grub/disk.h (grub_disk_dev_id): Add
19464 `GRUB_DISK_DEV_ATA_ID'.
19466 2007-10-31 Robert Millan <rmh@aybabtu.com>
19468 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
19469 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
19471 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
19472 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
19474 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
19477 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
19479 2007-10-27 Robert Millan <rmh@aybabtu.com>
19481 * include/grub/types.h (ULONG_MAX): Define macro.
19483 2007-10-22 Robert Millan <rmh@aybabtu.com>
19485 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
19487 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
19489 2007-10-22 Robert Millan <rmh@aybabtu.com>
19491 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
19492 (pkgdata_MODULES): Add `biosdisk.mod'.
19493 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
19496 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
19497 (grub_biosdisk_init): Replace with ...
19498 (GRUB_MOD_INIT(biosdisk)): ... this.
19499 (grub_biosdisk_fini): Replace with ...
19500 (GRUB_MOD_FINI(biosdisk)): ... this.
19502 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
19503 (grub_machine_init): Remove call to grub_biosdisk_init().
19504 (grub_machine_fini): Remove call to grub_machine_fini().
19506 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
19508 2007-10-22 Robert Millan <rmh@aybabtu.com>
19510 * include/grub/time.h: New file.
19511 * include/grub/i386/time.h: Likewise.
19512 * include/grub/powerpc/time.h: Likewise.
19513 * include/grub/sparc64/time.h: Likewise.
19515 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
19517 (KERNEL_MACHINE_TIME_HEADER): ... this.
19518 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19520 (KERNEL_MACHINE_TIME_HEADER): ... this.
19521 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19523 (KERNEL_MACHINE_TIME_HEADER): ... this.
19525 * kern/i386/efi/init.c: Include `<grub/time.h>'.
19526 (grub_millisleep): New function.
19527 * kern/i386/pc/init.c: Include `<grub/time.h>'.
19528 (grub_millisleep): New function.
19529 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
19530 Remove `grub/machine/time.h' include.
19531 (grub_millisleep): New function.
19532 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
19533 Remove `grub/machine/time.h' include.
19534 (grub_millisleep): New function.
19536 * include/grub/misc.h (grub_div_roundup): New function.
19538 * kern/misc.c: Include `<grub/time.h>'.
19539 (grub_millisleep_generic): New function.
19541 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
19543 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
19545 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
19546 `machine/time.h'. Add `time.h'.
19547 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19549 2007-10-21 Robert Millan <rmh@aybabtu.com>
19551 * include/grub/misc.h (grub_max): New function.
19553 2007-10-21 Robert Millan <rmh@aybabtu.com>
19555 * util/misc.c (grub_util_info): Call fflush() before returning.
19557 2007-10-20 Robert Millan <rmh@aybabtu.com>
19559 * genmk.rb (Image): Copy `extra_flags' from here ...
19560 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
19562 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
19563 to `argc' and `args' arguments.
19565 2007-10-17 Robert Millan <rmh@aybabtu.com>
19567 * kern/i386/loader.S: New file.
19569 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
19570 * kern/i386/loader.S (grub_linux_prot_size)... to here.
19571 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
19572 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
19573 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
19574 * kern/i386/loader.S (grub_linux_real_addr)... to here.
19575 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
19576 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
19577 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
19578 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
19579 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
19580 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
19581 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
19582 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
19584 * kern/i386/realmode.S: New file.
19586 * kern/i386/pc/startup.S (protstack): Moved from here ...
19587 * kern/i386/realmode.S (protstack)... to here.
19588 * kern/i386/pc/startup.S (gdt): Moved from here ...
19589 * kern/i386/realmode.S (gdt)... to here.
19590 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
19591 * kern/i386/realmode.S (prot_to_real)... to here.
19593 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
19594 `kern/i386/realmode.S'.
19596 2007-10-17 Robert Millan <rmh@aybabtu.com>
19598 * include/grub/i386/loader.h: New file.
19600 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
19601 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19602 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19603 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19604 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
19605 * include/grub/i386/loader.h (grub_linux_prot_size)
19606 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19607 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19608 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19609 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
19611 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
19613 2007-10-15 Robert Millan <rmh@aybabtu.com>
19615 * normal/misc.c (grub_normal_print_device_info): Do not probe for
19616 filesystem when dev->disk is unset.
19617 Do probe for filesystem even when dev->disk->has_partitions is set.
19618 In case a filesystem is found, always report it.
19619 In case it isn't, if dev->disk->has_partitions is set, report that
19620 a partition table was found instead of reporting that no filesystem
19621 could be identified.
19623 2007-10-12 Robert Millan <rmh@aybabtu.com>
19625 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
19626 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
19628 * include/grub/types.h (grub_host_to_target16): New macro.
19629 (grub_host_to_target32): Likewise.
19630 (grub_host_to_target64): Likewise.
19631 (grub_target_to_host16): Likewise.
19632 (grub_target_to_host32): Likewise.
19633 (grub_target_to_host64): Likewise.
19635 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19636 Renamed from to ...
19637 (GRUB_MOD_ALIGN): ...this. Update all users.
19639 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
19640 grub_host_to_target32.
19641 Replace grub_be_to_cpu32 with grub_target_to_host32.
19642 (load_modules): Likewise.
19643 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
19644 Replace grub_be_to_cpu32 with grub_target_to_host32.
19645 Replace grub_cpu_to_be16 with grub_host_to_target16.
19646 Replace grub_cpu_to_be32 grub_host_to_target32.
19648 2007-10-12 Robert Millan <rmh@aybabtu.com>
19650 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
19651 * util/elf/grub-mkimage.c: ... here.
19653 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
19654 `util/powerpc/ieee1275/grub-mkimage.c'.
19656 2007-10-07 Robert Millan <rmh@aybabtu.com>
19658 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
19659 and make it easier to figure out.
19660 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
19661 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
19662 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
19663 leave us with less than HEAP_MIN_SIZE total heap.
19664 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
19666 2007-10-03 Robert Millan <rmh@aybabtu.com>
19668 * include/grub/i386/io.h: New file.
19669 * commands/i386/pc/play.c (inb): Removed.
19671 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19673 * term/i386/pc/serial.c (inb): Removed.
19675 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19677 * term/i386/pc/vga.c (inb): Removed.
19679 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19682 2007-10-02 Robert Millan <rmh@aybabtu.com>
19684 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
19685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19686 Reported by Marcin Kurek.
19688 2007-09-07 Robert Millan <rmh@aybabtu.com>
19690 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
19691 SmartFirmware version updates (as released by Sven Luther), and avoid
19692 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
19693 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
19696 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19698 From Hitoshi Ozeki:
19699 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
19700 when merging two regions.
19702 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19704 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
19705 * normal/completion.c (grub_normal_do_completion): Likewise.
19706 Reported by Hitoshi Ozeki.
19708 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19710 Do not use devices at boot in chainloading.
19712 * loader/i386/pc/chainloader.c (boot_drive): New variable.
19713 (boot_part_addr): Likewise.
19714 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
19715 with BOOT_DRIVE and BOOT_PART_ADDR.
19716 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
19717 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
19719 2007-08-29 Robert Millan <rmh@aybabtu.com>
19721 Patch from Simon Peter <dn.tlp@gmx.net>:
19722 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
19723 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
19724 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
19725 util/i386/pc/grub-setup.c_DEPENDENCIES.
19726 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
19727 util/grub-probe.c_DEPENDENCIES.
19728 * conf/powerpc-ieee1275.rmk: Likewise.
19730 2007-08-28 Robert Millan <rmh@aybabtu.com>
19732 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
19733 to tell grub-mkdevicemap how to name devices.
19734 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
19737 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
19738 util/i386/get_disk_name.c.
19739 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
19740 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
19741 util/ieee1275/get_disk_name.c.
19743 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
19745 * DISTLIST: Add util/i386/get_disk_name.c and
19746 util/ieee1275/get_disk_name.c.
19748 * util/grub-mkdevicemap.c: Replace device naming logic with
19749 grub_util_get_disk_name() calls.
19751 2007-08-20 Robert Millan <rmh@aybabtu.com>
19753 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
19754 (so that it works for both plural and singular quantities).
19756 2007-08-05 Robert Millan <rmh@aybabtu.com>
19758 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
19759 so that [xz] isn't taken into account when determining order.
19761 2007-08-02 Marco Gerards <marco@gnu.org>
19763 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
19764 `include/multiboot2.h', `include/grub/elfload.h',
19765 `include/multiboot.h', `include/grub/multiboot.h',
19766 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
19767 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
19768 `kern/elf.c', `loader/multiboot_loader.c',
19769 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
19770 `loader/i386/pc/multiboot2.c',
19771 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
19772 `util/i386/pc/grub-mkrescue.in'. Remove
19773 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
19774 `include/grub/i386/pc/util/biosdisk.h' and
19775 `include/grub/powerpc/ieee1275/multiboot.h'.
19777 2007-08-02 Bean <bean123ch@gmail.com>
19779 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
19780 (ntfs_mod_SOURCES): New variable.
19781 (ntfs_mod_CFLAGS): Likewise.
19782 (ntfs_mod_LDFLAGS): Likewise.
19784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
19785 (grub_probe_SOURCES): Likewise.
19786 (grub_emu_SOURCES): Likewise.
19788 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19789 (grub_emu_SOURCES): Likewise.
19791 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19792 (grub_emu_SOURCES): Likewise.
19794 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
19796 * fs/ntfs.c: New file.
19798 2007-08-02 Bean <bean123ch@gmail.com>
19800 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
19802 * file.h (grub_file): Likewise.
19804 * fshelp.h (grub_fshelp_read_file): Likewise.
19806 * util/i386/pc/grub-setup.c (setup): Likewise.
19807 (save_first_sector): Likewise.
19808 (save_blocklists): Likewise.
19810 * fs/affs.c (grub_affs_read_file): Likewise.
19812 * fs/ext2.c (grub_ext2_read_file): Likewise.
19814 * fs/fat.c (grub_fat_read_data): Likewise.
19816 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
19818 * fs/hfs.c (grub_hfs_read_file): Likewise.
19820 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19822 * fs/jfs.c (grub_jfs_read_file): Likewise.
19824 * fs/minix.c (grub_minix_read_file): Likewise.
19826 * fs/sfs.c (grub_sfs_read_file): Likewise.
19828 * fs/ufs.c (grub_ufs_read_file): Likewise.
19830 * fs/xfs.c (grub_xfs_read_file): Likewise.
19832 * command/blocklist.c (read_blocklist): Likewise.
19833 (print_blocklist): Likewise.
19835 2007-08-02 Marco Gerards <marco@gnu.org>
19837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
19840 * disk/host.c: New file.
19842 * util/hostfs.c: Likewise.
19844 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
19845 return `GRUB_ERR_BAD_FS'.
19846 * fs/sfs.c (grub_sfs_mount): Likewise.
19847 * fs/xfs.c (grub_xfs_mount): Likewise.
19849 * include/grub/disk.h (enum grub_disk_dev_id): Add
19850 `GRUB_DISK_DEVICE_HOST_ID'.
19852 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
19854 2007-07-24 Jerone Young <jerone@gmail.com>
19856 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
19857 modules for compilation.
19858 * conf/powerpc-ieee1275.rmk: Likewise.
19860 * include/multiboot.h: Move multiboot definitions to one file. Rename
19861 many definitions to not get grub specific.
19862 * include/multiboot2.h: Create header with multiboot 2 definitions.
19863 * include/grub/multiboot.h: Header for grub specific function
19864 prototypes and definitions.
19865 * include/grub/multiboot2.h: Likewise.
19866 * include/grub/multiboot_loader.h: Likewise.
19867 * include/grub/i386/pc/multiboot.h: Removed.
19868 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
19870 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
19871 and 2 to allow for one multiboot and module commands.
19872 * loader/multiboot2.c: Add multiboot2 functionality.
19873 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
19874 and definition names.
19875 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
19877 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
19878 ieee1275 specific multiboot2 code.
19880 * kern/i386/pc/startup.S: Change headers and definition names for
19881 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
19883 2007-07-22 Robert Millan <rmh@aybabtu.com>
19885 * geninitheader.sh: Process file specified in first parameter rather
19886 than hardcoding grub_modules_init.lst.
19887 * geninit.sh: Likewise. Also, construct header name dynamically rather
19888 than hardcoding grub_modules_init.h.
19890 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
19891 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
19892 grub_probe_init.[ch] and grub_setup_init.[ch].
19894 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
19895 grub_modules_init.h with grub_emu_init.h.
19896 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
19897 grub_probe_init.[ch] files.
19898 * conf/i386-efi.rmk: Likewise.
19899 * conf/i386-pc.rmk: Likewise.
19900 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
19901 grub_setup_init.[ch] files.
19903 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
19904 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
19905 to initialize modules rather than a list of hardcoded functions.
19906 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
19907 grub_init_all() to initialize modules rather than a list of hardcoded
19910 2007-07-22 Robert Millan <rmh@aybabtu.com>
19912 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19913 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
19915 2007-07-22 Robert Millan <rmh@aybabtu.com>
19917 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19918 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
19919 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
19920 flag when running on SmartFirmware.
19921 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
19922 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
19925 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19926 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
19927 rather than decreasing it.
19929 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
19930 there's not enough space to do it, fail in the same way as when it
19931 can't be done because there are no partitions.
19933 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
19934 when nvsetenv failed.
19936 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19938 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
19939 because this rule is automatically generated.
19940 (grub-mkrescue): Removed for the same reason as above.
19942 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19944 Migrate to GNU General Public License Version 3.
19946 * COPYING: Replaced with the plain text version of GPLv3.
19948 * config.guess: Updated from gnulib.
19949 * config.sub: Likewise.
19951 * geninit.sh: Output a GPLv3 copyright notice.
19952 * geninitheader.sh: Likewise.
19953 * genmodsrc.sh: Likewise.
19954 * gensymlist.sh.in: Likewise.
19956 * boot/i386/pc/boot.S: Upgraded to GPLv3.
19957 * boot/i386/pc/diskboot.S: Likewise.
19958 * boot/i386/pc/pxeboot.S: Likewise.
19959 * commands/blocklist.c: Likewise.
19960 * commands/boot.c: Likewise.
19961 * commands/cat.c: Likewise.
19962 * commands/cmp.c: Likewise.
19963 * commands/configfile.c: Likewise.
19964 * commands/echo.c: Likewise.
19965 * commands/help.c: Likewise.
19966 * commands/ls.c: Likewise.
19967 * commands/search.c: Likewise.
19968 * commands/terminal.c: Likewise.
19969 * commands/test.c: Likewise.
19970 * commands/videotest.c: Likewise.
19971 * commands/i386/cpuid.c: Likewise.
19972 * commands/i386/pc/halt.c: Likewise.
19973 * commands/i386/pc/play.c: Likewise.
19974 * commands/i386/pc/reboot.c: Likewise.
19975 * commands/i386/pc/vbeinfo.c: Likewise.
19976 * commands/i386/pc/vbetest.c: Likewise.
19977 * commands/ieee1275/halt.c: Likewise.
19978 * commands/ieee1275/reboot.c: Likewise.
19979 * commands/ieee1275/suspend.c: Likewise.
19980 * disk/loopback.c: Likewise.
19981 * disk/lvm.c: Likewise.
19982 * disk/raid.c: Likewise.
19983 * disk/efi/efidisk.c: Likewise.
19984 * disk/i386/pc/biosdisk.c: Likewise.
19985 * disk/ieee1275/ofdisk.c: Likewise.
19986 * font/manager.c: Likewise.
19987 * fs/affs.c: Likewise.
19988 * fs/ext2.c: Likewise.
19989 * fs/fat.c: Likewise.
19990 * fs/fshelp.c: Likewise.
19991 * fs/hfs.c: Likewise.
19992 * fs/hfsplus.c: Likewise.
19993 * fs/iso9660.c: Likewise.
19994 * fs/jfs.c: Likewise.
19995 * fs/minix.c: Likewise.
19996 * fs/sfs.c: Likewise.
19997 * fs/ufs.c: Likewise.
19998 * fs/xfs.c: Likewise.
19999 * hello/hello.c: Likewise.
20000 * include/grub/acorn_filecore.h: Likewise.
20001 * include/grub/arg.h: Likewise.
20002 * include/grub/bitmap.h: Likewise.
20003 * include/grub/boot.h: Likewise.
20004 * include/grub/cache.h: Likewise.
20005 * include/grub/device.h: Likewise.
20006 * include/grub/disk.h: Likewise.
20007 * include/grub/dl.h: Likewise.
20008 * include/grub/elfload.h: Likewise.
20009 * include/grub/env.h: Likewise.
20010 * include/grub/err.h: Likewise.
20011 * include/grub/file.h: Likewise.
20012 * include/grub/font.h: Likewise.
20013 * include/grub/fs.h: Likewise.
20014 * include/grub/fshelp.h: Likewise.
20015 * include/grub/gzio.h: Likewise.
20016 * include/grub/hfs.h: Likewise.
20017 * include/grub/kernel.h: Likewise.
20018 * include/grub/loader.h: Likewise.
20019 * include/grub/lvm.h: Likewise.
20020 * include/grub/misc.h: Likewise.
20021 * include/grub/mm.h: Likewise.
20022 * include/grub/net.h: Likewise.
20023 * include/grub/normal.h: Likewise.
20024 * include/grub/parser.h: Likewise.
20025 * include/grub/partition.h: Likewise.
20026 * include/grub/pc_partition.h: Likewise.
20027 * include/grub/raid.h: Likewise.
20028 * include/grub/rescue.h: Likewise.
20029 * include/grub/script.h: Likewise.
20030 * include/grub/setjmp.h: Likewise.
20031 * include/grub/symbol.h: Likewise.
20032 * include/grub/term.h: Likewise.
20033 * include/grub/terminfo.h: Likewise.
20034 * include/grub/tparm.h: Likewise.
20035 * include/grub/types.h: Likewise.
20036 * include/grub/video.h: Likewise.
20037 * include/grub/efi/api.h: Likewise.
20038 * include/grub/efi/chainloader.h: Likewise.
20039 * include/grub/efi/console.h: Likewise.
20040 * include/grub/efi/console_control.h: Likewise.
20041 * include/grub/efi/disk.h: Likewise.
20042 * include/grub/efi/efi.h: Likewise.
20043 * include/grub/efi/pe32.h: Likewise.
20044 * include/grub/efi/time.h: Likewise.
20045 * include/grub/i386/linux.h: Likewise.
20046 * include/grub/i386/setjmp.h: Likewise.
20047 * include/grub/i386/types.h: Likewise.
20048 * include/grub/i386/efi/kernel.h: Likewise.
20049 * include/grub/i386/efi/loader.h: Likewise.
20050 * include/grub/i386/efi/time.h: Likewise.
20051 * include/grub/i386/pc/biosdisk.h: Likewise.
20052 * include/grub/i386/pc/boot.h: Likewise.
20053 * include/grub/i386/pc/chainloader.h: Likewise.
20054 * include/grub/i386/pc/console.h: Likewise.
20055 * include/grub/i386/pc/init.h: Likewise.
20056 * include/grub/i386/pc/kernel.h: Likewise.
20057 * include/grub/i386/pc/loader.h: Likewise.
20058 * include/grub/i386/pc/memory.h: Likewise.
20059 * include/grub/i386/pc/multiboot.h: Likewise.
20060 * include/grub/i386/pc/serial.h: Likewise.
20061 * include/grub/i386/pc/time.h: Likewise.
20062 * include/grub/i386/pc/vbe.h: Likewise.
20063 * include/grub/i386/pc/vbeblit.h: Likewise.
20064 * include/grub/i386/pc/vbefill.h: Likewise.
20065 * include/grub/i386/pc/vbeutil.h: Likewise.
20066 * include/grub/i386/pc/vga.h: Likewise.
20067 * include/grub/ieee1275/ieee1275.h: Likewise.
20068 * include/grub/ieee1275/ofdisk.h: Likewise.
20069 * include/grub/powerpc/libgcc.h: Likewise.
20070 * include/grub/powerpc/setjmp.h: Likewise.
20071 * include/grub/powerpc/types.h: Likewise.
20072 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20073 * include/grub/powerpc/ieee1275/console.h: Likewise.
20074 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20075 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20076 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20077 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20078 * include/grub/powerpc/ieee1275/time.h: Likewise.
20079 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20080 * include/grub/sparc64/libgcc.h: Likewise.
20081 * include/grub/sparc64/setjmp.h: Likewise.
20082 * include/grub/sparc64/types.h: Likewise.
20083 * include/grub/sparc64/ieee1275/console.h: Likewise.
20084 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20085 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20086 * include/grub/sparc64/ieee1275/time.h: Likewise.
20087 * include/grub/util/biosdisk.h: Likewise.
20088 * include/grub/util/getroot.h: Likewise.
20089 * include/grub/util/lvm.h: Likewise.
20090 * include/grub/util/misc.h: Likewise.
20091 * include/grub/util/raid.h: Likewise.
20092 * include/grub/util/resolve.h: Likewise.
20093 * io/gzio.c: Likewise.
20094 * kern/device.c: Likewise.
20095 * kern/disk.c: Likewise.
20096 * kern/dl.c: Likewise.
20097 * kern/elf.c: Likewise.
20098 * kern/env.c: Likewise.
20099 * kern/err.c: Likewise.
20100 * kern/file.c: Likewise.
20101 * kern/fs.c: Likewise.
20102 * kern/loader.c: Likewise.
20103 * kern/main.c: Likewise.
20104 * kern/misc.c: Likewise.
20105 * kern/mm.c: Likewise.
20106 * kern/parser.c: Likewise.
20107 * kern/partition.c: Likewise.
20108 * kern/rescue.c: Likewise.
20109 * kern/term.c: Likewise.
20110 * kern/efi/efi.c: Likewise.
20111 * kern/efi/init.c: Likewise.
20112 * kern/efi/mm.c: Likewise.
20113 * kern/i386/dl.c: Likewise.
20114 * kern/i386/efi/init.c: Likewise.
20115 * kern/i386/efi/startup.S: Likewise.
20116 * kern/i386/pc/init.c: Likewise.
20117 * kern/i386/pc/lzo1x.S: Likewise.
20118 * kern/i386/pc/startup.S: Likewise.
20119 * kern/ieee1275/ieee1275.c: Likewise.
20120 * kern/powerpc/cache.S: Likewise.
20121 * kern/powerpc/dl.c: Likewise.
20122 * kern/powerpc/ieee1275/cmain.c: Likewise.
20123 * kern/powerpc/ieee1275/crt0.S: Likewise.
20124 * kern/powerpc/ieee1275/init.c: Likewise.
20125 * kern/powerpc/ieee1275/openfw.c: Likewise.
20126 * kern/sparc64/cache.S: Likewise.
20127 * kern/sparc64/dl.c: Likewise.
20128 * kern/sparc64/ieee1275/init.c: Likewise.
20129 * kern/sparc64/ieee1275/openfw.c: Likewise.
20130 * loader/efi/chainloader.c: Likewise.
20131 * loader/efi/chainloader_normal.c: Likewise.
20132 * loader/i386/efi/linux.c: Likewise.
20133 * loader/i386/efi/linux_normal.c: Likewise.
20134 * loader/i386/pc/chainloader.c: Likewise.
20135 * loader/i386/pc/chainloader_normal.c: Likewise.
20136 * loader/i386/pc/linux.c: Likewise.
20137 * loader/i386/pc/linux_normal.c: Likewise.
20138 * loader/i386/pc/multiboot.c: Likewise.
20139 * loader/i386/pc/multiboot_normal.c: Likewise.
20140 * loader/powerpc/ieee1275/linux.c: Likewise.
20141 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20142 * normal/arg.c: Likewise.
20143 * normal/cmdline.c: Likewise.
20144 * normal/command.c: Likewise.
20145 * normal/completion.c: Likewise.
20146 * normal/execute.c: Likewise.
20147 * normal/function.c: Likewise.
20148 * normal/lexer.c: Likewise.
20149 * normal/main.c: Likewise.
20150 * normal/menu.c: Likewise.
20151 * normal/menu_entry.c: Likewise.
20152 * normal/misc.c: Likewise.
20153 * normal/parser.y: Likewise.
20154 * normal/script.c: Likewise.
20155 * normal/i386/setjmp.S: Likewise.
20156 * normal/powerpc/setjmp.S: Likewise.
20157 * normal/sparc64/setjmp.S: Likewise.
20158 * partmap/acorn.c: Likewise.
20159 * partmap/amiga.c: Likewise.
20160 * partmap/apple.c: Likewise.
20161 * partmap/gpt.c: Likewise.
20162 * partmap/pc.c: Likewise.
20163 * partmap/sun.c: Likewise.
20164 * term/gfxterm.c: Likewise.
20165 * term/terminfo.c: Likewise.
20166 * term/efi/console.c: Likewise.
20167 * term/i386/pc/console.c: Likewise.
20168 * term/i386/pc/serial.c: Likewise.
20169 * term/i386/pc/vesafb.c: Likewise.
20170 * term/i386/pc/vga.c: Likewise.
20171 * term/ieee1275/ofconsole.c: Likewise.
20172 * util/biosdisk.c: Likewise.
20173 * util/console.c: Likewise.
20174 * util/genmoddep.c: Likewise.
20175 * util/getroot.c: Likewise.
20176 * util/grub-emu.c: Likewise.
20177 * util/grub-mkdevicemap.c: Likewise.
20178 * util/grub-probe.c: Likewise.
20179 * util/lvm.c: Likewise.
20180 * util/misc.c: Likewise.
20181 * util/raid.c: Likewise.
20182 * util/resolve.c: Likewise.
20183 * util/update-grub.in: Likewise.
20184 * util/update-grub_lib.in: Likewise.
20185 * util/grub.d/00_header.in: Likewise.
20186 * util/grub.d/10_hurd.in: Likewise.
20187 * util/grub.d/10_linux.in: Likewise.
20188 * util/i386/efi/grub-install.in: Likewise.
20189 * util/i386/efi/grub-mkimage.c: Likewise.
20190 * util/i386/pc/grub-install.in: Likewise.
20191 * util/i386/pc/grub-mkimage.c: Likewise.
20192 * util/i386/pc/grub-mkrescue.in: Likewise.
20193 * util/i386/pc/grub-setup.c: Likewise.
20194 * util/i386/pc/misc.c: Likewise.
20195 * util/powerpc/ieee1275/grub-install.in: Likewise.
20196 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20197 * util/powerpc/ieee1275/misc.c: Likewise.
20198 * video/bitmap.c: Likewise.
20199 * video/video.c: Likewise.
20200 * video/i386/pc/vbe.c: Likewise.
20201 * video/i386/pc/vbeblit.c: Likewise.
20202 * video/i386/pc/vbefill.c: Likewise.
20203 * video/i386/pc/vbeutil.c: Likewise.
20204 * video/readers/tga.c: Likewise.
20206 2007-07-02 Robert Millan <rmh@aybabtu.com>
20208 * conf/i386-efi.rmk: Replace obsolete reference to
20209 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20210 with util/getroot.c.
20211 * conf/powerpc-ieee1275.rmk: Likewise.
20212 * conf/sparc64-ieee1275.rmk: Likewise.
20214 * util/grub-emu.c (main): Fix unchecked pointer handling.
20216 2007-07-02 Robert Millan <rmh@aybabtu.com>
20218 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20219 invocation to fail, in order to support partition-less media.
20221 * util/i386/pc/grub-install.in: Likewise.
20223 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20224 which fs or partmap modules are needed (akin to its sister scripts).
20226 Also use grub-probe to get rid of unportable /proc/mounts check.
20228 Print the same informational message that the other scripts do, before
20231 2007-06-23 Robert Millan <rmh@aybabtu.com>
20233 * util/update-grub_lib.in (font_path): New function. Determine whether
20234 a font file can be found and, if so, echo the GRUB path to it.
20236 * util/update-grub.in: Handle multiple terminals depending on user
20237 input, platform availability and font file presence. Propagate
20238 variables of our findings to /etc/grub.d/ children.
20240 * util/grub.d/00_header.in: Handle multiple terminals, based on
20241 environment setup by update-grub.
20243 2007-06-23 Robert Millan <rmh@aybabtu.com>
20245 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
20247 2007-06-21 Robert Millan <rmh@aybabtu.com>
20249 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
20250 indicate end of data section in kernel image.
20251 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
20252 GRUB_KERNEL_MACHINE_DATA_END.
20254 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
20256 * kern/i386/efi/startup.S: Likewise.
20258 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
20259 during image generation. Implement --prefix option to override this
20261 * util/i386/efi/grub-mkimage.c: Likewise.
20263 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
20264 code to make path relative to its root into a separate function.
20266 * util/i386/pc/grub-install.in: Use newly provided
20267 make_system_path_relative_to_its_root() to convert ${grubdir}, then
20268 pass the result to grub-install --prefix.
20270 2007-06-13 Robert Millan <rmh@aybabtu.com>
20272 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
20273 DEFAULT_DEVICE_MAP.
20274 * util/grub-emu.c: Use above definitions from misc.h instead of
20276 * util/grub-mkdevicemap.c: Likewise.
20277 * util/i386/pc/grub-setup.c: Likewise.
20278 * util/grub-probe.c: Likewise.
20279 (probe): Abort with grub_util_error() when either
20280 grub_guess_root_device or grub_util_get_grub_dev fails.
20282 2007-06-12 Robert Millan <rmh@aybabtu.com>
20284 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
20285 "pager" assignment.
20286 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
20288 * util/grub-probe.c (probe): Likewise for "drive_name".
20290 2007-06-11 Robert Millan <rmh@aybabtu.com>
20292 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
20293 not just the cdrom one.
20295 2007-06-11 Robert Millan <rmh@aybabtu.com>
20297 * util/i386/pc/grub-mkrescue.in: Add "set -e".
20298 Add --pkglibdir=DIR option to override pkglibdir.
20299 Mention --image-type=TYPE in help output.
20300 Fix --grub-mkimage (it was a no-op).
20301 Abort gracefully when no parameter is given.
20303 2007-06-11 Robert Millan <rmh@aybabtu.com>
20305 * util/i386/pc/grub-mkrescue.in: New file.
20306 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
20307 * Makefile.in: Handle bin_SCRIPTS.
20309 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
20311 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
20312 list of video modes.
20314 2007-06-06 Robert Millan <rmh@aybabtu.com>
20316 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
20317 file doesn't exist, or if it is in a filesystem grub can't read.
20319 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
20320 not abort if GRUB_DRIVE could not be defined. Rearrange generated
20321 header comment to fit in 80 columns when the variables are resolved.
20323 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
20324 could be identified by update-grub. Remove redundant check for
20325 unifont.pff existence (since convert_system_path_to_grub_path now
20328 2007-06-04 Robert Millan <rmh@aybabtu.com>
20330 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
20332 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
20334 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
20336 2007-06-04 Robert Millan <rmh@aybabtu.com>
20338 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
20340 * include/grub/partition.h: Declare grub_apple_partition_map_init and
20341 grub_apple_partition_map_fini.
20344 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
20345 to access >2 TiB disks).
20347 Print disk->total_sectors with %llu instead of %lu, since this
20348 variable is always 64-bit (prevents wrong disk size from being displayed
20349 on either >2 TiB disk or big-endian CPU).
20351 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
20352 into a generic case that supports all (sane) partition maps.
20354 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
20357 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
20358 and grub_apple_partition_map_fini() after that.
20360 2007-06-01 Robert Millan <rmh@aybabtu.com>
20362 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
20364 * util/grub.d/00_header.in: Only enable gfxterm when
20365 convert_system_path_to_grub_path() succeeds.
20367 2007-05-20 Robert Millan <rmh@aybabtu.com>
20369 * util/update-grub_lib.in: New file.
20370 * DISTLIST: Add update-grub_lib.in.
20371 * conf/common.rmk: Generate update-grub_lib and install it in
20373 * Makefile.in: Add install routine for $(lib_DATA).
20375 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
20376 function provided by update-grub_lib to support arbitrary paths of
20378 * util/update-grub.in: Use convert_system_path_to_grub_path() to
20379 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
20381 2007-05-19 Robert Millan <rmh@aybabtu.com>
20383 * commands/i386/cpuid.c: New module.
20384 * DISTLIST: Add it.
20385 * conf/i386-efi.rmk: Enable cpuid.mod.
20386 * conf/i386-pc.rmk: Likewise.
20388 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20390 * kern/disk.c (grub_disk_read): Check return value of
20393 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20395 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
20397 * disk/raid.c (grub_raid_open): Likewise.
20399 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20401 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
20402 stack instead of on the heap.
20404 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
20405 before doing a read on it.
20407 * configure.ac: Only use -fno-stack-protector for the target
20410 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20412 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
20413 __attribute_ ((unused)) to mode_type argument.
20415 * util/getroot.c (grub_guess_root_device): Fix #endif.
20417 * kern/misc.c (memcmp): Fix prototype.
20419 * include/grub/partition.h [GRUB_UTIL]
20420 (grub_gpt_partition_map_init): Add prototype.
20421 (grub_gpt_partition_map_fini): Likewise.
20423 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
20424 at the right place.
20426 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
20427 (grub_fat_read_data): Likewise.
20428 (grub_fat_find_dir): Likewise.
20430 * font/manager.c (find_glyph): Make table a const.
20431 (grub_font_get_glyph): Remove bitmap from if statement.
20433 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
20435 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
20436 code, first search for device in /dev/mapper, then in /dev.
20437 (grub_util_get_grub_dev): New function.
20438 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
20440 * util/grub-probe.c (probe): Remove check for RAID, call
20441 grub_util_get_grub_dev() instead of
20442 grub_util_biosdisk_get_grub_dev().
20443 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
20444 grub_util_biosdisk_get_grub_dev().
20445 * util/i386/pc/grub-setup.c (main): Likewise.
20447 2007-05-16 Robert Millan <rmh@aybabtu.com>
20449 * DISTLIST: Update for the latest changes.
20450 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
20451 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
20452 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
20453 grub/util/biosdisk.h.
20454 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
20455 grub/util/biosdisk.h.
20457 2007-05-16 Robert Millan <rmh@aybabtu.com>
20459 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
20461 2007-05-16 Robert Millan <rmh@aybabtu.com>
20463 * util/i386/efi/grub-install.in: New.
20464 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
20465 newly added grub-install.
20466 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
20468 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
20469 grub/util/biosdisk.h.
20470 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
20471 grub/util/biosdisk.h.
20473 2007-05-16 Robert Millan <rmh@aybabtu.com>
20475 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
20476 * include/grub/util/biosdisk.h: ... here.
20477 * util/i386/pc/biosdisk.c: Moved to ...
20478 * util/biosdisk.c: ... here.
20479 * util/i386/pc/getroot.c: Moved to ...
20480 * util/getroot.c: ... here.
20481 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
20482 * util/grub-mkdevicemap.c: ... here.
20483 * util/i386/pc/grub-probe.c: Moved to ...
20484 * util/grub-probe.c: ... here.
20486 2007-05-15 Robert Millan <rmh@aybabtu.com>
20488 * util/update-grub.in: Remove duplicated line in grub.cfg header
20491 2007-05-13 Robert Millan <rmh@aybabtu.com>
20493 * util/update-grub.in: Fix a few assumptions about the devices holding
20494 /, /boot and /boot/grub being the same.
20495 * util/grub.d/00_header.in: Likewise.
20496 * util/grub.d/10_hurd.in: Likewise.
20497 * util/grub.d/10_linux.in: Likewise.
20499 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
20500 patterns. Use that to define the `.old' suffix as older than `'.
20502 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
20504 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
20505 the grub.cfg header message.
20507 2007-05-11 Robert Millan <rmh@aybabtu.com>
20509 * util/update-grub.in: Create device.map if it doesn't already exist,
20510 before attempting to run grub-probe.
20511 Check for grub-probe and grub-mkdevicemap with the same code
20512 grub-install is using.
20515 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
20517 * Makefile.in: Add the datarootdir autoconf variable.
20519 2007-05-09 Robert Millan <rmh@aybabtu.com>
20521 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
20522 fail gracefully if dev->disk->partition == NULL.
20524 2007-05-07 Robert Millan <rmh@aybabtu.com>
20526 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
20527 determine partition map module.
20528 * util/i386/pc/grub-install.in: Use this feature to decide which
20529 partition module to load, instead of hardcoding pc and gpt.
20531 2007-05-07 Robert Millan <rmh@aybabtu.com>
20533 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
20534 source directory differs from build directory.
20536 2007-05-05 Robert Millan <rmh@aybabtu.com>
20538 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
20541 2007-05-05 Robert Millan <rmh@aybabtu.com>
20543 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
20545 2007-05-05 Robert Millan <rmh@aybabtu.com>
20547 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
20548 command-line arguments via ${GRUB_CMDLINE_LINUX}.
20550 2007-05-05 Robert Millan <rmh@aybabtu.com>
20552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
20553 (grub_probe_SOURCES): Likewise.
20554 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
20555 GPT and initialize dos_part and bsd_part accordingly.
20556 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
20558 (main): Activate gpt module for use during partition identification,
20559 and deactivate it afterwards.
20560 * util/i386/pc/grub-install.in: Add gpt module to core.img.
20561 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
20562 partition identification, and deactivate it afterwards.
20564 2007-05-05 Robert Millan <rmh@aybabtu.com>
20566 * term/i386/pc/console.c (grub_console_fini): Call
20567 grub_term_set_current() before grub_term_unregister().
20569 2007-05-04 Robert Millan <rmh@aybabtu.com>
20571 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
20572 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
20573 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
20574 and update-grub_DATA.
20575 * conf/common.rmk: Build and install update-grub components.
20576 * conf/common.mk: Regenerate.
20577 * util/update-grub.in: New. Core of update-grub.
20578 * util/grub.d/00_header.in: New. Generates grub.cfg header.
20579 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
20580 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
20581 * util/grub.d/README: New. Document grub.d directory layout.
20583 2007-05-01 Robert Millan <rmh@aybabtu.com>
20585 * util/grub-emu.c: Move initialization functions
20586 grub_util_biosdisk_init() and grub_init_all() before
20587 grub_util_biosdisk_get_grub_dev(), which relies on them.
20589 2007-04-19 Robert Millan <rmh@aybabtu.com>
20591 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
20594 2007-04-18 Jerone Young <jerone@gmail.com>
20596 * kernel/elf.c: Add missing parenthesis for conditional statement
20599 2007-04-10 Jerone Young <jerone@gmail.com>
20601 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
20602 continue on and look for device node with real device name.
20604 2007-04-10 Jerone Young <jerone@gmail.com>
20606 * configure.ac: Add argument for autoconf to use transformation
20608 * Makefile.in: Add autoconf package transformation code.
20609 * util/i386/pc/grub-install.in: Likewise.
20610 * util/powerpc/ieee1275/grub-install.in: Likewise.
20612 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20614 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
20615 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
20616 (EXT2_REVISION): Likewise.
20617 (EXT2_INODE_SIZE): Likewise.
20618 (struct grub_ext2_block_group): Added a missing member
20620 (grub_ext2_read_inode): Divide by the inode size in a superblock
20621 instead of 128 to obtain INODES_PER_BLOCK.
20622 Use the macro EXT2_INODE_SIZE instead of directly using
20623 SBLOCK->INODE_SIZE.
20625 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20627 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
20628 superblock instead of the structure size to compute an
20629 offset. This fixes the problem that GRUB could not read a
20630 filesystem when inode size is different from 128-byte.
20632 2007-03-05 Marco Gerards <marco@gnu.org>
20634 * normal/main.c (read_config_file): When "menu" is not set, create
20635 an initial context.
20637 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20639 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
20640 (HEAP_LIMIT): New macro.
20641 (grub_claim_heap): Claim memory up to `heaplimit'.
20643 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20645 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
20646 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
20647 (_start): Likewise.
20648 (grub_arch_modules_addr): Return address after `_end'.
20649 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
20650 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
20651 (add_segments): Calculate `_end' from phdr size and location.
20652 (ALIGN_UP): Moved to ...
20653 * include/grub/misc.h: here.
20654 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20656 (GRUB_IEEE1275_MODULE_BASE): Removed.
20658 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20660 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
20663 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20665 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
20667 (grub_elf64_load_hook_t): Likewise.
20668 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
20671 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20673 * kern/mm.c: Update copyright.
20674 (grub_mm_debug): Correct syntax error.
20675 (grub_mm_dump_free): New function.
20676 (grub_debug_free): Call `grub_free'.
20677 * include/grub/mm.h: Update copyright.
20678 (grub_mm_dump_free): Add declaration.
20680 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20682 * include/grub/ieee1275/ieee1275.h: Update copyright.
20683 * kern/powerpc/ieee1275/init.c: Likewise.
20684 * kern/powerpc/ieee1275/openfw.c: Likewise.
20686 * loader/powerpc/ieee1275/linux.c: Likewise.
20687 * include/grub/elfload.h: Likewise.
20688 * kern/elf.c: Likewise.
20689 (grub_elf32_load): Pass `base' and `size' parameters. Update all
20691 (grub_elf64_load): Likewise.
20692 (grub_elf32_load_segment): Move to a nested function.
20693 (grub_elf64_load_segment): Likewise.
20695 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20697 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
20699 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
20700 (grub_heap_len): Likewise.
20701 (HEAP_SIZE): New macro.
20702 (grub_claim_heap): New function.
20703 (grub_machine_init): Don't claim heap directly. Call
20705 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
20706 (grub_available_iterate): New function.
20708 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
20710 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
20711 * configure.ac: Use it for testing the HOST and TARGET compilers.
20713 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
20715 * Makefile.in (enable_grub_emu): New variable.
20716 * configure.ac (--enable-grub-emu): New option.
20717 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
20718 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
20719 * conf/i386-pc.rmk: Likewise.
20720 * conf/powerpc-ieee1275.rmk: Likewise.
20721 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
20723 2006-12-12 Marco Gerards <marco@gnu.org>
20725 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
20727 * kern/env.c (grub_env_unset): Don't free the member `value' when
20728 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
20731 * normal/main.c (current_menu): Removed.
20732 (free_menu): Unset the `menu' environment variable.
20733 (grub_normal_menu_addentry): Make use of the environment variable
20734 `menu', instead of using the global `current_menu'. Allocate
20735 memory for the sourcecode of this entry.
20736 (read_config_file): New argument `nested', changed all callers.
20737 Only in the case of a new context, initialize a new menu. Set the
20738 `menu' environment variable.
20739 (grub_normal_execute): Don't set and unset the environment
20740 variable `menu' here anymore. Only free the menu when leaving the
20743 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
20746 2006-12-11 Marco Gerards <marco@gnu.org>
20748 * normal/menu_entry.c (run): Fix off by one bug so the last line
20749 is executed. Move the loader check to outside the loop.
20751 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
20753 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
20755 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
20757 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
20758 the number of sectors. Reported by Andrey Shuvikov
20759 <mr_hyro@yahoo.com>.
20761 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
20763 * kern/disk.c (grub_disk_read): When there is a read error, always
20764 try to read only the necessary data.
20766 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
20768 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
20770 [GRUB_UTIL] (grub_raid_fini): Likewise.
20771 [GRUB_UTIL] (grub_lvm_init): Likewise.
20772 [GRUB_UTIL] (grub_lvm_fini): Likewise.
20773 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
20774 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
20775 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
20776 and grub_raid_fini().
20778 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
20780 * include/grub/types.h (__unused): Rename to UNUSED.
20781 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
20782 (grub_elf64_size): Likewise.
20784 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20786 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
20787 grub_error_push and grub_error_pop in the error-handling path.
20788 (grub_elf32_load_segment): Only call grub_file_read with non-zero
20791 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20793 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
20794 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20796 (kernel_elf_SOURCES): Likewise.
20797 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
20798 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
20799 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20800 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20801 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
20802 (elf_mod_SOURCES): New variable.
20803 (elf_mod_CFLAGS): Likewise.
20804 (elf_mod_LDFLAGS): Likewise.
20805 * include/grub/types.h (__unused): New macro.
20806 * include/grub/elfload.h: New file.
20807 * kern/elf.c: Likewise.
20808 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
20809 (ELF32_LOADMASK): New macro.
20810 (ELF64_LOADMASK): Likewise.
20811 (vmlinux): Removed.
20812 (grub_linux_load32): New function.
20813 (grub_linux_load64): Likewise.
20814 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
20815 Use grub_elf_t instead of grub_file_t.
20817 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
20819 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
20820 `catch_result' to struct set_color_args.
20822 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20824 * normal/menu.c: Include grub/script.h.
20825 * normal/menu_entry.c: Likewise.
20826 * include/grub/normal.h: Do not include grub/script.h.
20828 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20830 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
20832 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20834 * kern/disk.c (grub_disk_open): Print debug messages when opening a
20836 (grub_disk_close): Print debug messages when closing a disk.
20837 (grub_disk_read): Print debug messages when disk read fails.
20838 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
20840 * kern/partition.c: Include misc.h.
20841 (grub_partition_iterate): Print debug messages when detecting
20844 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20846 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
20848 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
20850 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
20852 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20853 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
20855 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
20857 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
20858 instead of sizeof(lv). Patch by Michael Guntsche.
20860 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
20862 * disk/lvm.c: Rename VGS to VG_LIST.
20863 (grub_lvm_iterate): Change VGS->LV to VG-LV.
20864 (grub_lvm_open): Likewise.
20865 Thanks to Michael Guntsche for finding this bug.
20867 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20869 * configure.ac (AC_INIT): Bumped to 1.95.
20871 2006-10-14 Robert Millan <rmh@aybabtu.com>
20873 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
20874 with "/dev/.static/dev/md".
20876 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20878 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
20879 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
20880 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
20881 DRIVE_NAME are always freed.
20883 * util/i386/pc/biosdisk.c (make_device_name): Add one into
20884 DOS_PART, as a DOS partition is counted from one instead of zero
20885 now. Reported by Robert Millan.
20887 2006-10-14 Robert Millan <rmh@aybabtu.com>
20889 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
20890 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
20891 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
20892 string returned by grub_guess_root_device.
20893 * util/i386/pc/grub-setup.c: Likewise.
20894 * util/i386/pc/grub-probefs.c: Likewise.
20896 * util/i386/pc/grub-probefs.c: Rename to ...
20897 * util/i386/pc/grub-probe.c: ... this.
20898 * DISTLIST: Remove grub-probefs, add grub-probe.
20899 * conf/i386-efi.rmk: Likewise.
20900 * conf/i386-pc.rmk: Likewise.
20901 * util/i386/pc/grub-install.in: Likewise.
20903 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
20904 choose which information we want to print.
20906 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20908 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
20909 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
20910 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
20911 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
20912 video/readers/tga.c and video/i386/pc/vbeutil.c.
20914 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
20916 Added support for RAID and LVM.
20918 * disk/lvm.c: New file.
20919 * disk/raid.c: Likewise.
20920 * include/grub/lvm.h: Likewise.
20921 * include/grub/raid.h: Likewise.
20922 * include/grub/util/lvm.h: Likewise.
20923 * include/grub/util/raid.h: Likewise.
20924 * util/lvm.c: Likewise.
20925 * util/raid.c: Likewise.
20927 * include/grub/disk.h (grub_disk_dev_id): Add
20928 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
20929 (grub_disk_get_size): New prototype.
20930 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
20931 returns a partition.
20932 (grub_disk_get_size): New function.
20934 * kern/i386/pc/init.c (make_install_device): Copy the prefix
20935 verbatim if grub_install_dos_part is -2.
20937 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
20940 * util/i386/pc/grub-setup.c (setup): New argument
20941 MUST_EMBED. Force embedding of GRUB when the argument is
20942 true. Close FILE before returning.
20943 (main): Add support for RAID and LVM.
20945 * conf/common.rmk: Add RAID and LVM modules.
20946 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
20948 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
20950 * kern/misc.c (grub_strstr): New function.
20951 * include/grub/misc.h (grub_strstr): New prototype.
20953 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
20955 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
20957 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
20959 * kern/misc.c (grub_strtoull): Guess the base only if not
20962 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20964 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
20967 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20969 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
20971 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
20972 Remove `flags' argument. All callers changed.
20973 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
20974 (IEEE1275_IHANDLE_INVALID): New variable.
20975 (IEEE1275_CELL_INVALID): New variable.
20976 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20977 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
20978 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
20979 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
20980 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
20981 codes from Open Firmware. All callers updated.
20982 (grub_ieee1275_next_property): Directly return Open Firmware return
20984 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20985 Standardize error checking from `grub_ieee1275_get_property'.
20986 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
20987 `devalias' to `aliases'. Correct comments. Consolidate error paths.
20989 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20991 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
20992 `instance_to_package_args' to `instance_to_path_args'.
20994 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
20995 `grub_ieee1275_chosen'.
20997 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
20998 `grub_ieee1275_interpret'.
21000 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21002 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21004 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21006 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21007 (__cmpdi): Likewise.
21009 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21010 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21013 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
21015 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21016 to type `grub_ssize_t'.
21017 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21019 2006-09-22 Marco Gerards <marco@gnu.org>
21021 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21024 2006-09-22 Marco Gerards <marco@gnu.org>
21026 * commands/echo.c: New file.
21028 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21030 * conf/common.rmk (echo_mod_SOURCES): New variable.
21031 (echo_mod_CFLAGS): Likewise.
21032 (echo_mod_LDFLAGS): Likewise.
21034 2006-09-22 Marco Gerards <marco@gnu.org>
21036 * normal/main.c (get_line): Malloc memory instead of using
21037 preallocated memory. Removed the arguments `cmdline' and
21038 `max_len'. Updated all callers.
21040 2006-09-22 Marco Gerards <marco@gnu.org>
21042 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21043 (normal_mod_DEPENDENCIES): Likewise.
21045 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21046 (normal_mod_DEPENDENCIES): Likewise.
21048 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21050 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
21052 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21054 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21055 (normal_mod_DEPENDENCIES): Likewise.
21056 * conf/i386-pc.mk: Regenerate.
21057 * conf/i386-efi.mk: Likewise
21058 * conf/common.mk: Likewise.
21059 * conf/powerpc-ieee1275.mk: Likewise.
21060 * conf/sparc64-ieee1275.mk: Likewise.
21062 2006-09-22 Robert Millan <rmh@aybabtu.com>
21064 Sync with i386 version.
21065 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21066 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21068 2006-09-21 Robert Millan <rmh@aybabtu.com>
21070 Import from GRUB Legacy (lib/device.c):
21071 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21072 (init_device_map) [__linux__]: Add support for I2O devices.
21074 2006-09-14 Marco Gerards <marco@gnu.org>
21076 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21079 2006-09-14 Robert Millan <rmh@aybabtu.com>
21081 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21084 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
21086 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21087 before adding it to device.map.
21089 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
21091 * genmk.rb: Let GCC generate dependencies the first time it
21092 compiles a file; using the -MD option.
21093 * conf/common.mk: Regenerate.
21094 * conf/i386-pc.mk: Likewise.
21095 * conf/i386-efi.mk: Likewise.
21096 * conf/powerpc-ieee1275.mk: Likewise.
21097 * conf/sparc64-ieee1275.mk: Likewise.
21099 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21101 Move the prototypes of grub_setjmp and grub_longjmp to
21102 cpu/setjmp.h, so that each architecture may specify different
21105 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21106 (grub_longjmp): Likewise.
21107 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21108 (grub_longjmp): Likewise.
21109 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21110 (grub_longjmp): Likewise.
21112 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21113 [!GRUB_UTIL] (grub_longjmp): Removed.
21115 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21117 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21118 "color!" method does not return any value.
21120 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21122 * include/grub/bitmap.h: New file.
21124 * include/grub/i386/pc/vbeutil.h: Likewise.
21126 * video/bitmap.c: Likewise.
21128 * video/readers/tga.c: Likewise.
21130 * video/i386/pc/vbeutil.c: Likewise.
21132 * commands/videotest.c: Code cleanup and updated to reflect to new
21135 * term/gfxterm.c: Likewise.
21137 * video/video.c: Likewise.
21139 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21140 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21141 (bitmap_mod_SOURCES): New entry.
21142 (bitmap_mod_CFLAGS): Likewise.
21143 (bitmap_mod_LDFLAGS): Likewise.
21144 (tga_mod_SOURCES): Likewise.
21145 (tga_mod_CFLAGS): Likewise.
21146 (tga_mod_LDFLAGS): Likewise.
21148 * include/grub/video.h (grub_video_blit_operators): New enum type.
21149 (grub_video_render_target): Changed as forward declaration and moved
21150 actual definition to be video driver specific.
21151 (grub_video_adapter.blit_bitmap): Added blitting operator.
21152 (grub_video_adapter.blit_render_target): Likewise.
21153 (grub_video_blit_bitmap): Likewise.
21154 (grub_video_blit_render_target): Likewise.
21156 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21157 driver specific render target definition.
21158 (grub_video_vbe_map_rgba): Added driver internal helper.
21159 (grub_video_vbe_unmap_color): Updated to use
21160 grub_video_i386_vbeblit_info.
21161 (grub_video_vbe_get_video_ptr): Likewise.
21163 * include/grub/i386/pc/vbeblit.h
21164 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21165 grub_video_i386_vbeblit_info.
21166 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21167 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21168 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21169 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21170 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21171 (grub_video_i386_vbeblit_index_index): Likewise.
21172 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21173 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21174 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21175 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21177 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21180 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21181 include/grub/i386/pc/vbeblit.h.
21183 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21184 Updated to use grub_video_i386_vbeblit_info.
21185 (grub_video_i386_vbefill_R8G8B8): Likewise.
21186 (grub_video_i386_vbefill_index): Likewise.
21187 (grub_video_i386_vbefill): Added generic filler.
21189 * video/i386/pc/vbefill.c: Updated to reflect changes on
21190 include/grub/i386/pc/vbefill.h.
21192 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21193 grub_video_i386_vbeblit_info.
21194 (grub_video_vbe_unmap_color): Likewise.
21195 (grub_video_vbe_blit_glyph): Likewise.
21196 (grub_video_vbe_scroll): Likewise.
21197 (grub_video_vbe_draw_pixel): Removed function.
21198 (grub_video_vbe_get_pixel): Likewise.
21199 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21200 updated code to use it.
21201 (common_blitter): Added common blitter for render target and bitmap.
21202 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21203 (grub_video_vbe_blit_render_target): Likewise.
21205 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
21207 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21208 is in text mode if there is no console control protocol instance
21211 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21213 * include/grub/video.h: Code cleanup.
21215 * include/grub/i386/pc/vbe.h: Likewise.
21217 * video/i386/pc/vbe.c: Likewise.
21219 * video/i386/pc/vbeblit.c: Likewise.
21221 * video/i386/pc/vbefill.c: Likewise.
21223 * video/video.c: Likewise. Also added more comments.
21225 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21227 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21228 (struct grub_biosdisk_dap): Likewise.
21230 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21231 linkage settings for all functions.
21233 2006-07-12 Marco Gerards <marco@gnu.org>
21235 * configure.ac (--enable-mm-debug): Fix typo.
21237 * genkernsyms.sh.in: Use proper quoting for `CC'.
21239 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
21241 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
21242 (normal_mod_ASFLAGS): Remove "-m32".
21244 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
21246 * util/misc.c: Include config.h.
21247 [!HAVE_MEMALIGN]: Do not include malloc.h.
21248 (grub_memalign): Use posix_memalign, if present. Then, use
21249 memalign, if present. Otherwise, emit an error.
21251 * util/grub-emu.c: Do not include malloc.h.
21253 * include/grub/util/misc.h: Include unistd.h. This is required for
21254 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
21255 D. Eades III <hde@foobar-qux.org>.
21257 * configure.ac (AC_GNU_SOURCE): Added.
21258 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
21261 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
21263 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
21264 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
21266 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
21268 * include/grub/types.h (grub_host_addr_t): Rename to
21269 grub_target_addr_t.
21270 (grub_host_off_t): Rename to grub_target_off_t.
21271 (grub_host_size_t): Rename to grub_target_size_t.
21272 (grub_host_ssize_t): Rename to grub_target_ssize_t.
21273 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
21275 * include/grub/kernel.h (struct grub_module_header): Change type
21276 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
21277 (grub_module_info): Likewise.
21279 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21281 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
21282 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
21283 Velazquez <jesus.velazquez@gmail.com>.
21285 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21287 Count partitions from 1 instead of 0 in the string representation
21288 of partitions. Still use 0-based internally.
21290 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
21291 (sun_partition_map_iterate): Use grub_partition_t instead of
21292 struct grub_partition *. Cast DESC->START_CYLINDER to
21293 grub_uint64_t after converting the endian.
21294 (sun_partition_map_probe): Subtract 1 for PARTNUM.
21295 (sun_partition_map_get_name): Add 1 to P->INDEX.
21297 * partmap/pc.c (grub_partition_parse): Subtract 1 for
21299 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
21301 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
21302 zero instead of one.
21303 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
21304 (gpt_partition_map_get_name): Add 1 into P->INDEX.
21306 * partmap/apple.c (apple_partition_map_iterate): Change the type
21307 of POS to unsigned.
21308 (apple_partition_map_probe): Subtract 1 for PARTNUM.
21309 (apple_partition_map_get_name): Add 1 into P->INDEX.
21311 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
21312 of POS to unsigned.
21313 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
21314 calculate the offset of a partition.
21315 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
21316 (amiga_partition_map_get_name): Add 1 into P->INDEX.
21318 * partmap/acorn.c (acorn_partition_map_find): Change the type of
21319 SECTOR to grub_disk_addr_t.
21320 (acorn_partition_map_iterate): Likewise.
21321 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
21322 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
21324 (acorn_partition_map_get_name): Add 1 into P->INDEX.
21326 * kern/i386/pc/init.c (make_install_device): Add 1 into
21327 GRUB_INSTALL_DOS_PART.
21329 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
21332 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21334 Clean up the code to support 64-bit addressing in disks and
21335 files. This change is not enough for filesystems yet.
21337 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
21338 type of "start" to grub_uint64_t.
21339 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
21340 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
21341 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
21344 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
21345 to grub_disk_addr_t.
21347 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
21350 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21352 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
21355 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
21357 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
21359 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
21361 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
21362 to grub_off_t, to detect an error from grub_file_seek.
21363 (grub_multiboot_load_elf32): Likewise.
21365 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
21366 maximum unsigned long value when an overflow is detected.
21367 (grub_strtoull): New function.
21368 (grub_divmod64): Likewise.
21369 (grub_lltoa): use grub_divmod64.
21371 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
21373 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
21374 the pointer to next character. Use grub_strtoull instead of
21376 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
21377 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
21380 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
21381 return value is signed.
21382 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
21383 test if OFFSET is less than zero, as OFFSET is unsigned now.
21385 * kern/disk.c (struct grub_disk_cache): Change the type of
21386 "sector" to grub_disk_addr_t.
21387 (grub_disk_cache_get_index): Change the type of SECTOR to
21388 grub_disk_addr_t. Calculate the hash with SECTOR casted to
21389 unsigned after shifting.
21390 (grub_disk_cache_invalidate): Change the type of SECTOR to
21392 (grub_disk_cache_unlock): Likewise.
21393 (grub_disk_cache_store): Likewise.
21394 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
21395 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
21396 grub_disk_addr_t and grub_uint64_t, respectively.
21397 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
21398 body, as the value of OFFSET is tweaked by
21399 grub_disk_check_range. Change the types of START_SECTOR, LEN and
21400 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
21402 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
21403 body, as the value of OFFSET is tweaked by
21404 grub_disk_check_range. Change the types of LEN and N to
21407 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
21408 and "saved_offset" to grub_off_t.
21409 (test_header): Cast BUF to char *.
21410 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
21412 (grub_gzio_read): Change the types of OFFSET and SIZE to
21413 grub_off_t and grub_size_t, respectively.
21415 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
21417 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
21418 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
21419 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
21420 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
21421 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
21423 * include/grub/types.h (grub_off_t): Unconditionally set to
21425 (grub_disk_addr_t): Changed to grub_uint64_t.
21427 * include/grub/partition.h (struct grub_partition): Change the
21428 types of "start", "len" and "offset" to grub_disk_addr_t,
21429 grub_uint64_t and grub_disk_addr_t, respectively.
21430 (grub_partition_get_start): Return grub_disk_addr_t.
21431 (grub_partition_get_len): Return grub_uint64_t.
21433 * include/grub/misc.h (grub_strtoull): New prototype.
21434 (grub_divmod64): Likewise.
21436 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
21437 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
21438 grub_off_t, respectively.
21439 All callers and references changed.
21441 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
21442 grub_size_t in "read".
21443 All callers and references changed.
21445 * include/grub/file.h (struct grub_file): Change the types of
21446 "offset" and "size" to grub_off_t and grub_off_t,
21447 respectively. Change the type of SECTOR to grub_disk_addr_t in
21449 (grub_file_read): Change the type of LEN to grub_size_t.
21450 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
21452 (grub_file_size): Return grub_off_t.
21453 (grub_file_tell): Likewise.
21454 All callers and references changed.
21456 * include/grub/disk.h (struct grub_disk_dev): Change the types of
21457 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
21459 (struct grub_disk): Change the type of "total_sectors" to
21460 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
21462 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
21463 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
21464 (grub_disk_write): Likewise.
21465 All callers and references changed.
21467 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
21468 char * for grub_strncmp to silence gcc.
21469 (grub_iso9660_mount): Likewise.
21470 (grub_iso9660_mount): Likewise.
21471 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
21473 (grub_iso9660_iterate_dir): Likewise.
21474 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
21476 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
21477 LEN to grub_disk_addr_t and grub_size_t, respectively.
21479 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21481 * fs/jfs.c (grub_jfs_read_file): Likewise.
21483 * fs/minix.c (grub_jfs_read_file): Likewise.
21485 * fs/sfs.c (grub_jfs_read_file): Likewise.
21487 * fs/ufs.c (grub_jfs_read_file): Likewise.
21489 * fs/xfs.c (grub_jfs_read_file): Likewise.
21491 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
21492 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
21495 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
21496 BLKNR to -1 instead of returning GRUB_ERRNO.
21497 (grub_ext2_read_file): Change the types of SECTOR and
21498 LEN to grub_disk_addr_t and grub_size_t, respectively.
21500 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
21501 LEN to grub_disk_addr_t and grub_size_t, respectively.
21503 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
21506 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
21507 string. Do not cast SECTOR explicitly.
21509 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
21510 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
21511 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
21512 grub_disk_addr_t and grub_size_t, respectively. If the sector is
21513 over 2TB and LBA mode is not supported, raise an error.
21514 (get_safe_sectors): New function.
21515 (grub_biosdisk_read): Use get_safe_sectors.
21516 (grub_biosdisk_write): Likewise.
21518 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
21519 (grub_efidisk_write): Likewise.
21521 * disk/loopback.c (delete_loopback): Cosmetic changes.
21522 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
21524 (grub_loopback_open): Likewise.
21525 (grub_loopback_read): Likewise. Also, change the type of POS to
21526 grub_off_t, and fix the usage of grub_memset.
21528 * commands/i386/pc/play.c: Include grub/machine/time.h.
21530 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
21533 * commands/configfile.c: Include grub/env.h.
21535 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
21536 GRUB_ERRNO directly instead. Change the type of POS to
21537 grub_off_t. Follow the coding standard.
21539 * commands/blocklist.c: Include grub/partition.h.
21540 (grub_cmd_blocklist): Return an error if the underlying device is
21541 not a disk. Take the starting sector of a partition into account,
21542 if a partition is used.
21544 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
21546 (lba_mode): Support 64-bit addresses.
21547 (chs_mode): Likewise.
21548 (copy_buffer): Adapted to the new offsets of a length field and a
21550 (blocklist_default_start): Allocate 64-bit space.
21552 * boot/i386/pc/boot.S (force_lba): Removed.
21553 (boot_drive): Moved to under KERNEL_SECTOR.
21554 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
21556 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
21558 (lba_mode): Refactored to support a 64-bit address. More size
21560 (setup_sectors): Likewise.
21562 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21564 * DISTLIST: Added include/grub/i386/linux.h. Removed
21565 include/grub/i386/pc/linux.h
21567 * configure.ac (AC_INIT): Bumped to 1.94.
21569 * config.guess: Updated from gnulib.
21570 * config.sub: Likewise.
21571 * install-sh: Likewise.
21572 * mkinstalldirs: Likewise.
21574 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21576 * conf/common.rmk (grub_modules_init.lst): Depended on
21577 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
21580 * genmk.rb (PModule::rule): Reverted the previous change.
21582 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21584 * conf/common.rmk (grub_modules_init.lst): Depends on
21585 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
21586 that the target does not exist before producing.
21587 (grub_modules_init.h): Remove the target before generating.
21588 (grub_emu_init.c): Likewise.
21590 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
21592 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
21594 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
21595 for the target-specific tests. Make sure that we also have the
21596 up-to-date target variables for those tests.
21598 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21600 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
21601 (PModule::rule): Likewise.
21603 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21605 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
21606 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
21607 target-specific flags should be prefixed.
21608 (PModule::rule): Likewise.
21610 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
21612 * configure.ac (CMP): Check if cmp is available explicitly.
21614 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
21616 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
21617 (target_cpu): New variable.
21618 (pkglibdir): Use target_cpu instead of host_cpu.
21620 * util/i386/pc/grub-install.in (host_cpu): Removed.
21621 (target_cpu): New variable.
21622 (pkglibdir): Use target_cpu instead of host_cpu.
21624 * util/genmoddep.c: Removed.
21626 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
21627 instead of GRUB_HOST_SIZEOF_VOID_P.
21628 * kern/dl.c: Likewise.
21630 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
21632 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21633 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21634 (GRUB_TARGET_SIZEOF_LONG): ... this.
21635 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21636 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21637 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21639 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21640 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21641 (GRUB_TARGET_SIZEOF_LONG): ... this.
21642 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21643 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21644 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21646 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21647 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21648 (GRUB_TARGET_SIZEOF_LONG): ... this.
21649 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21650 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21652 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
21653 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
21654 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
21655 instead of GRUB_HOST_SIZEOF_LONG.
21656 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
21657 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
21658 GRUB_CPU_WORDS_BIGENDIAN.
21659 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
21660 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
21663 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
21664 (genmoddep_SOURCES): Likewise.
21665 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
21666 (genmoddep_SOURCES): Likewise.
21667 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
21668 (genmoddep_SOURCES): Likewise.
21669 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
21671 (genmoddep_SOURCES): Likewise.
21673 * genmoddep.awk: New file.
21675 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
21676 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
21677 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
21678 (PModule::rule): Likewise.
21679 (Program::rule): Likewise.
21680 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
21681 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
21684 * configure.ac: Rewritten intensively to use host and target
21685 instead of build and host, respectively.
21687 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
21688 (host_cpu): Removed.
21689 (target_cpu): New variable.
21690 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
21691 (BUILD_CC): Removed.
21692 (BUILD_CFLAGS): Likewise.
21693 (BUILD_CPPFLAGS): Likewise.
21694 (TARGET_CC): New variable.
21695 (TARGET_CFLAGS): Likewise.
21696 (TARGET_CPPFLAGS): Likewise.
21697 (TARGET_LDFLAGS): Likewise.
21699 (include): Use target_cpu instead of host_cpu.
21700 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
21702 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
21704 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
21706 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
21707 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
21708 field 'false' to 'exec_on_false'.
21709 (grub_script_create_cmdif): Renamed argument names to reflect above
21712 * normal/execute.c (grub_script_execute_cmdif): Likewise.
21714 * normal/script.c (grub_script_create_cmdif): Likewise.
21716 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
21718 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
21720 (grub_hfsplus_btree_recptr): Likewise.
21721 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
21722 FILEBLOCK both to pass a block number and store next block
21724 (grub_hfsplus_read_block): Rewritten heavily to support an extent
21725 overflow file correctly. Specify errors appropriately, because
21726 fshelp expects that GRUB_ERRNO is set when fails. Reuse
21727 grub_hfsplus_btree_recptr to get the pointer to a found key.
21728 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
21731 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
21733 (_linux_mod_SOURCES): New variable.
21734 (_linux_mod_CFLAGS): Likewise.
21735 (_linux_mod_LDFLAGS): Likewise.
21736 (linux_mod_SOURCES): Likewise.
21737 (linux_mod_CFLAGS): Likewise.
21738 (linux_mod_LDFLAGS): Likewise.
21740 * DISTLIST: Added loader/i386/efi/linux.c,
21741 loader/i386/efi/linux_normal.c and
21742 include/grub/i386/efi/loader.h.
21744 * loader/i386/efi/linux.c: New file.
21745 * loader/i386/efi/linux_normal.c: Likewise.
21746 * include/grub/i386/efi/loader.h: Likewise.
21748 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
21750 * commands/blocklist.c: New file.
21752 * DISTLIST: Added commands/blocklist.c.
21754 * term/efi/console.c (grub_console_highlight_color): Use a lighter
21755 color for the background, and a darker color for the foreground.
21756 (grub_console_checkkey): Return READ_KEY.
21757 (grub_console_cls): Set the background to
21758 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
21760 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
21762 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
21763 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
21765 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
21768 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
21769 BG. The spec is wrong again.
21771 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
21773 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
21775 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21776 commands/blocklist.c.
21777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21779 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
21780 (blocklist_mod_SOURCES): New variable.
21781 (blocklist_mod_CFLAGS): Likewise.
21782 (blocklist_mod_LDFLAGS): Likewise.
21784 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
21786 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
21788 (lba_mode): Use %eax more intensively to reduce the code size.
21790 2006-05-20 Marco Gerards <marco@gnu.org>
21792 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
21794 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
21796 (script): Accept leading newlines.
21797 (newlines): New rule to describe 0 or more newlines.
21798 (commands): Accept `command' with trailing newline. Fixed the
21799 order in which arguments were passed to `grub_script_add_cmd'.
21800 Accept commands separated by newlines.
21801 (function): Changed to accept newlines.
21802 (menuentry) Rewritten.
21804 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
21805 front of the list, instead of to the end.
21807 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
21809 * util/i386/pc/grub-install.in (bindir): New variable.
21810 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
21811 Shaver <lbgwjl@gmail.com>.
21813 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
21815 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
21816 grub/machine/linux.h
21817 * loader/i386/pc/linux.c: Likewise.
21819 * include/grub/i386/pc/linux.h: Moved to ...
21820 * include/grub/i386/linux.h: ... here.
21822 * include/grub/i386/linux.h (struct linux_kernel_params): New
21825 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
21827 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
21829 (grub_video_vbe_blit_glyph): Likewise.
21830 (grub_video_vbe_blit_bitmap): Likewise.
21831 (grub_video_vbe_blit_render_target): Likewise.
21833 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
21835 * configure.ac (--with-platform): Properly quote the square
21838 2006-05-08 Marco Gerards <marco@gnu.org>
21840 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
21842 (kernel_elf_HEADERS): ...to this. Updated all users.
21843 (grubof_symlist.c): Renamed from this...
21844 (kernel_elf_symlist.c): ...to this. Updated all users.
21845 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21846 (grubof_SOURCES): Renamed from this...
21847 (kernel_elf_SOURCES): ...to this.
21848 (grubof_HEADERS): Renamed from this...
21849 (kernel_elf_HEADERS): ...to this.
21850 (grubof_CFLAGS): Renamed from this...
21851 (kernel_elf_CFLAGS): ...to this.
21852 (grubof_ASFLAGS): Renamed from this...
21853 (kernel_elf_ASFLAGS): ...to this.
21854 (grubof_LDFLAGS): Renamed from this...
21855 (kernel_elf_LDFLAGS): ...to this.
21857 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
21859 (kernel_elf_HEADERS): ...to this. Updated all users.
21860 (grubof_symlist.c): Renamed from this...
21861 (kernel_elf_symlist.c): ...to this. Updated all users.
21862 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21863 (grubof_SOURCES): Renamed from this...
21864 (kernel_elf_SOURCES): ...to this.
21865 (grubof_HEADERS): Renamed from this...
21866 (kernel_elf_HEADERS): ...to this.
21867 (grubof_CFLAGS): Renamed from this...
21868 (kernel_elf_CFLAGS): ...to this.
21869 (grubof_ASFLAGS): Renamed from this...
21870 (kernel_elf_ASFLAGS): ...to this.
21871 (grubof_LDFLAGS): Renamed from this...
21872 (kernel_elf_LDFLAGS): ...to this.
21874 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
21875 `kernel.elf' instead of `grubof'.
21877 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
21879 Add --with-platform to configure. Use pkglibdir instead of
21880 pkgdatadir. This is reported by Roger Leigh.
21882 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
21883 (host_vendor): Likewise.
21884 (host_os): Likewise.
21885 (pkgdatadir): Likewise.
21886 (platform): New variable.
21887 (pkglibdir): Likewise.
21888 Use PKGLIBDIR instead of PKGDATADIR.
21890 * util/i386/pc/grub-install.in (datadir): Removed.
21891 (host_vendor): Likewise.
21892 (host_os): Likewise.
21893 (pkgdatadir): Likewise.
21894 (platform): New variable.
21895 (pkglibdir): Likewise.
21896 Use PKGLIBDIR instead of PKGDATADIR.
21898 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
21899 instead of GRUB_DATADIR.
21901 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21903 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21906 * configure.ac (--with-platform): New option.
21907 Use PLATFORM instead of HOST_VENDOR to specify a platform.
21909 * Makefile.in: Include a makefile based on PLATFORM instead of
21911 (pkgdatadir): Not appended by the machine type.
21912 (pkglibdir): Appended by the machine type.
21913 (host_vendor): Removed.
21914 (platform): New variable.
21915 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
21916 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
21917 (uninstall): Likewise.
21919 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
21921 Use the environment context in the menu. Remove the commands
21922 "default" and "timeout", and use variables instead.
21924 * normal/menu.c: Include grub/env.h.
21925 (print_entry): Cast TITLE to silence gcc.
21926 (get_timeout): New function.
21927 (set_timeout): Likewise.
21928 (get_entry_number): Likewise.
21929 (run_menu): Use a default entry, a fallback entry and a timeout
21930 in the environment variables "default", "fallback" and
21931 "timeout". Also, tweak the default entry if it is not within the
21932 current menu entries.
21933 (grub_menu_run): Use a fallback entry in the environment variable
21936 * normal/main.c (read_config_file): Do not initialize
21937 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
21939 (grub_normal_execute): Use a data slot to store the menu.
21941 * include/grub/normal.h (struct grub_menu): Removed default_entry,
21942 fallback_entry and timeout.
21943 (struct grub_menu_list): Removed.
21944 (grub_menu_list_t): Likewise.
21945 (struct grub_context): Likewise.
21946 (grub_context_t): Likewise.
21947 (grub_context_get): Likewise.
21948 (grub_context_get_current_menu): Likewise.
21949 (grub_context_push_menu): Likewise.
21950 (grub_context_pop_menu): Likewise.
21951 (grub_default_init): Likewise.
21952 (grub_default_fini): Likewise.
21953 (grub_timeout_init): Likewise.
21954 (grub_timeout_fini): Likewise.
21956 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
21958 (normal_mod_SOURCES): Removed normal/context.c.
21960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
21961 commands/default.c, commands/timeout.c and normal/context.c.
21962 (normal_mod_SOURCES): Removed normal/context.c.
21964 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
21965 commands/timeout.c and normal/context.c.
21966 (normal_mod_SOURCES): Removed normal/context.c.
21968 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
21969 commands/default.c, commands/timeout.c and normal/context.c.
21970 (normal_mod_SOURCES): Removed normal/context.c.
21972 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
21974 (default_mod_SOURCES): Removed.
21975 (default_mod_CFLAGS): Likewise.
21976 (default_mod_LDFLAGS): Likewise.
21977 (timeout_mod_SOURCES): Removed.
21978 (timeout_mod_CFLAGS): Likewise.
21979 (timeout_mod_LDFLAGS): Likewise.
21981 * DISTLIST: Removed commands/default.c, commands/timeout.c and
21984 * commands/default.c: Removed.
21985 * commands/timeout.c: Likewise.
21986 * normal/context.c: Likewise.
21988 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
21990 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
21992 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
21994 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
21995 "next" to "prev" for readability.
21996 (struct grub_env_sorted_var): New struct.
21997 (grub_env_context): Renamed to ...
21998 (initial_context): ... this.
21999 (grub_env_var_context): Renamed to ...
22000 (current_context): ... this.
22001 (grub_env_find): Look only at CURRENT_CONTEXT.
22002 (grub_env_context_open): Rewritten to copy exported variables from
22004 (grub_env_context_close): Rewritten according to the new
22005 scheme. Also, add an assertion to prevent the initial context from
22007 (grub_env_insert): Removed the code for the sorted list.
22008 (grub_env_remove): Likewise.
22009 (grub_env_export): Simply mark the variable with
22010 GRUB_ENV_VAR_GLOBAL.
22011 (grub_env_set): A cosmetic change for naming consistency.
22012 (grub_env_get): Likewise.
22013 (grub_env_unset): Likewise.
22014 (grub_env_iterate): Rewritten to sort variables within this
22016 (grub_register_variable_hook): Fixed for naming consistency. Call
22017 grub_env_find again, only if NAME is not found at the first time.
22018 (mangle_data_slot_name): New function.
22019 (grub_env_set_data_slot): Likewise.
22020 (grub_env_get_data_slot): Likewise.
22021 (grub_env_unset_data_slot): Likewise.
22023 * include/grub/env.h (grub_env_var_type): New enum.
22024 (GRUB_ENV_VAR_LOCAL): New constant.
22025 (GRUB_ENV_VAR_GLOBAL): Likewise.
22026 (GRUB_ENV_VAR_DATA): Likewise.
22027 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22029 (grub_env_set): Replace VAR with NAME for consistency.
22030 (grub_register_variable_hook): Likewise.
22031 (grub_env_export): Specify the name of the argument.
22032 (grub_env_set_data_slot): New prototype.
22033 (grub_env_get_data_slot): Likewise.
22034 (grub_env_unset_data_slot): Likewise.
22036 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22038 Extend the loader so that GRUB can accept a loader which comes
22039 back to GRUB when a loaded image exits. Also, this change adds
22040 support for a chainloader on EFI.
22042 * term/efi/console.c: Include grub/misc.h.
22043 (grub_console_checkkey): Display a scan code on the top for
22044 debugging. This will be removed once the EFI port gets stable.
22045 Correct the scan code mapping.
22047 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22048 allocate memory from larger regions, in order to reduce the number
22049 of allocated regions. Otherwise, the MacOSX loader panics.
22050 (filter_memory_map): Avoid less than 1MB for compatibility with
22052 (add_memory_regions): Allocate from the tail of a region, if
22053 possible, to avoid allocating a region near to 1MB, for the MacOSX
22056 * kern/efi/init.c (grub_efi_set_prefix): Specify
22057 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22059 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22060 argument IMAGE_HANDLE and specify it to get a loaded image.
22061 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22062 grub_efi_get_loaded_image.
22063 (grub_efi_get_filename): Divide the length by the size of
22065 (grub_efi_get_device_path): New function.
22066 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22067 the length by the size of grub_efi_char16_t for a file path device
22070 * kern/loader.c (grub_loader_noreturn): New variable.
22071 (grub_loader_set): Accept a new argument NORETURN. Set
22072 GRUB_LOADER_NORETURN to NORETURN.
22073 All callers changed.
22074 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22077 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22079 (grub_efi_get_loaded_image): Take an argument to specify an image
22082 * include/grub/loader.h (grub_loader_set): Added one more argument
22085 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22086 instead of grub_efi_open_protocol.
22087 (grub_efidisk_get_device_name): Likewise.
22088 (grub_efidisk_close): Print a newline.
22089 (grub_efidisk_get_device_handle): Fixed to use
22090 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22091 GRUB_EFI_DEVICE_PATH_TYPE.
22093 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22094 * kern/efi/efi.c (device_path_guid): ... here.
22096 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22098 (kernel_mod_HEADERS): Added efi/disk.h.
22099 (_chain_mod_SOURCES): New variable.
22100 (_chain_mod_CFLAGS): Likewise.
22101 (_chain_mod_LDFLAGS): Likewise.
22102 (chain_mod_SOURCES): Likewise.
22103 (chain_mod_CFLAGS): Likewise.
22104 (chain_mod_LDFLAGS): Likewise.
22106 * DISTLIST: Added include/grub/efi/chainloader.h,
22107 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22109 * include/grub/efi/chainloader.h: New file.
22110 * loader/efi/chainloader.c: Likewise.
22111 * loader/efi/chainloader_normal.c: Likewise.
22113 2006-04-30 Marco Gerards <marco@gnu.org>
22115 * commands/configfile.c (grub_cmd_source): New function.
22116 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22117 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22119 2006-04-30 Marco Gerards <marco@gnu.org>
22121 * normal/execute.c (grub_script_execute_cmd): Change the return
22122 type to `grub_err_t'. Correctly return the error.
22123 (grub_script_execute_cmdline): In case a command line is not a
22124 command or a function, try to interpret it as an assignment.
22126 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22128 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22129 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22130 skip a node whose name is obviously invalid as UTF-16,
22131 i.e. contains a NUL character. Stop the iteration when the last
22132 directory entry is found. Instead of using the return value of
22133 grub_hfsplus_btree_iterate_node, store the value in RET and use
22134 it, because the iterator can be stopped by the last directory
22137 2006-04-30 Marco Gerards <marco@gnu.org>
22139 * include/grub/env.h (grub_env_export): New prototype. Reported
22140 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22142 2006-04-30 Marco Gerards <marco@gnu.org>
22144 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22145 size of the extents in a catalog file record.
22147 2006-04-29 Marco Gerards <marco@gnu.org>
22149 * commands/configfile.c (grub_cmd_configfile): Execute the
22150 configfile within its own context.
22152 * include/grub/env.h (grub_env_context_open): New prototype.
22153 (grub_env_context_close): Likewise.
22155 * kern/env.c (grub_env): Removed.
22156 (grub_env_sorted): Likewise.
22157 (grub_env_context): New variable.
22158 (grub_env_var_context): Likewise.
22159 (grub_env_find): Search both the active context and the global
22161 (grub_env_context_open): New function.
22162 (grub_env_context_close): Likewise.
22163 (grub_env_insert): Likewise.
22164 (grub_env_remove): Likewise.
22165 (grub_env_export): Likewise.
22166 (grub_env_set): Changed to use helper functions to avoid code
22168 (grub_env_iterate): Rewritten so both the current context and the
22169 global context are being used.
22171 * normal/command.c (export_command): New function.
22172 (grub_command_init): Register the `export' function.
22174 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22176 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22177 explicitly to suppress gcc's warnings.
22178 * fs/fat.c (grub_fat_find_dir): Likewise.
22179 (grub_fat_label): Likewise.
22180 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22181 (grub_xfs_mount): Likewise.
22182 (grub_xfs_label): Likewise.
22183 * fs/affs.c (grub_affs_mount): Likewise.
22184 (grub_affs_label): Likewise.
22185 (grub_affs_iterate_dir): Likewise.
22186 * fs/sfs.c (grub_sfs_mount): Likewise.
22187 (grub_sfs_iterate_dir): Likewise.
22188 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22189 * fs/hfs.c (grub_hfs_mount): Likewise.
22190 (grub_hfs_cmp_catkeys): Likewise.
22191 (grub_hfs_find_dir): Likewise.
22192 (grub_hfs_dir): Likewise.
22193 (grub_hfs_label): Likewise.
22194 * fs/jfs.c (grub_jfs_mount): Likewise.
22195 (grub_jfs_opendir): Likewise.
22196 (grub_jfs_getent): Likewise.
22197 (grub_jfs_lookup_symlink): Likewise.
22198 (grub_jfs_label): Likewise.
22199 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22200 (grub_hfsplus_iterate_dir): Likewise.
22201 (grub_hfsplus_btree_iterate_node): Made static.
22203 * util/grub-emu.c (prefix): New variable.
22204 (grub_machine_set_prefix): New function.
22205 (main): Do not set the environment variable "prefix" here. Only
22206 set PREFIX, which is used later by grub_machine_set_prefix.
22208 * include/grub/video.h: Do not include grub/symbol.h.
22209 (grub_video_register): Not exported. This symbol is not defined in
22211 (grub_video_unregister): Likewise.
22212 (grub_video_iterate): Likewise.
22213 (grub_video_setup): Likewise.
22214 (grub_video_restore): Likewise.
22215 (grub_video_get_info): Likewise.
22216 (grub_video_get_blit_format): Likewise.
22217 (grub_video_set_palette): Likewise.
22218 (grub_video_get_palette): Likewise.
22219 (grub_video_set_viewport): Likewise.
22220 (grub_video_get_viewport): Likewise.
22221 (grub_video_map_color): Likewise.
22222 (grub_video_map_rgb): Likewise.
22223 (grub_video_map_rgba): Likewise.
22224 (grub_video_fill_rect): Likewise.
22225 (grub_video_blit_glyph): Likewise.
22226 (grub_video_blit_bitmap): Likewise.
22227 (grub_video_blit_render_target): Likewise.
22228 (grub_video_scroll): Likewise.
22229 (grub_video_swap_buffers): Likewise.
22230 (grub_video_create_render_target): Likewise.
22231 (grub_video_delete_render_target): Likewise.
22232 (grub_video_set_active_render_target): Likewise.
22234 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22236 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22238 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
22239 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22240 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22241 instead of $(srcdir)/genkernsyms.sh.
22243 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
22244 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22245 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22246 instead of $(srcdir)/genkernsyms.sh.
22248 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
22249 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22250 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22251 instead of $(srcdir)/genkernsyms.sh.
22253 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
22254 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22255 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22256 instead of $(srcdir)/genkernsyms.sh.
22258 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
22261 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
22263 (gensymlist.sh): New target.
22264 (genkernsyms.sh): Likewise.
22266 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
22267 genkernsyms.sh.in and gensymlist.sh.in.
22269 * genkernsyms.sh: Removed.
22270 * gensymlist.sh: Likewise.
22272 * genkernsyms.sh.in: New file.
22273 * gensymlist.sh.in: Likewise.
22275 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22277 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
22278 clobber "prefix", since we may have already set it manually.
22280 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22282 * kern/misc.c (abort): New alias for grub_abort.
22284 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
22286 A new machine-specific function "grub_machine_set_prefix" is
22287 defined. This is called after loading modules, so that a prefix
22288 initialization can use modules. Also, this change adds an
22289 intensive debugging feature for the memory manager via the
22290 configure option "--enable-mm-debug".
22292 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
22295 * kern/sparc64/ieee1275/init.c (abort): Removed.
22296 (grub_stop): Likewise.
22297 (grub_exit): New function.
22298 (grub_set_prefix): Renamed to ...
22299 (grub_machine_set_prefix): ... this.
22300 (grub_machine_init): Do not call grub_set_prefix.
22302 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
22303 (grub_machine_set_prefix): ... this.
22304 (grub_machine_init): Do not call grub_set_prefix.
22306 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
22307 (grub_machine_init): Do not set the prefix here.
22309 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
22311 * kern/efi/init.c: Include grub/mm.h.
22312 (grub_efi_set_prefix): New function.
22314 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
22315 (grub_efi_get_filename): New function.
22316 (grub_print_device_path): Renamed to ...
22317 (grub_efi_print_device_path): ... this.
22319 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
22320 [MM_DEBUG] (grub_realloc): Likewise.
22321 [MM_DEBUG] (grub_free): Likewise.
22322 [MM_DEBUG] (grub_memalign): Likewise.
22323 [MM_DEBUG] (grub_mm_debug): New variable.
22324 [MM_DEBUG] (grub_debug_malloc): New function.
22325 [MM_DEBUG] (grub_debug_free): New function.
22326 [MM_DEBUG] (grub_debug_realloc): New function.
22327 [MM_DEBUG] (grub_debug_memalign): New function.
22329 * kern/misc.c (grub_abort): Print a newline to distinguish
22332 * kern/main.c (grub_main): Call grub_machine_set_prefix and
22333 grub_set_root_dev after loading modules. This is necessary when
22334 setting a prefix depends on modules.
22336 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
22337 (grub_efi_print_device_path): ... this.
22338 (grub_efi_get_filename): New prototype.
22339 (grub_efi_set_prefix): Likewise.
22341 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
22343 (grub_efidisk_get_device_handle): New prototype.
22344 (grub_efidisk_get_device_name): Likewise.
22346 * include/grub/mm.h: Include config.h.
22347 (MM_DEBUG): Removed.
22348 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
22349 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
22350 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
22351 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
22352 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
22353 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
22354 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
22355 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
22356 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
22358 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
22360 * disk/efi/efidisk.c: Include grub/partition.h.
22361 (iterate_child_devices): New function.
22362 (add_device): First, compare only last device path nodes, so that
22363 devices are sorted by the types.
22364 (grub_efidisk_get_device_handle): New function.
22365 (grub_efidisk_get_device_name): Likewise.
22367 * configure.ac (--enable-mm-debug): New option to enable the
22368 memory manager debugging feature. This makes the binary much
22369 bigger, so is disabled by default.
22371 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
22373 Use grub_abort instead of grub_stop, and grub_exit must be
22374 define in each architecture now. Also, this change adds support
22377 * util/i386/pc/grub-probefs.c: Include grub/term.h.
22378 (grub_getkey): New function.
22379 (grub_term_get_current): Likewise.
22381 * util/i386/pc/grub-setup.c: Include grub/term.h.
22382 (grub_getkey): New function.
22383 (grub_term_get_current): Likewise.
22385 * util/misc.c (grub_stop): Renamed to ...
22386 (grub_exit): ... this.
22388 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
22389 (grub_exit): ... this.
22390 (grub_machine_init): Use grub_abort instead of abort.
22391 (grub_stop): Removed.
22393 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
22396 * kern/i386/pc/startup.S (grub_exit): New function.
22397 (cold_reboot): New label.
22399 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
22400 (grub_efi_init): Call grub_efidisk_init.
22401 (grub_efi_fini): Call grub_efidisk_fini.
22403 * kern/efi/efi.c: Include grub/mm.h.
22404 (grub_efi_console_control_guid): Renamed to ...
22405 (console_control_guid): ... this.
22406 (grub_efi_loaded_image_guid): Renamed to ...
22407 (loaded_image_guid): ... this.
22408 (grub_efi_locate_handle): New function.
22409 (grub_efi_open_protocol): Likewise.
22410 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
22411 GRUB_EFI_CONSOLE_CONTROL_GUID.
22412 (grub_efi_exit): Removed.
22413 (grub_stop): Likewise.
22414 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
22415 (grub_exit): New function.
22416 (grub_print_device_path): Likewise.
22418 * kern/rescue.c (grub_rescue_cmd_exit): New function.
22419 (grub_enter_rescue_mode): Register "exit".
22421 * kern/misc.c (grub_real_dprintf): A cosmetic change.
22422 (grub_abort): New function.
22424 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
22426 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
22428 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
22430 * include/grub/efi/efi.h (grub_efi_exit): Removed.
22431 (grub_print_device_path): New prototype.
22432 (grub_efi_locate_handle): Likewise.
22433 (grub_efi_open_protocol): Likewise.
22435 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
22436 * disk/efi/efidisk.c: Likewise.
22438 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
22440 * include/grub/efi/console_control.h
22441 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
22443 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
22444 last 8 bytes as an array.
22445 (GRUB_EFI_DISK_IO_GUID): New macro.
22446 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
22447 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
22448 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
22450 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
22451 (struct grub_efi_device_path): Rename the member "sub_type" to
22453 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
22454 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
22455 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
22456 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
22457 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
22458 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
22459 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
22460 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
22461 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
22462 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
22463 (struct grub_efi_pci_device_path): New structure.
22464 (grub_efi_pci_device_path_t): New type.
22465 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
22466 (struct grub_efi_pccard_device_path): New structure.
22467 (grub_efi_pccard_device_path_t): New type.
22468 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
22469 (struct grub_efi_memory_mapped_device_path): New structure.
22470 (grub_efi_memory_mapped_device_path_t): New type.
22471 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
22472 (struct grub_efi_vendor_device_path): New structure.
22473 (grub_efi_vendor_device_path_t): New type.
22474 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
22475 (struct grub_efi_controller_device_path): New structure.
22476 (grub_efi_controller_device_path_t): New type.
22477 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
22478 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
22479 (struct grub_efi_acpi_device_path): New structure.
22480 (grub_efi_acpi_device_path_t): New type.
22481 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
22482 (struct grub_efi_expanded_acpi_device_path): New structure.
22483 (grub_efi_expanded_acpi_device_path_t): New type.
22484 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
22485 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
22486 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
22487 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
22488 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
22489 (struct grub_efi_atapi_device_path): New structure.
22490 (grub_efi_atapi_device_path_t): New type.
22491 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
22492 (struct grub_efi_fibre_channel_device_path): New structure.
22493 (grub_efi_fibre_channel_device_path_t): New type.
22494 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
22495 (struct grub_efi_1394_device_path): New structure.
22496 (grub_efi_1394_device_path_t): New type.
22497 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
22498 (struct grub_efi_usb_device_path): New structure.
22499 (grub_efi_usb_device_path_t): New type.
22500 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
22501 (struct grub_efi_usb_class_device_path): New structure.
22502 (grub_efi_usb_class_device_path_t): New type.
22503 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
22504 (struct grub_efi_i2o_device_path): New structure.
22505 (grub_efi_i2o_device_path_t): New type.
22506 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
22507 (struct grub_efi_mac_address_device_path): New structure.
22508 (grub_efi_mac_address_device_path_t): New type.
22509 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
22510 (struct grub_efi_ipv4_device_path): New structure.
22511 (grub_efi_ipv4_device_path_t): New type.
22512 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
22513 (struct grub_efi_ipv6_device_path): New structure.
22514 (grub_efi_ipv6_device_path_t): New type.
22515 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
22516 (struct grub_efi_infiniband_device_path): New structure.
22517 (grub_efi_infiniband_device_path_t): New type.
22518 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
22519 (struct grub_efi_uart_device_path): New structure.
22520 (grub_efi_uart_device_path_t): New type.
22521 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
22522 (struct grub_efi_vendor_messaging_device_path): New structure.
22523 (grub_efi_vendor_messaging_device_path_t): New type.
22524 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
22525 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
22526 (struct grub_efi_hard_drive_device_path): New structure.
22527 (grub_efi_hard_drive_device_path_t): New type.
22528 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
22529 (struct grub_efi_cdrom_device_path): New structure.
22530 (grub_efi_cdrom_device_path_t): New type.
22531 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
22532 (struct grub_efi_vendor_media_device_path): New structure.
22533 (grub_efi_vendor_media_device_path_t): New type.
22534 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
22535 (struct grub_efi_file_path_device_path): New structure.
22536 (grub_efi_file_path_device_path_t): New type.
22537 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
22538 (struct grub_efi_protocol_device_path): New structure.
22539 (grub_efi_protocol_device_path_t): New type.
22540 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
22541 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
22542 (struct grub_efi_bios_device_path): New structure.
22543 (grub_efi_bios_device_path_t): New type.
22544 (struct grub_efi_disk_io): New structure.
22545 (grub_efi_disk_io_t): New type.
22546 (struct grub_efi_block_io_media): New structure.
22547 (grub_efi_block_io_media_t): New type.
22548 (struct grub_efi_block_io): New structure.
22549 (grub_efi_block_io_t): New type.
22551 * include/grub/misc.h (grub_stop): Removed.
22552 (grub_exit): New prototype.
22553 (grub_abort): Likewise.
22555 * include/grub/disk.h (enum grub_disk_dev_id): Added
22556 GRUB_DISK_DEVICE_EFIDISK_ID.
22558 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
22559 disk/efi/efidisk.c.
22560 (kernel_syms.lst): Remove the target if an error occurs.
22562 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
22564 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
22565 as it was simply too buggy.
22567 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
22569 * kern/misc.c (grub_lltoa): New function.
22570 (grub_vsprintf): Added support for the long long suffix,
22573 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
22575 * Makefile.in (LDFLAGS): Add variable.
22576 (LD): Remove variable.
22577 * configure.ac: Add -m32 to LDFLAGS.
22578 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
22579 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
22580 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
22581 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
22582 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
22584 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
22585 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
22586 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
22588 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
22590 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
22591 length for unknown glyph.
22593 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22595 Add support for pre-loaded modules into the EFI port.
22597 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
22598 completely. Accept one more argument DIR. The caller has changed.
22600 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
22602 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
22603 (grub_efi_loaded_image_guid): New variable.
22604 (grub_efi_get_loaded_image): New function.
22605 (grub_arch_modules_addr): Likewise.
22607 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
22610 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
22611 (struct grub_efi_loaded_image): New structure.
22612 (grub_efi_loaded_image_t): New type.
22614 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22616 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
22617 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
22618 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
22620 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
22622 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
22624 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
22626 * DISTLIST: Added include/grub/efi/console.h,
22627 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
22628 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22630 * include/grub/efi/console.h: New file.
22631 * include/grub/efi/time.h: Likewise.
22632 * include/grub/i386/efi/kernel.h: Likewise.
22633 * kern/efi/init.c: Likewise.
22634 * kern/efi/mm.c: Likewise.
22635 * term/efi/console.c: Likewise.
22637 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
22638 (grub_stop): Removed.
22639 (grub_get_rtc): Likewise.
22640 (grub_machine_init): Simply call grub_efi_init.
22641 (grub_machine_fini): Call grub_efi_fini.
22643 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
22644 (grub_efi_output_string): Removed.
22645 (grub_efi_stall): New function.
22646 (grub_stop): Likewise.
22647 (grub_get_rtc): Likewise.
22649 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
22650 (grub_efi_stall): New prototype.
22651 (grub_efi_allocate_pages): Likewise.
22652 (grub_efi_free_pages): Likewise.
22653 (grub_efi_get_memory_map): Likewise.
22654 (grub_efi_mm_init): Likewise.
22655 (grub_efi_mm_fini): Likewise.
22656 (grub_efi_init): Likewise.
22657 (grub_efi_fini): Likewise.
22659 * include/grub/i386/efi/time.h: Do not include
22660 grub/symbol.h. Include grub/efi/time.h.
22661 (GRUB_TICKS_PER_SECOND): Removed.
22662 (grub_get_rtc): Likewise.
22664 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
22665 Added padding. The EFI spec is buggy.
22666 (GRUB_EFI_BLACK): New macro.
22667 (GRUB_EFI_BLUE): Likewise.
22668 (GRUB_EFI_GREEN): Likewise.
22669 (GRUB_EFI_CYAN): Likewise.
22670 (GRUB_EFI_RED): Likewise.
22671 (GRUB_EFI_MAGENTA): Likewise.
22672 (GRUB_EFI_BROWN): Likewise.
22673 (GRUB_EFI_LIGHTGRAY): Likewise.
22674 (GRUB_EFI_BRIGHT): Likewise.
22675 (GRUB_EFI_DARKGRAY): Likewise.
22676 (GRUB_EFI_LIGHTBLUE): Likewise.
22677 (GRUB_EFI_LIGHTGREEN): Likewise.
22678 (GRUB_EFI_LIGHTCYAN): Likewise.
22679 (GRUB_EFI_LIGHTRED): Likewise.
22680 (GRUB_EFI_LIGHTMAGENTA): Likewise.
22681 (GRUB_EFI_YELLOW): Likewise.
22682 (GRUB_EFI_WHITE): Likewise.
22683 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
22684 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
22685 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
22686 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
22687 (GRUB_EFI_BACKGROUND_RED): Likewise.
22688 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
22689 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
22690 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
22691 (GRUB_EFI_TEXT_ATTR): Likewise.
22693 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
22694 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22695 (kernel_mod_HEADERS): Added efi/time.h.
22697 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
22699 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
22700 include/grub/efi/api.h, include/grub/efi/console_control.h,
22701 include/grub/efi/efi.h, include/grub/efi/pe32.h,
22702 include/grub/i386/efi/time.h, kern/efi/efi.c,
22703 kern/i386/efi/init.c, kern/i386/efi/startup.S,
22704 and util/i386/efi/grub-mkimage.c.
22706 * Makefile.in (RMKFILES): Added i386-efi.rmk.
22708 * genmk.rb (PModule#rule): Do not export symbols if
22709 #{prefix}_EXPORTS is set to "no".
22711 * conf/i386-efi.mk: New file.
22712 * conf/i386-efi.rmk: Likewise.
22713 * include/grub/efi/api.h: Likewise.
22714 * include/grub/efi/console_control.h: Likewise.
22715 * include/grub/efi/efi.h: Likewise.
22716 * include/grub/efi/pe32.h: Likewise.
22717 * include/grub/i386/efi/time.h: Likewise.
22718 * kern/efi/efi.c: Likewise.
22719 * kern/i386/efi/init.c: Likewise.
22720 * kern/i386/efi/startup.S: Likewise.
22721 * util/i386/efi/grub-mkimage.c: Likewise.
22723 2006-04-17 Marco Gerards <marco@gnu.org>
22725 * include/grub/script.h: Include <grub/parser.h> and
22726 "grub_script.tab.h".
22727 (struct grub_lexer_param): New struct.
22728 (struct grub_parser_param): Likewise.
22729 (grub_script_create_arglist): Pass the state in an argument.
22730 (grub_script_add_arglist): Likewise.
22731 (grub_script_create_cmdline): Likewise.
22732 (grub_script_create_cmdblock): Likewise.
22733 (grub_script_create_cmdif): Likewise.
22734 (grub_script_create_cmdmenu): Likewise.
22735 (grub_script_add_cmd): Likewise.
22736 (grub_script_arg_add): Likewise.
22737 (grub_script_lexer_ref): Likewise.
22738 (grub_script_lexer_deref): Likewise.
22739 (grub_script_lexer_record_start): Likewise.
22740 (grub_script_lexer_record_stop): Likewise.
22741 (grub_script_mem_record): Likewise.
22742 (grub_script_mem_record_stop): Likewise.
22743 (grub_script_malloc): Likewise.
22744 (grub_script_yylex): Likewise.
22745 (grub_script_yyparse): Likewise.
22746 (grub_script_yyerror): Likewise.
22747 (grub_script_yylex): Likewise.
22748 (grub_script_lexer_init): Return the state.
22750 * normal/lexer.c (grub_script_lexer_state): Removed variable.
22751 (grub_script_lexer_done): Likewise.
22752 (grub_script_lexer_getline): Likewise.
22753 (grub_script_lexer_refs): Likewise.
22754 (script): Likewise.
22755 (newscript): Likewise.
22756 (record): Likewise.
22757 (recording): Likewise.
22758 (recordpos): Likewise.
22759 (recordlen): Likewise.
22760 (grub_script_lexer_init): Return the state instead of setting
22762 (grub_script_lexer_ref): Use the newly added argument for state
22763 instead of globals.
22764 (grub_script_lexer_deref): Likewise.
22765 (grub_script_lexer_record_start): Likewise.
22766 (grub_script_lexer_record_stop): Likewise.
22767 (recordchar): Likewise.
22768 (nextchar): Likewise.
22769 (grub_script_yylex2): Likewise.
22770 (grub_script_yylex): Likewise.
22771 (grub_script_yyerror): Likewise.
22773 * normal/parser.y (func_mem): Removed variable.
22774 (menu_entry): Likewise.
22776 (%lex-param): New parser option.
22777 (%parse-param): Likewise.
22778 (script): Always return the AST.
22779 (argument): Pass the state around.
22780 (arguments): Likewise.
22781 (grubcmd): Likewise.
22782 (commands): Likewise.
22783 (function): Likewise.
22784 (menuentry): Likewise.
22785 (if_statement): Likewise.
22788 * normal/script.c (grub_script_memused): Removed variable.
22789 (grub_script_parsed): Likewise.
22790 (grub_script_malloc): Added a state argument. Use that instead of
22792 (grub_script_mem_record): Likewise.
22793 (grub_script_mem_record_stop): Likewise.
22794 (grub_script_arg_add): Likewise.
22795 (grub_script_add_arglist): Likewise.
22796 (grub_script_create_cmdline): Likewise.
22797 (grub_script_create_cmdif): Likewise.
22798 (grub_script_create_cmdmenu): Likewise.
22799 (grub_script_add_cmd): Likewise.
22800 (grub_script_parse): Setup the state before calling the parser.
22802 2006-04-16 Marco Gerards <marco@gnu.org>
22804 * normal/command.c (grub_command_init): Remove the title command.
22806 * normal/lexer.c (grub_script_yylex): Renamed from this...
22807 (grub_script_yylex2): ... to this.
22808 (grub_script_yylex): New function. Temporary
22809 introduced to filter some tokens.
22810 (grub_script_yyerror): Print a newline.
22812 * normal/main.c (read_config_file): Output information about the
22813 lines that contain errors. Wait for a key after all lines have
22814 been processed. Don't return an empty menu.
22816 * normal/parser.y (func_mem): Don't initialize.
22817 (menu_entry): Likewise.
22818 (err): New variable.
22819 (script): Don't return anything when an error was encountered.
22820 (ws, returns): Removed rules.
22821 (argument): Disabled concatenated variable support.
22822 (arguments): Remove explicit separators.
22823 (grubcmd): Likewise.
22824 (function): Likewise.
22825 (menuentry): Likewise.
22827 (commands): Likewise. Add error handling.
22829 * normal/script.c (grub_script_create_cmdline): If
22830 `grub_script_parsed' is 0, assume the parser encountered an error.
22832 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
22834 * configure.ac: Add support for EFI. Fix the typo
22835 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
22837 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22839 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
22840 foreign multibyte characters should be shown correctly.
22842 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22844 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
22846 (read_config_file): Made it to close file before returning.
22848 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
22850 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
22851 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
22852 video/i386/pc/vbefill.c.
22854 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
22855 video/i386/pc/vbefill.c.
22857 * include/grub/video.h (grub_video_blit_format): New enum.
22858 (grub_video_mode_info): Added new member blit_format.
22859 (grub_video_get_blit_format): New function prototype.
22861 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
22862 function prototype.
22863 (grub_video_vbe_map_rgb): Likewise.
22864 (grub_video_vbe_unmap_color): Likewise.
22866 * include/grub/i386/pc/vbeblit.h: New file.
22868 * include/grub/i386/pc/vbefill.h: New file.
22870 * video/video.c (grub_video_get_blit_format): New function.
22871 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
22872 (grub_video_vbe_map_rgb): Likewise.
22873 (grub_video_vbe_unmap_color): Likewise.
22875 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
22877 (grub_video_vbe_blit_render_target): Changed to use more optimized
22879 (grub_video_vbe_setup): Added detection for optimized settings.
22880 (grub_video_vbe_create_render_target): Likewise.
22882 * video/i386/pc/vbeblit.c: New file.
22884 * video/i386/pc/vbefill.c: New file.
22886 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
22888 * font/manager.c (grub_font_get_glyph): Removed font fixup from
22891 * util/unifont2pff.rb: ... and moved it to here. Improved argument
22892 parsing to support both hex and dec ranges. If filename was missing
22893 show usage information.
22895 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
22897 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
22898 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
22900 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
22901 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
22902 (video_mod_SOURCES): Added.
22903 (video_mod_CFLAGS): Likewise.
22904 (video_mod_LDFLAGS): Likewise.
22905 (gfxterm_mod_SOURCES): Likewise.
22906 (gfxterm_mod_CFLAGS): Likewise.
22907 (gfxterm_mod_LDFLAGS): Likewise.
22908 (videotest_mod_SOURCES): Likewise.
22909 (videotest_mod_CFLAGS): Likewise.
22910 (videotest_mod_LDFLAGS): Likewise.
22911 (vesafb_mod_SOURCES): Removed.
22912 (vesafb_mod_CFLAGS): Likewise.
22913 (vesafb_mod_LDFLAGS): Likewise.
22914 (vga_mod_SOURCES): Likewise.
22915 (vga_mod_CFLAGS): Likewise.
22916 (vga_mod_LDFLAGS): Likewise.
22918 * commands/videotest.c: New file.
22920 * font/manager.c (fill_with_default_glyph): Modified to use
22922 (grub_font_get_glyph): Likewise.
22923 (fontmanager): Renamed from this...
22924 (font_manager): ... to this.
22926 * include/grub/font.h (grub_font_glyph): Added new structure.
22927 (grub_font_get_glyph): Modified to use grub_font_glyph.
22929 * include/grub/misc.h (grub_abs): Added as inline function.
22931 * include/grub/video.h: New file.
22933 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
22934 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
22935 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
22936 (grub_vbe_get_controller_info): Renamed from this...
22937 (grub_vbe_bios_get_controller_info): ... to this.
22938 (grub_vbe_get_mode_info): Renamed from this...
22939 (grub_vbe_bios_get_mode_info): ... to this.
22940 (grub_vbe_set_mode): Renamed from this...
22941 (grub_vbe_bios_set_mode): ... to this.
22942 (grub_vbe_get_mode): Renamed from this...
22943 (grub_vbe_bios_get_mode): ... to this.
22944 (grub_vbe_set_memory_window): Renamed from this...
22945 (grub_vbe_bios_set_memory_window): ... to this.
22946 (grub_vbe_get_memory_window): Renamed from this...
22947 (grub_vbe_bios_get_memory_window): ... to this.
22948 (grub_vbe_set_scanline_length): Renamed from this...
22949 (grub_vbe_set_scanline_length): ... to this.
22950 (grub_vbe_get_scanline_length): Renamed from this...
22951 (grub_vbe_bios_get_scanline_length): ... to this.
22952 (grub_vbe_set_display_start): Renamed from this...
22953 (grub_vbe_bios_set_display_start): ... to this.
22954 (grub_vbe_get_display_start): Renamed from this...
22955 (grub_vbe_bios_get_display_start): ... to this.
22956 (grub_vbe_set_palette_data): Renamed from this...
22957 (grub_vbe_bios_set_palette_data): ... to this.
22958 (grub_vbe_set_pixel_rgb): Removed.
22959 (grub_vbe_set_pixel_index): Likewise.
22961 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
22963 (grub_vbe_bios_get_controller_info): ... to this.
22964 (grub_vbe_get_mode_info): Renamed from this...
22965 (grub_vbe_bios_get_mode_info): ... to this.
22966 (grub_vbe_set_mode): Renamed from this...
22967 (grub_vbe_bios_set_mode): ... to this.
22968 (grub_vbe_get_mode): Renamed from this...
22969 (grub_vbe_bios_get_mode): ... to this.
22970 (grub_vbe_set_memory_window): Renamed from this...
22971 (grub_vbe_bios_set_memory_window): ... to this.
22972 (grub_vbe_get_memory_window): Renamed from this...
22973 (grub_vbe_bios_get_memory_window): ... to this.
22974 (grub_vbe_set_scanline_length): Renamed from this...
22975 (grub_vbe_set_scanline_length): ... to this.
22976 (grub_vbe_get_scanline_length): Renamed from this...
22977 (grub_vbe_bios_get_scanline_length): ... to this.
22978 (grub_vbe_set_display_start): Renamed from this...
22979 (grub_vbe_bios_set_display_start): ... to this.
22980 (grub_vbe_get_display_start): Renamed from this...
22981 (grub_vbe_bios_get_display_start): ... to this.
22982 (grub_vbe_set_palette_data): Renamed from this...
22983 (grub_vbe_bios_set_palette_data): ... to this.
22984 (grub_vbe_bios_get_controller_info): Fixed problem with registers
22985 getting corrupted after calling it. Added more pushes and pops.
22986 (grub_vbe_bios_set_mode): Likewise.
22987 (grub_vbe_bios_get_mode): Likewise.
22988 (grub_vbe_bios_get_memory_window): Likewise.
22989 (grub_vbe_bios_set_scanline_length): Likewise.
22990 (grub_vbe_bios_get_scanline_length): Likewise.
22991 (grub_vbe_bios_get_display_start): Likewise.
22992 (grub_vbe_bios_set_palette_data): Likewise.
22994 * normal/cmdline.c (cl_set_pos): Refresh the screen.
22995 (cl_insert): Likewise.
22996 (cl_delete): Likewise.
22998 * term/gfxterm.c: New file.
23000 * term/i386/pc/vesafb.c: Removed file.
23002 * video/video.c: New file.
23004 * video/i386/pc/vbe.c (real2pm): Added new function.
23005 (grub_video_vbe_draw_pixel): Likewise.
23006 (grub_video_vbe_get_video_ptr): Likewise.
23007 (grub_video_vbe_get_pixel): Likewise
23008 (grub_video_vbe_init): Likewise.
23009 (grub_video_vbe_fini): Likewise.
23010 (grub_video_vbe_setup): Likewise.
23011 (grub_video_vbe_get_info): Likewise.
23012 (grub_video_vbe_set_palette): Likewise.
23013 (grub_video_vbe_get_palette): Likewise.
23014 (grub_video_vbe_set_viewport): Likewise.
23015 (grub_video_vbe_get_viewport): Likewise.
23016 (grub_video_vbe_map_color): Likewise.
23017 (grub_video_vbe_map_rgb): Likewise.
23018 (grub_video_vbe_map_rgba): Likewise.
23019 (grub_video_vbe_unmap_color): Likewise.
23020 (grub_video_vbe_fill_rect): Likewise.
23021 (grub_video_vbe_blit_glyph): Likewise.
23022 (grub_video_vbe_blit_bitmap): Likewise.
23023 (grub_video_vbe_blit_render_target): Likewise.
23024 (grub_video_vbe_scroll): Likewise.
23025 (grub_video_vbe_swap_buffers): Likewise.
23026 (grub_video_vbe_create_render_target): Likewise.
23027 (grub_video_vbe_delete_render_target): Likewise.
23028 (grub_video_vbe_set_active_render_target): Likewise.
23029 (grub_vbe_set_pixel_rgb): Remove function.
23030 (grub_vbe_set_pixel_index): Likewise.
23031 (index_color_mode): Remove static variable.
23032 (active_mode): Likewise.
23033 (framebuffer): Likewise.
23034 (bytes_per_scan_line): Likewise.
23035 (grub_video_vbe_adapter): Added new static variable.
23036 (framebuffer): Likewise.
23037 (render_target): Likewise.
23038 (initial_mode): Likewise.
23039 (mode_in_use): Likewise.
23040 (mode_list): Likewise.
23042 2006-03-10 Marco Gerards <marco@gnu.org>
23044 * configure.ac (AC_INIT): Bumped to 1.93.
23046 * DISTLIST: Added `include/grub/hfs.h'.
23048 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23050 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23051 18H, which might help the BIOS falling back to next boot media.
23053 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23055 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23056 Poe Chen <poe.poechen@gmail.com>.
23058 2006-01-17 Marco Gerards <marco@gnu.org>
23060 * include/grub/normal.h: Include <grub/script.h>.
23061 (grub_command_list): Removed struct.
23062 (grub_command_list_t): Removed type.
23063 (grub_menu_entry): Remove members `num' and `command_list'. Add
23064 members `commands' and `sourcecode'.
23065 * include/grub/script.h: Add inclusion guards.
23066 (grub_script_cmd_menuentry): New struct.
23067 (grub_script_execute_menuentry): New prototype.
23068 (grub_script_lexer_record_start): Likewise.
23069 (grub_script_lexer_record_stop): Likewise.
23070 * normal/execute.c (grub_script_execute_menuentry): New function.
23071 * normal/lexer.c (record, recording, recordpos, recordlen): New
23073 (grub_script_lexer_record_start): New function.
23074 (grub_script_lexer_record_stop): Likewise.
23075 (recordchar): Likewise.
23076 (nextchar): Likewise.
23077 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23078 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23079 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23080 (current_menu): New variable.
23081 (free_menu): Mainly rewritten.
23082 (grub_normal_menu_addentry): New function.
23083 (read_config_file): Rewritten.
23084 * normal/menu.c (run_menu_entry): Mainly rewritten.
23085 * normal/menu_entry.c (make_screen): Rewritten the code to insert
23087 (run): Mainly rewritten.
23088 * normal/parser.y (menu_entry): New variable.
23089 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23090 (menuentry): New rule.
23091 (command): Add `menuentry'.
23092 (if_statement): Allow additional returns before `fi'.
23093 * normal/script.c (grub_script_create_cmdmenu): New function.
23095 2006-01-03 Marco Gerards <marco@gnu.org>
23097 * INSTALL: GNU Bison is required.
23098 * configure.ac: Rewritten the test to detect Bison.
23099 * Makefile.in (YACC): New variable. Reported by Xun Sun
23100 <xun.sun.cn@gmail.com>.
23102 2006-01-03 Marco Gerards <marco@gnu.org>
23104 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23105 the HFS+ filesystem to filesystem blocks.
23106 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23107 GCC warning is silenced.
23109 2006-01-03 Marco Gerards <marco@gnu.org>
23111 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23112 read from disk from big endian to host byte order.
23114 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23116 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23118 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23119 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23120 embedded HFS+ filesystem.
23121 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23122 (grub_hfs_sblock): Move from here...
23123 * include/grub/hfs.h: To here... New file.
23124 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23126 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23128 (grub_hfsplus_volheader): Change type of member `magic' to
23130 (grub_hfsplus_data): Add new member `embedded_offset'.
23131 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23133 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23134 Calculate the offset.
23136 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23138 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23140 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23142 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23144 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23145 ENV->NAME is NULL after allocating ENV->VALUE.
23147 2005-12-25 Marco Gerards <marco@gnu.org>
23149 * kern/env.c (grub_env_set): Rewritten the error handling code.
23151 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23153 * geninit.sh: Made more robust, and more portable.
23155 2005-12-25 Marco Gerards <marco@gnu.org>
23157 Add support for Apple HFS+ filesystems.
23159 * fs/hfsplus.c: New file.
23161 * DISTLIST: Added `fs/hfsplus.c'.
23163 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23164 (hfsplus_mod_SOURCES): New variable.
23165 (hfsplus_mod_CFLAGS): Likewise.
23166 (hfsplus_mod_LDFLAGS): Likewise.
23167 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23168 (grub_setup_SOURCES): Likewise.
23169 (grub_mkdevicemap_SOURCES): Likewise.
23170 (grub_emu_SOURCES): Likewise.
23171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23173 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23175 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23177 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23179 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23180 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23181 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23182 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23183 normal/lexer.c, normal/parser.y, normal/script.c, and
23185 Removed kern/sparc64/cache.c.
23187 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23188 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23191 * configure.ac (AC_INIT): Bumped to 1.92.
23193 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23195 * kern/err.c (grub_error_push): Added new function to support error
23197 (grub_error_pop): Likewise.
23198 (grub_error_stack_items): New local variable to support error stacks.
23199 (grub_error_stack_pos): Likewise.
23200 (grub_error_stack_assert): Likewise.
23201 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23203 (grub_print_error): Added support to print errors from error stack.
23205 * include/grub/err.h (grub_error_push): Added function prototype.
23206 (grub_error_pop): Likewise.
23208 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23210 * configure.ac: Accept `powerpc64' as host_cpu.
23211 (amd64): Rename to `biarch32'.
23213 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23214 non-cacheline-aligned addresses.
23216 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23217 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23218 if `size' is non-zero.
23220 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
23222 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23223 and `cd' to make sure the filename is not prefixed with a
23225 (pkgdata_MODULES): Add `gpt.mod'.
23226 (gpt_mod_SOURCES): New variable.
23227 (gpt_mod_CFLAGS): Likewise.
23228 (gpt_mod_LDFLAGS): Likewise.
23230 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23232 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23235 * partmap/gpt.c: New file.
23237 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23238 GPT partition map is detected.
23240 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
23242 * commands/i386/pc/play.c: New file.
23243 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
23244 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
23247 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
23249 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
23250 ((unused))' to silence gcc warning.
23252 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
23254 * configure.ac: Correct `AC_PROG_YACC' test.
23256 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23258 * util/powerpc/ieee1275/grub-install.in: Run the mount point
23259 check before installing files.
23261 2005-11-22 Mike Small <smallm@panix.com>
23263 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
23264 number regex so multidigit numbers are recognized correctly.
23266 2005-11-22 Mike Small <smallm@panix.com>
23268 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
23269 debugging message before attempting to claim memory.
23270 (grub_rescue_cmd_initrd): Add a claim debugging message and try
23271 multiple addresses in case of failure.
23273 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23275 * term/tparm.c (get_space): Remove empty `if' statement.
23277 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
23279 * kern/parser.c (check_varstate): Rename `state' to 's'.
23281 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23283 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
23284 variable definitions to the beginning of each function. Sort stack
23286 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
23287 `buf' argument to `char *'.
23289 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23291 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
23292 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23293 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23294 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23295 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23296 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23297 configfile.mod, search.mod, gzio.mod and test.mod.
23298 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23299 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23300 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23301 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23302 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23303 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23304 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23305 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23306 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23307 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23308 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23309 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23310 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23311 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23312 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23313 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23314 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23315 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23316 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23317 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23318 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23319 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23320 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
23322 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
23324 (pkgdata_MODULES): Add test.mod.
23326 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23328 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
23329 appending to variables with "+=".
23330 (PModule): Use full pathname to generate *.lst filenames.
23332 * Makefile.in: Fixed list rules moved from genmk.rb.
23333 (.DELETE_ON_ERROR): New special target.
23334 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
23336 * conf/i386-pc.rmk: Include conf/common.mk.
23337 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23338 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23339 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23340 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23341 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23342 configfile.mod, search.mod, gzio.mod and test.mod.
23343 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23344 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23345 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23346 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23347 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23348 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23349 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23350 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23351 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23352 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23353 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23354 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23355 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23356 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23357 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23358 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23359 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23360 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23361 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23362 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23363 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23364 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23365 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
23367 * conf/common.rmk: ... to here. New file.
23369 * conf/common.mk: New file.
23371 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
23373 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
23374 (grub_script.tab.c): ... here.
23376 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
23377 (grub_script.tab.c): ... here.
23379 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
23380 (grub_script.tab.c): ... here.
23382 * normal/command.c (grub_command_find): Fixed a memory leak of
23383 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
23385 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23387 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
23388 "@" which marks the start of a comment on ARM.
23389 (VARIABLE): Likewise.
23391 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23393 Add support for Linux/ADFS partition tables.
23395 * partmap/acorn.c: New file.
23397 * include/grub/acorn_filecore.h: Likewise.
23399 * DISTLIST: Added `partmap/acorn.c' and
23400 `include/grub/acorn_filecore.h'.
23402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23404 (pkgdata_MODULES): Add `acorn.mod'.
23405 (acorn_mod_SOURCES): New variable.
23406 (acorn_mod_CFLAGS): Likewise.
23408 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23410 (pkgdata_MODULES): Add `acorn.mod'.
23411 (acorn_mod_SOURCES): New variable.
23412 (acorn_mod_CFLAGS): Likewise.
23414 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
23415 (pkgdata_MODULES): Add `acorn.mod'.
23416 (acorn_mod_SOURCES): New variable.
23417 (acorn_mod_CFLAGS): Likewise.
23418 (acorn_mod_LDFLAGS): Likewise.
23420 * include/types.h (grub_disk_addr_t): New typedef.
23422 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
23424 * geninit.sh: New file.
23426 * geninitheader.sh: Likewise.
23428 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
23429 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
23430 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
23431 * commands/configfile.c (grub_configfile_init)
23432 (grub_configfile_fini): Likewise.
23433 * commands/default.c (grub_default_init, grub_default_fini):
23435 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
23436 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
23437 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
23438 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
23440 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
23441 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
23443 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
23444 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
23446 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
23448 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
23450 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
23451 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
23452 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
23453 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
23454 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
23455 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
23456 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
23457 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
23458 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
23459 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
23460 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
23461 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
23462 * partmap/amiga.c (grub_amiga_partition_map_init)
23463 (grub_amiga_partition_map_fini): Likewise.
23464 * partmap/apple.c (grub_apple_partition_map_init)
23465 (grub_apple_partition_map_fini): Likewise.
23466 * partmap/pc.c (grub_pc_partition_map_init)
23467 (grub_pc_partition_map_fini): Likewise.
23468 * partmap/sun.c (grub_sun_partition_map_init,
23469 grub_sun_partition_map_fini): Likewise.
23470 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
23473 * util/grub-emu.c: Include <grub_modules_init.h>.
23474 (main): Don't initialize and de-initialize any modules directly,
23475 use `grub_init_all' and `grub_fini_all' instead.
23477 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
23478 `grub_vesafb_mod_init'.
23479 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
23481 * term/i386/pc/vga.c (grub_vga_init): Renamed to
23482 `grub_vga_mod_init'. Updated all users.
23483 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
23485 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
23486 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
23489 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
23490 Generate a function to initialize the module in utilities.
23491 Updated all callers.
23492 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
23493 initialize the module in utilities. Updated all callers.
23495 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23497 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
23498 escape sequence and a literal ^L to clear the screen.
23500 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
23501 when returning from Open Firmware.
23503 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23505 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
23506 (grub_ofconsole_height): Likewise.
23507 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
23508 manually insert a '\n'.
23509 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
23510 `grub_ofconsole_height'. Return early if these are already set.
23512 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
23514 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23515 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
23516 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
23517 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
23518 and `normal/script.c'.
23519 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23520 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23521 (test_mod_SOURCES): New variable.
23522 (test_mod_CFLAGS): Likewise.
23523 (test_mod_LDFLAGS): Likewise.
23524 (pkgdata_MODULES): Add `test.mod'.
23525 (grub_script.tab.c): New rule.
23526 (grub_script.tab.h): Likewise.
23528 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
23530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23531 `commands/test.c', `normal/execute.c', `normal/lexer.c',
23532 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23533 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23534 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23535 (test_mod_SOURCES): New variable.
23536 (test_mod_CFLAGS): Likewise.
23537 (pkgdata_MODULES): Add `test.mod'.
23538 (grub_script.tab.c): New rule.
23539 (grub_script.tab.h): Likewise.
23541 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
23543 Add initial scripting support.
23545 * commands/test.c: New file.
23546 * include/grub/script.h: Likewise.
23547 * normal/execute.c: Likewise.
23548 * normal/function.c: Likewise.
23549 * normal/lexer.c: Likewise.
23550 * normal/parser.y: Likewise.
23551 * normal/script.c: Likewise.
23553 * configure.ac: Add `AC_PROG_YACC' test.
23555 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
23556 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
23557 `normal/function.c' and `normal/script.c'.
23558 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23559 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23560 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
23562 (pkgdata_MODULES): Add `test.mod'.
23563 (grub_script.tab.c): New rule.
23564 (grub_script.tab.h): Likewise.
23566 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
23568 * include/grub/normal.h (grub_test_init): New prototype.
23569 (grub_test_fini): Likewise.
23571 * normal/command.c: Include <grub/script.h>.
23572 (grub_command_execute): Rewritten.
23574 * util/grub-emu.c (main): Call `grub_test_init' and
23577 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23579 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
23581 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
23582 there are no pending characters.
23584 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23586 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
23587 `grub_strndup' to drop device arguments. Replace unnecessary
23588 `grub_strndup' with `grub_strdup'.
23590 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23592 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
23593 `debug' environment variable has been set.
23595 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
23597 * Makefile.in (install-local): Use $(DATA).
23598 (uninstall): Likewise.
23599 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
23600 (sbin_UTILITIES): ... to here.
23601 (sbin_SCRIPTS): New variable.
23602 (grub_install_SOURCES): New variable.
23603 * util/powerpc/ieee1275/grub-install.in: New file.
23604 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
23606 (add_segments): Call `grub_util_get_path'.
23608 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23610 From Timothy Baldwin:
23611 * commands/ls.c (grub_ls_list_files): Close FILE with
23613 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
23615 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
23617 * include/grub/parser.h: New file.
23619 * kern/parser.c: Likewise.
23621 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
23622 (grub_setup_SOURCES): Likewise.
23623 (grub_probefs_SOURCES): Likewise.
23624 (grub_emu_SOURCES): Likewise.
23625 (kernel_img_HEADERS): Add `parser.h'.
23627 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23628 (grub_emu_SOURCES): Add `kern/parser.c'.
23629 (grubof_SOURCES): Likewise.
23631 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23632 (grubof_SOURCES): Add `kern/parser.c'.
23634 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
23636 * kern/misc.c (grub_split_cmdline): Removed function.
23638 * kern/rescue.c: Include <grub/parser.h>.
23639 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
23640 of `grub_split_cmdline'.
23642 * normal/command.c: Include <grub/parser.h>.
23643 (grub_command_execute): Use `grub_parser_split_cmdline' instead
23644 of `grub_split_cmdline'.
23646 * normal/completion.c: Include <grub/parser.h>.
23647 (cmdline_state): New variable.
23648 (iterate_dir): End the filename with a quote depending on the
23649 command line state.
23650 (get_state): new function.
23651 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
23652 split the arguments and determine the current argument. When the
23653 argument string is not quoted, escape all spaces.
23655 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23657 * normal/sparc64/setjmp.S: New file.
23659 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23661 * include/grub/sparc64/libgcc.h: New file.
23662 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
23663 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
23664 normal/sparc64/setjmp.c.
23666 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23668 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
23669 * kern/sparc64/cache.S: New file.
23670 * kern/sparc64/cache.c: Removed.
23671 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
23672 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
23674 (COMMON_LDFLAGS): Add -melf64_sparc.
23675 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
23676 (grubof_SOURCES): Use cache.S instead of cache.c.
23677 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
23678 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
23679 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
23681 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
23682 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
23683 (linux_mod_CFLAGS): Commented out.
23684 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
23685 out because module isn't built.
23686 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
23687 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
23688 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
23689 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
23690 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
23691 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23692 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23693 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
23694 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
23695 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
23696 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23697 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23698 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
23699 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
23701 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
23703 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
23704 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
23705 longer, because HFS should not be used on PC.
23707 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23709 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
23710 consistently within the loop.
23712 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
23714 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
23715 directory can not be read.
23717 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23719 * configure.ac (AC_INIT): Increase the version number to 1.91.
23721 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
23722 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
23723 term/i386/pc/serial.c.
23725 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23727 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
23728 file size must be permitted.
23730 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
23731 between %ah and %al.
23733 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23735 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
23737 Call the hook with a NUL-terminated filename.
23738 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
23741 * kern/term.c (cursor_state): New variable.
23742 (grub_term_set_current): Reset the cursor state on a new
23744 (grub_setcursor): Rewritten to use CURSOR_STATE.
23745 (grub_getcursor): New function.
23747 * include/grub/term.h (grub_getcursor): New prototype.
23749 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
23750 integers on ARM. Reported by Timothy Baldwin
23751 <T.E.Baldwin99@members.leeds.ac.uk>.
23753 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
23755 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
23757 (grub_sfs_dir): Likewise.
23759 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
23761 Add support for the SFS filesystem.
23763 * fs/sfs.c: New file.
23765 * DISTLIST: Added `fs/sfs.c'.
23767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
23768 (grub_probefs_SOURCES): Likewise.
23769 (grub_emu_SOURCES): Likewise.
23770 (pkgdata_MODULES): Add `sfs.mod'.
23771 (sfs_mod_SOURCES): New variable.
23772 (sfs_mod_CFLAGS): Likewise.
23773 (sfs_mod_LDFLAGS): Likewise.
23775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
23776 (pkgdata_MODULES): Add `sfs.mod'.
23777 (sfs_mod_SOURCES): New variable.
23778 (sfs_mod_CFLAGS): Likewise.
23780 * util/grub-emu.c (main): Call `grub_sfs_init' and
23783 * include/grub/fs.h (grub_sfs_init): New prototype.
23784 (grub_sfs_fini): Likewise.
23786 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
23788 Add support for the AFFS filesystem.
23790 * fs/affs.c: New file.
23792 * DISTLIST: Added `fs/affs.c'.
23794 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
23795 (grub_probefs_SOURCES): Likewise.
23796 (grub_emu_SOURCES): Likewise.
23797 (pkgdata_MODULES): Add `affs.mod'.
23798 (affs_mod_SOURCES): New variable.
23799 (affs_mod_CFLAGS): Likewise.
23800 (affs_mod_LDFLAGS): Likewise.
23802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
23803 (pkgdata_MODULES): Add `affs.mod'.
23804 (affs_mod_SOURCES): New variable.
23805 (affs_mod_CFLAGS): Likewise.
23807 * util/grub-emu.c (main): Call `grub_affs_init' and
23810 * include/grub/fs.h (grub_affs_init): New prototype.
23811 (grub_affs_fini): Likewise.
23813 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
23815 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
23817 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
23819 * configure.ac: Accept `x86_64' as host_cpu. In that case add
23822 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
23825 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
23826 (COMMON_LDFLAGS): New variable.
23827 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
23828 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
23829 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
23830 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
23831 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
23832 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
23833 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
23834 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
23835 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
23836 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
23837 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23838 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23839 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
23840 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
23841 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
23843 (normal_mod_ASFLAGS): Add `-m32'.
23845 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
23846 (grub_host_size_t, grub_host_ssize_t): New types.
23847 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
23848 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
23849 `GRUB_HOST_SIZEOF_VOID_P'.
23851 * include/grub/kernel.h (struct grub_module_header): Type of
23852 member offset changed to `grub_host_off_t'. Type of member size
23853 changed to `grub_host_size_t'.
23854 (struct grub_module_info): Type of member offset changed to
23855 `grub_host_off_t'. Type of member size changed to
23856 `grub_host_size_t'.
23858 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
23860 Make GRUB's kernel compliant to Multiboot Specification.
23862 * kern/i386/pc/startup.S (multiboot_header): New label.
23863 (multiboot_entry): Likewise.
23864 (multiboot_trampoline): Likewise.
23866 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23867 Increased to 0x4A0.
23869 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
23870 put parentheses after a question mark.
23871 [!GRUB_UTIL] (my_mod): New variable.
23873 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
23875 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
23877 Adds support for the XFS filesystem. Btrees are not supported
23880 * fs/xfs.c: New file.
23882 * DISTLIST: Added `fs/xfs.c'.
23884 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
23885 (grub_probefs_SOURCES): Likewise.
23886 (grub_emu_SOURCES): Likewise.
23887 (pkgdata_MODULES): Add `xfs.mod'.
23888 (xfs_mod_SOURCES): New variable.
23889 (xfs_mod_CFLAGS): Likewise.
23891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
23892 (pkgdata_MODULES): Add `xfs.mod'.
23893 (xfs_mod_SOURCES): New variable.
23894 (xfs_mod_CFLAGS): Likewise.
23896 * util/grub-emu.c (main): Call `grub_xfs_init' and
23899 * include/grub/fs.h (grub_xfs_init): New prototype.
23900 (grub_xfs_fini): Likewise.
23903 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
23905 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
23906 color modes, allow greater than 16 colors to be configured as
23909 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23911 * normal/completion.c (complete_arguments): Add the qualifier
23912 const into OPTIONS.
23914 From Omniflux <omniflux+lists@omniflux.com>:
23915 * include/grub/terminfo.h: New file.
23916 * include/grub/tparm.h: Likewise.
23917 * include/grub/i386/pc/serial.h: Likewise.
23918 * term/terminfo.c: Likewise.
23919 * term/tparm.c: Likewise.
23920 * term/i386/pc/serial.c: Likewise.
23921 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
23923 (terminfo_mod_SOURCES): New variable.
23924 (terminfo_mod_CFLAGS): Likewise.
23925 (serial_mod_SOURCES): Likewise.
23926 (serial_mod_CFLAGS): Likewise.
23928 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
23930 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
23931 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
23932 and kern/powerpc/ieee1275/cmain.c, respectively.
23934 * boot/powerpc/ieee1275/crt0.S: Moved to ...
23935 * kern/powerpc/ieee1275/crt0.S: ... here.
23937 * boot/powerpc/ieee1275/cmain.c: Moved to ...
23938 * kern/powerpc/ieee1275/cmain.c: ... here.
23940 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
23941 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
23942 instead of boot/powerpc/ieee1275/crt0.S and
23943 boot/powerpc/ieee1275/cmain.c, respectively.
23945 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
23946 sectors. It was not used anyway.
23948 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23950 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
23951 `unused parameter' warning.
23953 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23955 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
23957 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
23960 2005-08-28 Marco Gerards <metgerards@student.han.nl>
23962 * include/grub/normal.h (enum grub_completion_type): Added
23963 `GRUB_COMPLETION_TYPE_ARGUMENT'.
23965 * normal/cmdline.c (print_completion): Handle
23966 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
23967 * normal/menu_entry.c (store_completion): Likewise.
23969 * normal/completion.c (complete_arguments): New function.
23970 (grub_normal_do_completion): Call `complete_arguments' when the
23971 current words start with a dash.
23973 2005-08-27 Marco Gerards <metgerards@student.han.nl>
23975 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
23976 `gzio.mod' instead of `io.mod').
23978 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
23980 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
23981 (DISTDIRS): Added io and video.
23982 Rewrite the search routine to make an output consistently.
23984 * DISTLIST: Added conf/sparc64-ieee1275.mk,
23985 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
23986 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
23987 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
23988 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
23989 util/powerpc/ieee1275/misc.c.
23991 * include/grub/gzio.h: New file.
23992 * io/gzio.c: Likewise.
23994 * kern/file.c (grub_file_close): Call grub_device_close only if
23995 FILE->DEVICE is not NULL.
23997 * include/grub/mm.h [!NULL] (NULL): New macro.
23999 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24002 (pkgdata_MODULES): Added gzio.mod.
24003 (gzio_mod_SOURCES): New variable.
24004 (gzio_mod_CFLAGS): Likewise.
24006 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24007 (pkgdata_MODULES): Added gzio.mod.
24008 (gzio_mod_SOURCES): New variable.
24009 (gzio_mod_CFLAGS): Likewise.
24011 * commands/cat.c: Include grub/gzio.h.
24012 (grub_cmd_cat): Use grub_gzfile_open instead of
24015 * commands/cmp.c: Include grub/gzio.h.
24016 (grub_cmd_cmp): Use grub_gzfile_open instead of
24019 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24020 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24022 (grub_rescue_cmd_module): Likewise.
24024 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24026 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24027 kern/sparc64/ieee1275/init.c because it contains _start.
24028 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24030 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24032 * configure.ac: Add support for sparc64 host with ieee1275
24034 * configure: Generated from configure.ac.
24035 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24037 (grub_ofdisk_read): Likewise.
24038 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24039 pointers as (void *) to remove a warning.
24040 (grub_ofdisk_close): Likewise.
24041 (grub_ofdisk_read): Likewise.
24042 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24043 returns, so make it return void to remove a warning.
24044 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24045 Corresponding prototype change.
24046 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24047 values, and cast the pointers as (void *) to remove a warning.
24048 (grub_mm_dump): Likewise.
24049 * conf/sparc64-ieee1275.mk: New file.
24050 * conf/sparc64-ieee1275.rmk: Likewise.
24051 * include/grub/sparc64/setjmp.h: Likewise.
24052 * include/grub/sparc64/types.h: Likewise.
24053 * include/grub/sparc64/ieee1275/console.h: Likewise.
24054 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24055 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24056 * include/grub/sparc64/ieee1275/time.h: Likewise.
24057 * kern/sparc64/cache.c: Likewise.
24058 * kern/sparc64/dl.c: Likewise.
24059 * kern/sparc64/ieee1275/init.c: Likewise.
24060 * kern/sparc64/ieee1275/openfw.c: Likewise.
24062 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24064 * util/console.c (grub_ncurses_putchar): If C is greater than
24065 0x7f, set C to a question mark.
24066 (grub_ncurses_getcharwidth): New function.
24067 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24070 * normal/menu.c (print_entry): Made aware of Unicode. First,
24071 convert TITLE to UCS-4, and predict the cursor position by
24074 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24076 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24078 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24080 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24081 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24084 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24085 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24086 grub_strcpy and grub_strlen. Take it into account that a space
24087 character is inserted as a delimiter.
24089 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24091 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
24092 invalid magic in the error.
24094 * commands/search.c: New file.
24096 * util/grub-emu.c (main): Call grub_search_init and
24099 * kern/rescue.c (grub_rescue_print_disks): Removed.
24100 (grub_rescue_print_devices): New function.
24101 (grub_rescue_cmd_ls): Use grub_device_iterate with
24102 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24103 grub_rescue_print_disks.
24105 * kern/partition.c (grub_partition_iterate): Return the result of
24106 PARTMAP->ITERATE instead of GRUB_ERRNO.
24108 * kern/device.c: Include grub/partition.h.
24109 (grub_device_iterate): New function.
24111 * include/grub/partition.h (grub_partition_iterate): Return int
24112 instead of grub_err_t.
24114 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24116 [GRUB_UTIL] (grub_search_fini): Likewise.
24118 * include/grub/device.h (grub_device_iterate): New prototype.
24120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24122 (pkgdata_MODULES): Added search.mod.
24123 (search_mod_SOURCES): New variable.
24124 (search_mod_CFLAGS): Likewise.
24126 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24127 (pkgdata_MODULES): Added search.mod.
24128 (search_mod_SOURCES): New variable.
24129 (search_mod_CFLAGS): Likewise.
24131 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24132 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24133 All callers changed.
24135 * DISTLIST: Added commands/search.c.
24137 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24139 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24141 (grub_getcharwidth): New function.
24143 * kern/misc.c (grub_utf8_to_ucs4): New function.
24145 * include/grub/term.h (struct grub_term): Added a new member
24147 (grub_getcharwidth): New prototype.
24149 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24151 * term/i386/pc/console.c (map_char): New function. Segregated from
24152 grub_console_putchar.
24153 (grub_console_putchar): Use map_char.
24154 (grub_console_getcharwidth): New function.
24155 (grub_console_term): Specified grub_console_getcharwidth as
24158 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24159 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24161 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24163 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24164 on grub_strtoul completely.
24165 (write_char): Declare local variables in the beginning of the
24167 (grub_vesafb_getcharwidth): New function.
24168 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24171 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24173 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24174 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24175 commands/i386/pc/vbetest.c.
24177 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24178 call grub_vbe_get_controller_info again, because the returned
24179 information is volatile.
24180 (grub_vbe_set_video_mode): Mostly rewritten.
24181 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24182 grub_vbe_status_t correctly.
24183 (grub_vbe_get_video_mode_info): Likewise.
24184 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24185 several if statements.
24187 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24188 * commands/i386/pc/vbeinfo.c: ... this.
24190 * commands/i386/pc/vbe_test.c: Renamed to ...
24191 * commands/i386/pc/vbetest.c: ... this.
24193 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24195 (grub_cmd_vbeinfo): ... this. Save video modes before
24196 iterating. Skip a video mode, if it is not available, not enough
24197 information is given or it is monochrome. Show the memory
24198 model. Leave the interpretation of MODEVAR to grub_strtoul
24200 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24201 (GRUB_MOD_FINI): Likewise.
24203 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24204 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24205 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24206 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24207 grub_strtoul completely.
24208 (real2pm): Removed.
24209 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24210 (GRUB_MOD_FINI): Likewise.
24212 * normal/misc.c: Include grub/mm.h.
24214 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24215 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24216 (vbe_list_modes_mod_SOURCES): Removed.
24217 (vbe_list_modes_mod_CFLAGS): Likewise.
24218 (vbe_test_mod_SOURCES): Likewise.
24219 (vbe_test_mod_CFLAGS): Likewise.
24220 (vbeinfo_mod_SOURCES): New variable.
24221 (vbeinfo_mod_CFLAGS): Likewise.
24222 (vbetest_mod_SOURCES): Likewise.
24223 (vbetest_mod_CFLAGS): Likewise.
24225 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24227 * normal/misc.c: New file.
24229 * DISTLIST: Added normal/misc.c.
24231 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24232 DISK to HOOK. Call HOOK with DISK.
24233 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24234 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24235 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24237 * normal/menu_entry.c (struct screen): Added a new member
24238 "completion_shown".
24239 (completion_buffer): New global variable.
24240 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
24241 (store_completion): New function.
24242 (complete): Likewise.
24243 (clear_completions): Likewise.
24244 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
24245 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
24246 a tab, call complete.
24248 * normal/completion.c (disk_dev): Removed.
24249 (print_simple_completion): Likewise.
24250 (print_partition_completion): Likewise.
24251 (print_func): New global variable.
24252 (add_completion): Do not take the arguments WHAT or PRINT any
24253 longer. Added a new argument TYPE. Instead of printing directly,
24254 call PRINT_FUNC if not NULL.
24255 All callers changed.
24256 (complete_device): Use a local variable DEV instead of
24257 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
24258 (grub_normal_do_completion): Take a new argument HOOK. Do not
24259 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
24260 empty string, return NULL instead.
24261 All callers changed.
24263 * normal/cmdline.c (print_completion): New function.
24265 * kern/partition.c (grub_partition_iterate): Add an argument DISK
24267 All callers changed.
24269 * kern/disk.c (grub_print_partinfo): Removed.
24271 * include/grub/partition.h (struct grub_partition_map): Add a new
24272 argument DISK into HOOK of ITERATE.
24273 (grub_partition_iterate): Add a new argument DISK to HOOK.
24275 * include/grub/normal.h (enum grub_completion_type): New enum.
24276 (grub_completion_type_t): New type.
24277 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
24278 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
24279 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
24280 (GRUB_COMPLETION_TYPE_FILE): Likewise.
24281 (grub_normal_do_completion): Added a new argument HOOK.
24282 (grub_normal_print_device_info): New prototype.
24284 * include/grub/disk.h (grub_print_partinfo): Removed.
24286 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
24287 (normal_mod_SOURCES): Likewise.
24288 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24289 (normal_mod_SOURCES): Likewise.
24291 * commands/ls.c (grub_ls_list_disks): Use
24292 grub_normal_print_device_info instead of grub_print_partinfo. Free
24294 (grub_ls_list_files): Use grub_normal_print_device_info instead of
24295 duplicating the code.
24297 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24299 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
24300 follow GCS more precisely.
24301 * commands/i386/pc/vbe_test.c: Likewise.
24302 * include/grub/i386/pc/vbe.h: Likewise.
24303 * term/i386/pc/vesafb.c: Likewise.
24304 * video/i386/pc/vbe.c: Likewise.
24306 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24308 * DISTLIST: Added term/i386/pc/vesafb.c
24309 DISTLIST: Added video/i386/pc/vbe.c
24310 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
24311 DISTLIST: Added commands/i386/pc/vbe_test.c.
24312 * commands/i386/pc/vbe_list_modes.c: New file.
24313 * commands/i386/pc/vbe_test.c: Likewise.
24314 * term/i386/pc/vesafb.c: Likewise.
24315 * video/i386/pc/vbe.c: Likewise.
24316 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
24317 (grub_vbe_probe) Added prototype.
24318 (grub_vbe_set_video_mode) Likewise.
24319 (grub_vbe_get_video_mode) Likewise.
24320 (grub_vbe_get_video_mode_info) Likewise.
24321 (grub_vbe_set_pixel_rgb) Likewise.
24322 (grub_vbe_set_pixel_index) Likewise.
24323 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
24324 (pkgdata_MODULES): Added vesafb.mod.
24325 (pkgdata_MODULES): Added vbe_list_modes.mod.
24326 (pkgdata_MODULES): Added vbe_test.mod.
24327 (vbe_mod_SOURCES): Added.
24328 (vbe_mod_CFLAGS): Likewise.
24329 (vesafb_mod_SOURCES): Likewise.
24330 (vesafb_mod_CFLAGS): Likewise.
24331 (vbe_list_modes_mod_SOURCES): Likewise.
24332 (vbe_list_modes_mod_CFLAGS): Likewise.
24333 (vbe_test_mod_SOURCES): Likewise.
24334 (vbe_test_mod_CFLAGS): Likewise.
24336 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
24338 * normal/command.c (grub_command_execute): If INTERACTIVE is
24339 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
24340 CMDLINE. Disable the pager if INTERACTIVE is true.
24341 All callers are changed.
24343 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
24344 before reading a config file.
24345 * normal/main.c (read_config_file): Even if a command is not
24346 found, register it if it is within an entry.
24348 * util/grub-emu.c: Include sys/types.h and unistd.h.
24349 (options): Added --hold.
24350 (struct arguments): Added a new member "hold".
24351 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
24353 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
24354 cleared by a debugger, if it is not zero.
24356 * include/grub/normal.h (grub_command_execute): Add an argument
24359 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
24361 * DISTLIST: Added include/grub/i386/pc/vbe.h.
24363 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
24365 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
24366 program with another one, because the old one didn't detect a bug
24367 in gcc-3.4. Always use regparm 2, because the new test is still
24368 not enough for gcc-4.0. Someone must investigate a simple test
24369 case which detects a bug in gcc-4.0.
24371 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
24373 * DISTLIST: Added normal/completion.c.
24375 * normal/completion.c: New file.
24377 * term/i386/pc/console.c (grub_console_getwh): New function.
24378 (grub_console_term): Assign grub_console_getwh to getwh.
24380 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
24381 function is defined in normal/completion.c as
24382 grub_normal_do_completion.
24383 (grub_cmdline_get): Use grub_normal_do_completion instead of
24386 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
24387 returns non-zero, otherwise return 0.
24388 (grub_partition_iterate): First, probe the partition map. Then,
24389 call ITERATE only for this partition map.
24391 * kern/misc.c (grub_strncmp): Rewritten.
24393 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
24394 returns non-zero. Otherwise return 0.
24396 * include/grub/partition.h (grub_partition_map_iterate): Return
24397 int instead of void.
24399 * include/grub/normal.h (grub_normal_do_completion): New prototype.
24401 * include/grub/misc.h (grub_strncmp): Change the type of N to
24404 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
24407 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
24408 unsigned explicitly before comparing it with I.
24410 * kern/main.c (grub_env_write_root): Add the attribute unused into
24413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24414 normal/completion.c.
24415 (normal_mod_SOURCES): Likewise.
24416 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24417 (normal_mod_SOURCES): Likewise.
24419 * normal/command.c (grub_iterate_commands): If ITERATE returns
24420 non-zero, return one immediately.
24422 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
24424 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
24425 * kern/i386/pc/startup.S: Updated Global Descriptor table's
24427 (grub_vbe_get_controller_info): New function.
24428 (grub_vbe_get_mode_info): Likewise.
24429 (grub_vbe_set_mode): Likewise.
24430 (grub_vbe_get_mode): Likewise.
24431 (grub_vbe_set_memory_window): Likewise.
24432 (grub_vbe_get_memory_window): Likewise.
24433 (grub_vbe_set_scanline_length): Likewise.
24434 (grub_vbe_get_scanline_length): Likewise.
24435 (grub_vbe_set_display_start): Likewise.
24436 (grub_vbe_get_display_start): Likewise.
24437 (grub_vbe_set_palette_data): Likewise.
24438 * include/grub/i386/pc/vbe.h: New file.
24440 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24442 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24443 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
24444 * DISTLIST: Likewise.
24445 * kern/ieee1275/of.c: Moved to ...
24446 * kern/ieee1275/ieee1275.c: ... here.
24448 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24450 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
24451 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
24452 Pass 0 as `end' parameter to grub_strtoul().
24454 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24456 * include/grub/powerpc/ieee1275/console.h: Do not include
24457 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
24459 (grub_console_cur_color): Remove i386-specific prototype.
24460 (grub_console_real_putchar): Likewise.
24461 (grub_console_checkkey): Likewise.
24462 (grub_console_getkey): Likewise.
24463 (grub_console_getxy): Likewise.
24464 (grub_console_gotoxy): Likewise.
24465 (grub_console_cls): Likewise.
24466 (grub_console_setcursor): Likewise.
24467 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
24468 Include <grub/machine/console.h>.
24469 * term/ieee1275/ofconsole.c: Likewise.
24471 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
24473 * Makefile.in (LIBLZO): New variable.
24475 * configure.ac: Check for LZO version 2.
24477 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
24478 lzo/lzo1x.h instead of lzo1x.h.
24480 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
24483 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
24484 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
24486 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
24487 copying the data from PARTITION to P.
24489 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24491 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
24492 negative, unload the module.
24494 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
24495 map is "pc_partition_map" but not "pc".
24496 (usage): Fix the description. The options are --boot-image and
24497 --core-image but not --boot-file or --core-file.
24498 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
24499 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
24502 * util/i386/pc/grub-install.in: Do not specify --boot-file or
24503 --core-file. Specify INSTALL_DEVICE as an argument.
24505 * util/console.c: Include config.h.
24506 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
24507 [HAVE_NCURSES_H]: Include ncurses.h.
24508 [HAVE_CURSES_H]: Include curses.h.
24509 [!A_NORMAL] (A_NORMAL): Defined as zero.
24510 [!A_STANDOUT] (A_STANDOUT): Likewise.
24512 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
24514 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
24516 * configure.ac: Check for curses libraries and headers.
24518 * Makefile.in (LIBCURSES): New variable.
24520 * genmk.rb (Script::rule): Set the executable bits.
24522 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
24523 name of the PC partition map is "pc_partition_map" but not "pc".
24525 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24527 * util/i386/pc/grub-install.in (grub_probefs): New variable.
24528 (modules): Likewise.
24529 (usage): Added descriptions for --modules and --grub-probefs.
24530 Handle --modules and --grub-probefs. Save the arguments in MODULES
24531 and GRUB_PROBEFS, respectively.
24532 Auto-detect a filesystem module against GRUBDIR. If the result is
24533 empty and modules are not specified explicitly, abort the
24534 installation. Add the result to MODULES.
24536 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
24537 disk/powerpc/ieee1275/ofdisk.c,
24538 include/grub/powerpc/ieee1275/init.h and
24539 term/powerpc/ieee1275/ofconsole.c.
24540 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
24541 term/ieee1275/ofconsole.c.
24543 * include/grub/powerpc/ieee1275/console.h: Resurrected.
24545 * COPYING: Upgraded to the latest version. Only the address of the
24546 FSF office has changed.
24548 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24550 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24551 kern/ieee1275.c with kern/ieee1275/of.c.
24553 * kern/ieee1275.c: Moved to ...
24554 * kern/ieee1275/of.c: ... here.
24556 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
24558 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
24561 * config.guess: Updated to the latest version from gnulib.
24562 * config.sub: Likewise.
24563 * install.sh: Likewise.
24564 * mkinstalldirs: Likewise.
24566 * include/grub/console.h: Removed. This file is arch-specific. Do
24567 not put this in include/grub.
24569 * include/grub/i386/pc/console.h: Resurrected.
24571 * util/console.c: Include grub/machine/console.h instead of
24573 * util/grub-emu.c: Likewise.
24575 2005-08-04 Marco Gerards <metgerards@student.han.nl>
24577 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
24580 From Vincent Pelletier <subdino2004@yahoo.fr>
24581 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
24582 Redefined to use grub_getwh.
24583 (grub_term): New member named getwh.
24584 (grub_getwh): New prototype.
24585 * kern/term.c (grub_getwh): New function.
24586 * term/i386/pc/console.c (grub_console_getwh): New function.
24587 (grub_console_term): New member `getwh'.
24588 * term/i386/pc/vga.c (grub_vga_getwh): New function.
24589 (grub_vga_term): New member `getwh'.
24590 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
24592 (grub_ofconsole_getw): New function.
24593 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
24594 (grub_ofconsole_term): New field named getwh and new initial
24597 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
24599 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
24600 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
24601 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
24602 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
24603 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
24604 of <grub/machine/ieee1275.h>.
24605 * commands/ieee1275/reboot.c: Likewise.
24606 * boot/powerpc/ieee1275/ieee1275.c: Move ...
24607 * kern/ieee1275.c: ... to here. All users updated. Change all
24608 parameter structs to use new type `grub_ieee1275_cell_t'.
24609 * term/powerpc/ieee1275/ofconsole.c: Move ...
24610 * term/ieee1275/ofconsole.c: ... to here. All users updated.
24611 * disk/powerpc/ieee1275/ofdisk.c: Move ...
24612 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
24613 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
24615 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
24616 Remove unused prototypes. All users updated.
24617 * include/grub/powerpc/ieee1275/console.h: Removed.
24618 * include/grub/powerpc/ieee1275/ieee1275.h: Define
24619 `grub_ieee1275_cell_t'.
24620 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
24621 Cast comparisons with -1 to the correct type.
24622 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
24623 type to match `grub_ieee1275_entry_fn'.
24625 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
24627 * DISTLIST: Added util/i386/pc/grub-probefs.c.
24629 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
24630 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
24632 (grub_probefs_SOURCES): New variable.
24634 * util/i386/pc/grub-probefs.c: New file.
24636 * util/i386/pc/grub-setup.c (main): Call
24637 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
24638 grub_hfs_init and grub_jfs_init to initialize the system. Call
24639 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
24640 grub_pc_partition_map_fini to finish the system.
24642 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
24644 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
24646 (grub_multiboot_load_elf32): Likewise.
24647 (grub_multiboot_is_elf64): Likewise.
24648 (grub_multiboot_load_elf64): Likewise.
24649 (grub_multiboot_load_elf): Likewise.
24650 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
24651 an ELF32 or ELF64 file.
24652 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
24654 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
24655 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
24656 NULL before calling FS->LABEL.
24657 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
24658 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
24659 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
24660 before calling FS->LABEL.
24662 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
24664 * util/i386/pc/grub-install.in (datadir): New variable.
24666 (pkgdatadir): New variable.
24667 (pkglibdir): Removed.
24669 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
24671 * DISTLIST: Added util/i386/pc/grub-install.in.
24673 * util/i386/pc/grub-install.in: New file.
24675 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
24676 (grub_install_SOURCES): Likewise.
24678 * genmk.rb: Added support for scripts.
24679 (Script): New class.
24680 (scripts): New variable.
24682 * Makefile.in (install-local): Install sbin_SCRIPTS by
24684 (uninstall): Remove sbin_SCRIPTS.
24686 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
24687 device, try to get a GRUB device by
24688 grub_util_biosdisk_get_grub_dev.
24691 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
24692 description for --device-map.
24694 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24696 Change the semantics of variable hooks. They now return strings
24697 instead of error values.
24699 * util/i386/pc/grub-setup.c: Include grub/env.h.
24700 (setup): Use grub_device_set_root instead of grub_env_set.
24702 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
24703 grub_env_get instead of grub_device_set_root and
24704 grub_device_get_root, respectively.
24706 * kern/main.c (grub_env_write_root): New function.
24707 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
24708 grub_env_set instead of grub_device_set_root.
24710 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
24712 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
24713 rather than calling ENV->WRITE_HOOK afterwards.
24714 (grub_env_get): Return the result of ENV->READ_HOOK rather than
24715 passing a pointer of a pointer.
24716 (grub_register_variable_hook): Change the types of "read_hook" and
24717 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
24719 Allocate the default empty string on the heap, because this string
24720 may be freed later.
24722 * kern/device.c: Include grub/env.h.
24723 (grub_device_set_root): Removed.
24724 (grub_device_get_root): Likewise.
24725 (grub_device_open): Use grub_env_get instead of
24726 grub_device_get_root.
24728 * include/grub/env.h (grub_env_read_hook_t): New type.
24729 (grub_env_write_hook_t): Likewise.
24730 (grub_env_var): Change the types of "read_hook" and "write_hook"
24731 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
24732 (grub_register_variable_hook): Likewise.
24734 * include/grub/device.h (grub_device_set_root): Removed.
24735 (grub_device_set_root): Likewise.
24737 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
24738 make sure that DIRNAME terminates with '/', so that
24739 grub_fat_find_dir will fail if PATH is not a directory.
24741 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
24743 Use the qualifier auto for print_files and print_files_long.
24744 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
24746 Put a newline only if there is no error.
24747 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
24750 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24752 * kern/partition.c (grub_partition_probe): Initialize PART to
24753 NULL. Otherwise, when no partition map is registered, this returns
24756 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
24758 * partmap/apple.c (apple_partition_map_iterate): Check if POS
24759 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
24762 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
24764 * commands/ls.c (grub_ls_list_disks): Print the filesystem
24765 information on each device, if it does not have partitions. Print
24766 "Device" instead of "Disk", because this function is not specific
24769 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
24770 static to ensure that it is put on the memory rather than a
24773 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24775 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
24776 (grub_cat_init): Likewise.
24777 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
24778 (options): Likewise.
24779 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24780 (grub_configfile_init): Likewise.
24781 * font/manager.c (GRUB_MOD_INIT): Likewise.
24782 * commands/help.c (GRUB_MOD_INIT): Likewise.
24783 (grub_help_init): Likewise.
24784 * normal/command.c (grub_command_init): Likewise.
24785 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
24786 * disk/loopback.c (grub_loop_init): Likewise.
24787 (GRUB_MOD_INIT): Likewise.
24788 * commands/ls.c (grub_ls_init): Likewise.
24789 (GRUB_MOD_INIT): Likewise.
24790 (options): Likewise.
24791 * commands/boot.c (grub_boot_init): Likewise.
24792 (GRUB_MOD_INIT): Likewise.
24793 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
24794 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
24795 (GRUB_MOD_INIT): Likewise.
24796 * commands/cmp.c (grub_cmp_init): Likewise.
24797 (GRUB_MOD_INIT): Likewise.
24799 * normal/arg.c: Use <> instead of "" to include header files.
24800 (SHORT_ARG_HELP): New macro.
24801 (SHORT_ARG_USAGE): Likewise.
24802 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
24803 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
24805 (find_short): Check if C is 'h' or 'u' explicitly.
24806 (grub_arg_show_help): Use space characters instead of tabs. Treat
24807 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
24808 are shown with --help and --usage only if they are not used for
24809 the command itself.
24810 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
24813 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
24814 const into "longarg". Change the type of "shortarg" to int.
24816 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24818 * boot/i386/pc/boot.S (boot_drive_check): New label.
24820 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
24823 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
24824 which do not pass a boot drive correctly. Copied from GRUB Legacy.
24826 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24828 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
24829 When turning off Gate A20, skip the check and return immediately,
24830 because this is not fatal usually.
24832 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24834 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
24835 be 0x7C00 instead of 0x8000.
24837 * boot/i386/pc/pxeboot.S: Rewritten.
24839 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
24841 (gate_a20_check_state): Read a byte from 0x108000. Invert the
24844 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
24846 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
24847 robustness. This routine now supports a BIOS call and System
24848 Control Port A to modify the gate A20.
24850 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24851 Increased to 0x440.
24853 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
24855 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
24856 device path and resulting ihandle.
24857 (grub_ofdisk_close): dprintf the ihandle being closed.
24858 (grub_ofdisk_read): dprintf function parameters.
24859 * kern/mm.c (grub_mm_init_region): Likewise.
24860 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
24861 (grub_linux_boot): dprintf the Linux entry point, initrd address and
24862 size, and boot arguments.
24863 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
24864 before loading into memory.
24865 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
24866 before loading into memory.
24868 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
24870 * kern/mm.c: Added much documentation.
24871 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
24872 8, set to 5 instead of 8.
24874 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
24876 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
24878 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
24879 (grub_mkdevicemap_SOURCES): New variable.
24881 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
24882 lib/device.c of GRUB Legacy.
24884 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
24886 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
24887 instead of PATH is NULL.
24889 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
24891 * commands/cmp.c (BUFFER_SIZE): New macro.
24892 (grub_cmd_cmp): Close the right file at the right time. Compare
24893 only data just read. Don't report files of different size as
24894 identical. Dynamically allocate buffers. Move variable
24895 declarations at the beginning of function.
24897 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
24899 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
24902 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
24904 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
24905 when backspace is pressed at beginning of line.
24907 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
24909 * DISTLIST: Added genfslist.sh.
24911 * normal/main.c (fs_module_list): New variable.
24912 (autoload_fs_module): New function.
24913 (read_fs_list): Likewise.
24914 (grub_normal_execute): Call read_fs_list.
24916 * kern/fs.c (grub_fs_autoload_hook): New variable.
24917 (grub_fs_probe): Added support for auto-loading.
24919 * include/grub/normal.h (struct grub_fs_module_list): New struct.
24920 (grub_fs_module_list_t): New type.
24922 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
24923 (grub_fs_autoload_hook): New prototype.
24925 * genfslist.sh: New file.
24927 * genmk.rb: Added a rule to generate a filesystem list.
24929 2005-06-30 Marco Gerards <metgerards@student.han.nl>
24931 * configure.ac: Fix the test for cross-compiling.
24933 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
24934 define GRUB_UTIL anymore.
24936 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
24937 so this function works on other systems than just big endian.
24938 (load_modules): Likewise.
24939 (add_segments): Likewise.
24941 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
24943 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
24944 contains `l' modifier, get a long from va_arg().
24946 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
24948 * kern/mm.c (grub_free): If the next free block which is being
24949 merged is the first free block, set the first block to the block
24951 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
24953 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24955 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
24956 `grub_ieee1275_chosen'.
24958 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24960 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
24961 (grub_ieee1275_chosen): New variable.
24962 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
24964 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
24965 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24966 Rename first argument to `phandle' for consistency.
24967 (grub_ieee1275_get_property_length): Likewise.
24968 (grub_ieee1275_next_property): Likewise. Change type of first argument
24969 to grub_ieee1275_phandle_t.
24970 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
24971 Move export next to declaration.
24972 (grub_ieee1275_chosen): New variable.
24973 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
24974 Correct cosmetic typo.
24975 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
24976 `grub_ieee1275_chosen'.
24977 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
24978 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
24979 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
24980 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
24981 `grub_ieee1275_chosen'.
24983 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
24985 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
24987 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
24988 /chosen/bootargs as "variable=value" pairs.
24990 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
24992 * include/grub/misc.h (grub_dprintf): New macro.
24993 (grub_real_dprintf): New prototype.
24994 (grub_strword): Likewise.
24995 (grub_iswordseparator): Likewise.
24996 * kern/misc.c (grub_real_dprintf): New function.
24997 (grub_strword): Likewise.
24998 (grub_iswordseparator): Likewise.
25000 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25002 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25003 (roundup): Remove macro.
25004 (grub_ieee1275_flags): Make static.
25005 (grub_ieee1275_realmode): Remove.
25006 (grub_ieee1275_test_flag): New function.
25007 (grub_ieee1275_set_flag): Likewise.
25008 (find_options): Rename to `grub_ieee1275_find_options'; update
25009 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25010 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25011 (cmain): New prototype.
25012 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25013 `grub_ieee1275_flags' directly.
25014 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25015 machine/biosdisk.h.
25016 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25017 Don't include grub/machine/init.h.
25018 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25019 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25021 (grub_ieee1275_realmode): Likewise.
25022 (grub_ieee1275_flag): New enum.
25023 (grub_ieee1275_test_flag): New prototype.
25024 (grub_ieee1275_set_flag): New prototype.
25025 * include/grub/powerpc/ieee1275/init.h: Remove file.
25026 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25027 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25028 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25029 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25031 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25032 `grub_ieee1275_test_flag'.
25033 (grub_ieee1275_encode_devname): Likewise.
25035 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25037 * include/grub/powerpc/ieee1275/ieee1275.h
25038 (grub_ieee1275_encode_devname): New prototype.
25039 (grub_ieee1275_get_filename): Likewise.
25040 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25042 (grub_set_prefix): Likewise.
25043 (grub_machine_init): Call grub_set_prefix.
25044 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25045 (grub_parse_type): New enum.
25046 (grub_ieee1275_get_devargs): New function.
25047 (grub_ieee1275_get_devname): Likewise.
25048 (grub_ieee1275_parse_args): Likewise.
25049 (grub_ieee1275_get_filename): Likewise.
25050 (grub_ieee1275_encode_devname): Likewise.
25052 2005-03-30 Marco Gerards <metgerards@student.han.nl>
25054 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25055 `grub_loader_unset'.
25057 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25059 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25060 instead of grub_ieee1275_interpret.
25061 (grub_halt_init): New function.
25062 (grub_halt_fini): Likewise.
25063 (GRUB_MOD_INIT): Correct message grammar.
25064 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25065 instead of grub_ieee1275_interpret.
25066 (grub_reboot_init): New function.
25067 (grub_reboot_fini): Likewise.
25068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25069 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25070 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25071 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25072 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25074 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25076 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25078 (grub_halt): Likewise.
25079 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25080 (cmain): Remove __attribute__((unused)).
25081 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25082 (grub_heap_len): Likewise.
25083 (grub_machine_fini): New function.
25084 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25085 (grub_halt): Likewise.
25086 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25088 * util/powerpc/ieee1275/misc.c: New file.
25090 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25092 * DISTLIST: New file.
25093 * gendistlist.sh: Likewise.
25095 * Makefile.in (COMMON_DISTFILES): Removed.
25096 (BOOT_DISTFILES): Likewise.
25097 (CONF_DISTFILES): Likewise.
25098 (DISK_DISTFILES): Likewise.
25099 (FS_DISTFILES): Likewise.
25100 (INCLUDE_DISTFILES): Likewise.
25101 (KERN_DISTFILES): Likewise.
25102 (LOADER_DISTFILES): Likewise.
25103 (TERM_DISTFILES): Likewise.
25104 (UTIL_DISTFILES): Likewise.
25105 (DISTFILES): Likewise.
25106 (uninstall): Uninstall files in $(pkgdata_DATA).
25107 (DISTLIST): New target.
25108 (distdir): Use the contents of the file DISTLIST to get a list of
25111 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25113 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25114 descriptor. This is ported from GRUB Legacy.
25116 * gencmdlist.sh: Added an extra semicolon to make it work with
25117 old sed versions. Reported by Robert Bihlmeyer
25118 <robbe@orcus.priv.at>.
25120 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
25122 Automatic loading of commands is supported.
25124 * normal/main.c (read_command_list): New function.
25125 (grub_normal_execute): Call read_command_list.
25127 * normal/command.c (grub_register_command): Return zero or CMD.
25128 Allocate CMD->NAME from the heap.
25129 Initialize CMD->MODULE_NAME to zero.
25130 Find the same name as well. If the same command is found and it is
25131 a dummy command, overwrite members. If it is not a dummy command,
25133 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25134 (grub_command_find): If a dummy command is found, load a module
25135 and retry to find a command only once.
25137 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25138 make sure that each command is loaded.
25140 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25142 (struct grub_command): Remove const from the member `name'.
25143 Add a new member `module_name'.
25144 (grub_register_command): Return grub_command_t.
25146 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25147 sure that each command is loaded.
25149 * genmk.rb (PModule::rule): Specify a module name without the
25150 suffix ".mod" to gencmdlist.sh.
25152 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25154 * gencmdlist.sh: New file.
25156 * genmk.rb (PModule::rule): Generate a rule for a command list.
25158 Generate command.lst from $(COMMANDFILES).
25160 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25161 (DATA): Added $(pkgdata_DATA).
25162 (install-local): Install files in $(pkgdata_DATA).
25164 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25166 * term/i386/pc/vga.c (debug_command): Removed.
25167 (GRUB_MOD_INIT): Do not register the command "debug".
25169 From Hollis Blanchard:
25170 * commands/configfile.c: New file.
25171 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25172 commands/configfile.c.
25173 (pkgdata_MODULES): Added configfile.mod.
25174 (configfile_mod_SOURCES): New variable.
25175 (configfile_mod_CFLAGS): Likewise.
25176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25177 commands/configfile.c.
25178 (pkgdata_MODULES): Added configfile.mod.
25179 (configfile_mod_SOURCES): New variable.
25180 (configfile_mod_CFLAGS): Likewise.
25181 * util/grub-emu.c (main): Call grub_configfile_init and
25182 grub_configfile_fini.
25183 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25185 [GRUB_UTIL] (grub_configfile_fini): Likewise.
25187 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25189 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25192 * commands/help.c (grub_cmd_help): Do not print newlines after
25193 the last command in print_command_help.
25195 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25197 * commands/default.h: New file.
25198 * commands/timeout.h: Likewise.
25199 * normal/context.c: Likewise.
25201 * util/misc.c: Do not include sys/times.h.
25202 Include sys/time.h and grub/machine/time.h.
25203 (grub_get_rtc): Rewritten with gettimeofday.
25205 * util/grub-emu.c (main): Call grub_default_init and
25206 grub_timeout_init before grub_normal_init, and call
25207 grub_timeout_fini and grub_default_fini after grub_main.
25209 * util/console.c (grub_ncurses_checkkey): Return the read
25212 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25215 * normal/main.c (read_config_file): Push MENU. If this fails,
25216 print an error and wait for a user input.
25217 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25218 If a menu is empty or an error occurs, pop MENU.
25219 (grub_normal_execute): Pop and free MENU after grub_menu_run
25222 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25224 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25226 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25228 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25230 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25233 * include/grub/normal.h (struct grub_menu_list): New struct.
25234 (grub_menu_list_t): New type.
25235 (struct grub_context): New struct.
25236 (grub_context_t): New type.
25237 (grub_register_command): Got rid of EXPORT_FUNC.
25238 (grub_unregister_command): Likewise.
25239 (grub_context_get): New prototype.
25240 (grub_context_get_current_menu): Likewise.
25241 (grub_context_push_menu): Likewise.
25242 (grub_context_pop_menu): Likewise.
25243 [GRUB_UTIL] (grub_default_init): Likewise.
25244 [GRUB_UTIL] (grub_default_fini): Likewise.
25245 [GRUB_UTIL] (grub_timeout_init): Likewise.
25246 [GRUB_UTIL] (grub_timeout_fini): Likewise.
25248 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
25249 commands/timeout.c and normal/context.c.
25250 (pkgdata_MODULES): Added default.mod and timeout.mod.
25251 (normal_mod_SOURCES): Added normal/context.c.
25252 (default_mod_SOURCES): New variable.
25253 (default_mod_CFLAGS): Likewise.
25254 (timeout_mod_SOURCES): Likewise.
25255 (timeout_mod_CFLAGS): Likewise.
25256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
25258 (pkgdata_MODULES): Added default.mod and timeout.mod.
25259 (normal_mod_SOURCES): Added normal/context.c.
25260 (default_mod_SOURCES): New variable.
25261 (default_mod_CFLAGS): Likewise.
25262 (timeout_mod_SOURCES): Likewise.
25263 (timeout_mod_CFLAGS): Likewise.
25265 * Makefile.in (all-local): Added $(MKFILES).
25267 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
25269 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
25270 (grub_emu_SOURCES): Likewise.
25271 (pkgdata_MODULES): Add `sun.mod'.
25272 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25275 (pkgdata_MODULES): Add `sun.mod'.
25276 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25277 * include/grub/partition.h (grub_sun_partition_map_init): New
25279 (grub_sun_partition_map_fini): Likewise.
25280 * partmap/sun.c: New file.
25281 * util/grub-emu.c (main): Initialize and de-initialize the sun
25282 partitionmap support.
25284 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
25286 This implements an Emacs-like menu entry editor.
25288 * normal/menu_entry.c: New file.
25290 * util/console.c (grub_ncurses_putchar): Translate some Unicode
25291 characters to ASCII.
25292 (saved_char): New variable.
25293 (grub_ncurses_checkkey): Rewritten completely.
25294 (grub_ncurses_getkey): Likewise.
25295 (grub_ncurses_init): Call raw instead of cbreak.
25297 * normal/menu.c (print_entry): Do not put a space.
25298 (init_page): Renamed to ...
25299 (grub_menu_init_page): ... this. All callers changed.
25300 (edit_menu_entry): Removed.
25301 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
25303 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
25305 * kern/misc.c (grub_vprintf): Call grub_refresh.
25307 * normal/menu.c (DISP_LEFT): Renamed to ...
25308 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
25309 * normal/menu.c (DISP_UP): Renamed to ...
25310 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
25311 * normal/menu.c (DISP_RIGHT): Renamed to ...
25312 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
25313 * normal/menu.c (DISP_DOWN): Renamed to ...
25314 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
25315 * normal/menu.c (DISP_HLINE): Renamed to ...
25316 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
25317 * normal/menu.c (DISP_VLINE): Renamed to ...
25318 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
25319 * normal/menu.c (DISP_UL): Renamed to ...
25320 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
25321 * normal/menu.c (DISP_UR): Renamed to ...
25322 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
25323 * normal/menu.c (DISP_LL): Renamed to ...
25324 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
25325 * normal/menu.c (DISP_LR): Renamed to ...
25326 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
25327 * normal/menu.c (TERM_WIDTH): Renamed to ...
25328 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
25329 * normal/menu.c (TERM_HEIGHT): Renamed to ...
25330 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
25331 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
25332 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
25333 * normal/menu.c (TERM_MARGIN): Renamed to ...
25334 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
25335 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
25336 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
25337 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
25338 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
25339 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
25340 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
25341 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
25342 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
25343 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
25344 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
25345 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
25346 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
25347 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
25348 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
25349 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
25350 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
25351 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
25352 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
25353 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
25354 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
25355 All callers changed.
25357 * include/grub/normal.h: New prototype.
25359 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25360 normal/menu_entry.c.
25361 (normal_mod_SOURCES): Likewise.
25362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25363 (normal_mod_SOURCES): Likewise.
25365 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
25367 * include/grub/normal.h (grub_halt_init): New prototype.
25368 (grub_halt_fini): Likewise.
25369 (grub_reboot_init): Likewise.
25370 (grub_reboot_fini): Likewise.
25372 * util/grub-emu.c: Include signal.h.
25373 (main_env): New global variable.
25374 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
25376 (grub_machine_fini): New function.
25377 (main): Call grub_halt_init and grub_reboot_init before
25378 grub_main, and grub_reboot_fini and grub_halt_fini after it.
25379 Call setjmp with MAIN_ENV to go back afterwards.
25380 Call grub_machine_fini right before return.
25382 * include/grub/util/misc.h: Include setjmp.h.
25383 (main_env): New prototype.
25385 * include/grub/kernel.h (grub_machine_fini): New prototype.
25386 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
25387 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
25389 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
25390 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
25391 * term/i386/pc/console.c (grub_console_fini): Likewise.
25393 * util/i386/pc/misc.c: New file.
25395 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25396 util/i386/pc/misc.c, commands/i386/pc/halt.c and
25397 commands/i386/pc/reboot.c.
25399 2005-02-14 Guillem Jover <guillem@hadrons.org>
25401 * include/grub/dl.h (grub_dl_check_header): New prototype.
25402 (grub_arch_dl_check_header): Change return type to grub_err_t,
25403 remove size parameter and export function. Update all callers.
25404 * kern/dl.c (grub_dl_check_header): New function.
25405 (grub_dl_load_core): Use `grub_dl_check_header' instead of
25406 `grub_arch_dl_check_header'. Check ELF type. Check if sections
25407 are inside the core.
25408 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
25409 independent ELF header checks.
25410 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25411 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
25412 `grub_dl_check_header' instead of explicit checks. Check for the
25414 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
25415 `grub_dl_check_header' instead of explicit checks. Remove arch
25416 specific ELF header checks.
25418 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
25421 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
25423 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
25424 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
25426 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
25428 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
25429 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
25430 (part_map_iterate): Clear `grub_errno' and return 0 if
25431 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
25432 * partmap/amiga.c (amiga_partition_map_iterate): Return
25433 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
25434 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25436 2005-02-01 Guillem Jover <guillem@hadrons.org>
25438 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
25441 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25443 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
25445 (grub_rescue_cmd_linux): New prototype.
25446 (grub_rescue_cmd_initrd): Likewise.
25447 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
25449 (grub_linux_release_mem): Release the memory for the initrd.
25450 (grub_load_linux): Renamed from this...
25451 (grub_rescue_cmd_linux): ...To this. Changed all callers.
25452 Changed `entry' not to be static. Loop over memory regions to
25453 find another one when the default fails.
25454 (grub_rescue_cmd_initrd): New function.
25455 (grub_linux_init): Remove function.
25456 (grub_linux_fini): Likewise.
25457 (GRUB_MOD_INIT): Register `initrd'.
25458 (GRUB_MOD_FINI): Unregister `initrd'.
25459 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
25461 (grub_linux_normal_fini): Likewise.
25462 (GRUB_MOD_INIT): Register `initrd'.
25463 (GRUB_MOD_FINI): Unregister `initrd'.
25465 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25467 * commands/help.c: New file.
25468 * normal/arg.c (show_help): Renamed to...
25469 (grub_arg_show_help): ... this.
25470 * commands/i386/pc/halt.c: New file.
25471 * commands/i386/pc/reboot.c: Likewise.
25472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
25473 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
25474 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
25475 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
25477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25479 (pkgdata_MODULES): Add `help.mod'.
25480 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
25481 * grub/i386/pc/init.h (grub_reboot): New prototype.
25482 (grub_halt): Likewise.
25483 * include/grub/normal.h (grub_arg_show_help): New prototype.
25484 (grub_help_init): Likewise.
25485 (grub_help_fini): Likewise.
25486 * util/grub-emu.c (main): Initialize and deinitialize the help
25489 * normal/cmdline.c (grub_cmdline_get): Doc fix.
25491 * normal/command.c (grub_command_init): Fixed the description of
25492 the `set' and `unset' commands.
25494 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25496 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
25498 * commands/ieee1275/halt.c: New file.
25499 * commands/ieee1275/reboot.c: Likewise.
25500 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
25501 `__attribute__ ((unused))'. Some GCS related fixed.
25502 (grub_suspend_init) [GRUB_UTIL]: Function removed.
25503 (grub_suspend_fini): Likewise.
25504 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
25506 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
25507 (halt_mod_CFLAGS): New variables.
25508 * include/grub/powerpc/ieee1275/ieee1275.h
25509 (grub_ieee1275_interpret): New prototype.
25511 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
25513 * include/grub/misc.h (memmove): New prototype.
25514 (memcpy): Likewise.
25516 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
25518 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
25519 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
25521 2005-01-22 Marco Gerards <metgerards@student.han.nl>
25523 * kern/misc.c (grub_strndup): Function rewritten.
25525 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
25527 * normal/menu.c (TERM_WIDTH): Macro redefined.
25528 (TERM_TOP_BORDER_Y): Likewise.
25529 (draw_border): Replaced while-loop by a for-loop. Make the number
25530 of lines consistent with the number of lines displayed in
25531 print_entries. Added a margin below the rectangle.
25532 (print_entry): Make the entry fit in the rectangle.
25533 (print_entries): Display the scroll arrows next to the right
25536 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25538 * fs/minix.c (grub_minix_find_file): Reserve more space for
25539 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
25540 `grub_strncpy' to copy `path' into it.
25542 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25544 Add the loopback device, a device via which files can be accessed
25547 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
25548 (pkgdata_MODULES): Add loopback.mod.
25549 (loopback_mod_SOURCES): New variable.
25550 (loopback_mod_CFLAGS): Likewise.
25551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25553 (pkgdata_MODULES): Add loopback.mod.
25554 (loopback_mod_SOURCES): New variable.
25555 (loopback_mod_CFLAGS): Likewise.
25556 * disk/loopback.c: new file.
25557 * include/grub/normal.h (grub_loop_init): New prototype.
25558 (grub_loop_fini): New prototype.
25559 * util/grub-emu.c (main): Initialize and de-initialize loopback
25561 * include/grub/disk.h (grub_disk_dev_id): Add
25562 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
25564 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
25566 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
25568 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
25569 (suspend_mod_SOURCES): New variable.
25570 (suspend_mod_CFLAGS): Likewise.
25571 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
25573 * commands/ieee1275/suspend.c: New file.
25575 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25577 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
25578 ((unused))' to `__attribute__ ((used))'.
25579 (GRUB_MOD_FINI): Likewise.
25580 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
25581 * genmk.rb (PModule): Assign space to common symbols when linking
25584 2005-01-20 Marco Gerards <metgerards@student.han.nl>
25586 * include/grub/mm.h (grub_mm_init_region): Change the type of the
25587 `unsigned' arguments to `grub_size_t'.
25588 (grub_malloc): Likewise.
25589 (grub_realloc): Likewise.
25590 (grub_memalign): Likewise.
25591 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
25592 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25593 * util/misc.c (grub_malloc): Likewise.
25594 (grub_realloc): Likewise.
25595 * kern/mm.c (get_header_from_pointer): Change the casts to
25596 `unsigned' into a cast to `grub_size_t'.
25598 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
25599 point to `currnode' when `currnode' is changed.
25601 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
25602 Schottelius <nico-linux@schottelius.org>.
25604 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
25606 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
25607 (note_path): Remove variable.
25608 (GRUB_IEEE1275_NOTE_NAME): New macro.
25609 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
25610 (grub_ieee1275_note_hdr): New structure.
25611 (grub_ieee1275_note_desc): Likewise.
25612 (grub_ieee1275_note): Likewise.
25613 (load_note): Remove `dir' argument. All callers updated. Remove
25614 `note_img' and `path'. Do not load a file from `note_path'.
25615 Initialize a struct grub_ieee1275_note and write that to `out'.
25616 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
25618 2005-01-05 Marco Gerards <metgerards@student.han.nl>
25620 * util/misc.c (grub_util_read_image): Revert last change. It
25621 called `grub_util_read_at', which seeks from the beginning of the
25624 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
25626 * TODO: Add note about endianness in grub-mkimage.
25627 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
25629 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
25630 (grub_mkimage_SOURCES): New target.
25631 * include/grub/kernel.h (grub_start_addr): Remove variable.
25632 (grub_end_addr): Likewise.
25633 (grub_total_module_size): Likewise.
25634 (grub_kernel_image_size): Likewise.
25635 (GRUB_MODULE_MAGIC): New constant.
25636 (grub_module_info): New structure.
25637 (grub_arch_modules_addr): New prototype.
25638 (grub_get_end_addr): Remove prototype.
25639 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
25640 * include/grub/powerpc/ieee1275/kernel.h: New file.
25641 * include/grub/util/misc.h (grub_util_get_fp_size): New
25643 (grub_util_read_at): Likewise.
25644 (grub_util_write_image_at): Likewise.
25645 * kern/main.c (grub_get_end_addr): Remove function.
25646 (grub_load_modules): Call grub_arch_modules_addr instead of using
25647 grub_end_addr. Look for a grub_module_info struct in memory. Use
25648 the grub_module_info fields instead of calling grub_get_end_addr
25649 as loop conditions. Move grub_add_unused_region code here.
25650 (grub_add_unused_region): Remove function.
25651 * kern/i386/pc/init.c: Include grub/cache.h.
25652 (grub_machine_init): Remove call to grub_get_end_addr. Remove
25653 one call to add_mem_region.
25654 (grub_arch_modules_addr): New function.
25655 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
25656 (grub_total_module_size): Likewise.
25657 Include grub/machine/kernel.h.
25658 (grub_arch_modules_addr): New function.
25659 * util/grub-emu.c (grub_end_addr): Remove variable.
25660 (grub_total_module_size): Likewise.
25661 (grub_arch_modules_addr): New function.
25662 * util/misc.c: Include unistd.h.
25663 (grub_util_get_fp_size): New function.
25664 (grub_util_read_at): Likewise.
25665 (grub_util_write_image_at): Likewise.
25666 (grub_util_read_image): Call grub_util_read_at.
25667 (grub_util_write_image): Call grub_util_write_image_at.
25668 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
25669 additional memory in kernel_img for a struct grub_module_info.
25670 Fill in that grub_module_info.
25671 * util/powerpc/ieee1275/grub-mkimage.c: New file.
25673 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25675 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
25677 * include/grub/powerpc/ieee1275/ieee1275.h
25678 (grub_ieee1275_milliseconds): New prototype.
25679 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
25681 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
25682 grub_ieee1275_milliseconds.
25684 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25686 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
25688 (find_options): New function.
25689 (cmain): Call find_options.
25690 * include/grub/powerpc/ieee1275/ieee1275.h
25691 (grub_ieee1275_realmode): New extern variable.
25692 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
25693 grub_map if grub_ieee1275_realmode is false.
25695 2004-12-29 Marco Gerards <metgerards@student.han.nl>
25697 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
25698 lines are inserted and make it work like readline. Reported by
25699 Vincent Pelletier <subdino2004@yahoo.fr>.
25701 2004-12-28 Marco Gerards <metgerards@student.han.nl>
25703 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
25705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
25706 `kern/powerpc/cache.S'.
25708 2004-12-27 Marco Gerards <metgerards@student.han.nl>
25710 * genmk.rb: Handle the `Program' class in the main loop. Written
25711 by Johan Rydberg <jrydberg@gnu.org>.
25712 (Program): New class.
25713 (programs): New variable.
25714 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
25715 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
25716 instead of "grub/kernel.h". Include <grub/machine/init.h>.
25717 (help_arch): Function removed.
25718 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
25719 `powerpc/libgcc.h' and `loader.h'.
25720 (pkgdata_PROGRAMS): New variable.
25721 (sbin_UTILITIES): Variable removed.
25722 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
25723 (grubof_SOURCES): Variable re-defined so it only includes the
25724 core functionality.
25725 (grubof_CFLAGS): Remove `-DGRUBOF'.
25726 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
25727 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
25728 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
25729 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
25730 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
25731 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
25732 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
25733 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
25734 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
25735 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
25736 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25737 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
25738 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
25739 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
25740 (pc_mod_CFLAGS): New variables.
25741 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
25742 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
25743 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
25744 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
25746 * include/grub/i386/pc/init.h (grub_os_area_addr)
25747 (rub_os_area_size): ... to here.
25748 * include/grub/powerpc/ieee1275/ieee1275.h
25749 (grub_ieee1275_entry_fn): Export symbol.
25750 * include/grub/powerpc/ieee1275/init.h: New file.
25751 * include/grub/powerpc/libgcc.h: Likewise.
25752 * include/grub/cache.h: Likewise.
25753 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
25754 <hollis@penguinppc.org>.
25755 * kern/dl.c: Include <grub/cache.h>.
25756 (grub_dl_flush_cache): New function.
25757 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
25759 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
25760 (grub_console_init): Removed prototypes.
25761 (grub_machine_init): Don't initialize the modules anymore.
25762 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
25764 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
25765 Macro undef removed.
25766 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
25767 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
25768 relocation `R_PPC_REL32'. Return an error when the relocation is
25770 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
25771 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
25772 * util/misc.c (grub_arch_sync_caches): Likewise.
25774 2004-12-19 Marco Gerards <metgerards@student.han.nl>
25776 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
25777 `symlist.c', add `grubof_symlist.c'.
25778 (symlist.c): Variable removed.
25779 (grubof_HEADERS): Variable added.
25780 (grubof_symlist.c): New target.
25781 (kernel_syms.lst): Use `grubof_HEADERS' instead of
25782 `kernel_img_HEADERS'.
25783 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
25784 * kern/powerpc/dl.c: New file.
25785 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
25787 (grub_arch_dl_relocate_symbols): Likewise.
25788 (grub_register_exported_symbols): Likewise.
25790 2004-12-13 Marco Gerards <metgerards@student.han.nl>
25792 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
25793 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
25794 to fail instead. Reported by Vincent Pelletier
25795 <subdino2004@yahoo.fr>.
25797 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
25798 it is not allocated. Reported by Vincent Pelletier
25799 <subdino2004@yahoo.fr>.
25801 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
25802 output so the output looks better.
25804 2004-12-04 Marco Gerards <metgerards@student.han.nl>
25806 Modulize the partition map support and add support for the amiga
25809 * commands/ls.c: Include <grub/partition.h> instead of
25810 <grub/machine/partition.h>.
25811 * kern/disk.c: Likewise.
25812 * kern/rescue.c: Likewise.
25813 * loader/i386/pc/chainloader.c: Likewise.
25814 * normal/cmdline.c: Likewise.
25815 * kern/powerpc/ieee1275/init.c: Likewise.
25816 (grub_machine_init): Call `grub_pc_partition_map_init',
25817 `grub_amiga_partition_map_init' and
25818 `grub_apple_partition_map_init'.
25819 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
25820 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
25821 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
25822 `partition.h' and `pc_partition.h'.
25823 (grub_setup_SOURCES): Remove
25824 `disk/i386/pc/partition.c'. Add `kern/partition.c',
25825 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25826 (grub_emu_SOURCES): Likewise.
25827 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
25828 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
25829 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
25830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25831 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
25832 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25833 (grubof_SOURCES): Likewise.
25834 * disk/i386/pc/partition.c: File removed.
25835 * disk/powerpc/ieee1275/partition.c: Likewise.
25836 * include/grub/powerpc/ieee1275/partition.h: Likewise.
25837 * include/grub/i386/pc/partition.h: Likewise.
25838 * kern/partition.c: New file.
25839 * partmap/amiga.c: Likewise.
25840 * partmap/apple.c: Likewise.
25841 * partmap/pc.c: Likewise.
25842 * include/grub/partition.h: Likewise..
25843 * include/grub/pc_partition.h: Likewise.
25844 * util/grub-emu.c: Include <grub/partition.h> instead of
25845 <grub/machine/partition.h>.
25846 (main): Call `grub_pc_partition_map_init',
25847 `grub_amiga_partition_map_init' and
25848 `grub_apple_partition_map_init' and deinitialize afterwards.
25849 * util/i386/pc/biosdisk.c: Include `#include
25850 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25851 `<grub/machine/partition.h>'.
25852 * util/i386/pc/grub-setup.c: Likewise.
25853 * util/i386/pc/biosdisk.c: Likewise.
25854 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
25855 partition information in case of a PC partition.
25856 * util/i386/pc/grub-setup.c: Include `#include
25857 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25858 `<grub/machine/partition.h>'.
25859 (setup): Only access the PC specific partition information in case
25862 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
25864 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
25865 (grub_longjmp): Likewise.
25866 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
25868 * normal/powerpc/setjmp.S: New file.
25869 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
25870 `normal/powerpc/setjmp.S'.
25871 (grubof_CFLAGS): Add `-DGRUBOF'.
25872 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
25873 [GRUB_UTIL && !GRUBOF].
25875 2004-11-16 Marco Gerards <metgerards@student.han.nl>
25877 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
25878 property named `name'. Correctly handle the error returned by
25879 `grub_ieee1275_finddevice' if a device can not be opened.
25881 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
25883 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
25884 `actual' for negativity.
25885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25888 2004-11-01 Marco Gerards <metgerards@student.han.nl>
25890 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
25891 (PAGE_OFFSET): New macro.
25892 (CRTC_ADDR_PORT): Likewise.
25893 (CRTC_DATA_PORT): Likewise.
25894 (START_ADDR_HIGH_REGISTER): Likewise.
25895 (START_ADDR_LOW_REGISTER): Likewise.
25896 (GRAPHICS_ADDR_PORT): Likewise.
25897 (GRAPHICS_DATA_PORT): Likewise.
25898 (READ_MAP_REGISTER): Likewise.
25899 (INPUT_STATUS1_REGISTER): Likewise.
25900 (INPUT_STATUS1_VERTR_BIT): Likewise.
25901 (page): New variable.
25902 (wait_vretrace): New function.
25903 (set_read_map): Likewise.
25904 (set_start_address): Likewise.
25905 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
25907 (check_vga_mem): Take the page into account.
25908 (write_char): Likewise.
25909 (write_cursor): Likewise.
25910 (scroll_up): Likewise. Copy the page to the page that is not
25911 shown and switch between both pages.
25912 (grub_vga_putchar): Fix off by one error.
25913 (grub_vga_cls): Wait for the vertical retrace. Take the page into
25916 2004-11-01 Marco Gerards <metgerards@student.han.nl>
25918 Add support for iso9660 (including rockridge).
25920 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25921 (iso9660_mod_SOURCES): New variable.
25922 (iso9660_mod_CFLAGS): Likewise.
25923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25924 * include/grub/fs.h (grub_iso9660_init): New prototype.
25925 * util/grub-emu.c (main): Call `grub_iso9660_init'.
25926 * fs/iso9660.c: New file.
25928 * include/grub/misc.h (grub_strncat): New prototype.
25929 * kern/misc.c (grub_strncat): New function.
25931 * fs/hfs.c (grub_hfs_mount): Translate the error
25932 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
25933 * fs/jfs.c (grub_jfs_mount): Likewise.
25934 * fs/ufs.c (grub_ufs_mount): Likewise.
25936 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
25938 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
25939 which initialized BAT registers.
25940 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
25941 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25943 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
25944 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25946 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
25947 (grub_mapclaim): Likewise.
25948 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
25949 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
25952 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
25954 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
25955 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
25956 -ffreestanding and -msoft-float.
25958 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
25960 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
25961 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
25962 set in grub_ieee1275_flags.
25964 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
25966 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
25968 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
25969 grub_console_init first.
25970 Change the memory range used for grub_ieee1275_claim and
25971 grub_mm_init_region.
25972 Print an error message if the claim fails.
25973 Include <grub/misc.h>.
25975 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
25977 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
25978 Call grub_children_iterate for device nodes of type `scsi',
25980 (grub_ofdisk_open): Remove manual device alias resolution.
25981 Fix memory leak when device cannot be opened.
25982 * include/grub/powerpc/ieee1275/ieee1275.h
25983 (grub_children_iterate): New prototype.
25984 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
25986 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25987 Return -1 if args.size was -1.
25989 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25991 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
25992 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
25993 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
25994 Open Firmware's memory for it; claim memory from _start to _end.
25995 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
25996 (_end): New extern.
25997 (_start): Zero BSS from __bss_start to _end.
25998 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26000 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26002 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26004 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26005 -1 if args.base was -1.
26007 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26009 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26010 escape sequence instead of a literal ^L. Also call
26011 grub_ofconsole_gotoxy.
26013 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26015 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26016 void * arguments to grub_addr_t. All callers updated. Also make
26017 the `result' argument optional.
26018 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26019 All callers updated.
26021 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26023 * commands/ls.c (grub_ls_list_files): Use the string following the
26024 initial ')', if present, as the filesystem path.
26025 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26027 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26029 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26031 Make the source code of the menu interface more readable.
26033 * normal/menu.c: Include grub/mm.h.
26034 (TERM_WIDTH): New macro.
26035 (TERM_HEIGHT): Likewise.
26036 (TERM_INFO_HEIGHT): Likewise.
26037 (TERM_MARGIN): Likewise.
26038 (TERM_SCROLL_WIDTH): Likewise.
26039 (TERM_TOP_BORDER_Y): Likewise.
26040 (TERM_LEFT_BORDER_X): Likewise.
26041 (TERM_BORDER_WIDTH): Likewise.
26042 (TERM_MESSAGE_HEIGHT): Likewise.
26043 (TERM_BORDER_HEIGHT): Likewise.
26044 (TERM_NUM_ENTRIES): Likewise.
26045 (TERM_FIRST_ENTRY_Y): Likewise.
26046 (TERM_ENTRY_WIDTH): Likewise.
26047 (TERM_CURSOR_X): Likewise.
26048 (draw_border): Use macros instead of magic numbers.
26049 (print_entry): Likewise.
26050 (print_entries): Likewise.
26051 (run_menu): Likewise. Also, handle the key 'e'.
26052 (run_menu_entry): Ignore empty command lines.
26053 (print_message): Added a new argument EDIT. If EDIT is true,
26054 print a different message.
26055 (init_page): Likewise.
26056 (edit_menu_entry): New function. Not implemented yet.
26058 2004-09-17 Marco Gerards <metgerards@student.han.nl>
26060 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26061 can be loaded from normal mode.
26063 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26065 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26066 (multiboot_mod_CFLAGS): New variables.
26067 * loader/i386/pc/linux_normal.c: New file.
26068 * loader/i386/pc/multiboot_normal.c: Likewise.
26070 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26071 attribute `unused'.
26073 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26074 `fdiro' to read the mode information from instead of `diro'.
26076 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26077 looking up a symlink.
26079 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26081 * normal/command.c (grub_command_execute): Don't parse the
26082 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26083 flags of the command.
26085 * normal/menu.c (grub_menu_run): Fix typo.
26087 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26089 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26091 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26092 `y + 1' instead of `y - 1'.
26094 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
26096 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26098 From Hollis Blanchard <hollis@penguinppc.org>:
26099 * kern/misc.c (memmove): New alias for grub_memmove.
26100 (memcmp): New alias for grub_memcmp.
26101 (memset): New alias for grub_memset.
26102 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26103 Change "int handle" to "grub_ieee1275_phandle_t handle".
26104 * include/grub/powerpc/ieee1275/ieee1275.h
26105 (grub_ieee1275_get_property): Likewise.
26107 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26109 Added normal mode command `chainloader' as module chain.mod, which
26110 depends on normal.mod and _chain.mod.
26112 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26113 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26114 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26116 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26117 but arguments parsing moved to ...
26118 (grub_chainloader_cmd): ... here. New function.
26119 * include/grub/i386/pc/chainloader.h: New file.
26120 * loader/i386/pc/chainloader_normal.c: Likewise.
26122 2004-09-11 Marco Gerards <metgerards@student.han.nl>
26124 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26125 (grub_mkimage_LDFLAGS): Likewise.
26126 (grub_emu_SOURCES): Likewise.
26127 (kernel_img_HEADERS): Added fshelp.h.
26128 * fs/ext2.c: Include <grub/fshelp.h>.
26129 (FILETYPE_REG): New macro.
26130 (FILETYPE_INO_REG): Likewise.
26131 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26133 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26135 (grub_fshelp_node): New struct.
26136 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26138 (grub_ext2_get_file_block): Removed function.
26139 (grub_ext2_read_block): New function.
26140 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26141 This function was written.
26142 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26143 (grub_ext2_find_file): Removed function.
26144 (grub_ext2_read_symlink): New function.
26145 (grub_ext2_iterate_dir): Likewise.
26146 (grub_ext2_open): Rewritten.
26147 (grub_ext2_dir): Rewritten.
26148 * include/grub/fshelp.h: New file.
26149 * fs/fshelp.c: Likewise.
26151 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26153 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26154 (print_message): Add a missing newline.
26155 (run_menu): Added timeout support.
26156 (run_menu_entry): New local function.
26157 (grub_menu_run): Added support for booting.
26159 * kern/loader.c (grub_loader_is_loaded): New function.
26161 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26162 (grub_get_rtc): Exported.
26164 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26165 (grub_get_rtc): Exported.
26167 * include/grub/normal.h (struct grub_command_list): Remove
26168 constant from the member `command'.
26170 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26172 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26174 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26176 2004-08-28 Marco Gerards <metgerards@student.han.nl>
26178 Add support for the JFS filesystem.
26180 * fs/jfs.c: New file.
26181 * include/grub/fs.h (grub_jfs_init): New prototype.
26182 (grub_jfs_fini): New prototype.
26183 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26184 (grub_emu_SOURCES): Likewise.
26185 (pkgdata_MODULES): Add jfs.mod.
26186 (jfs_mod_SOURCES): New variable.
26187 (jfs_mod_CFLAGS): Likewise.
26188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26189 (grubof_SOURCES): Likewise.
26190 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26192 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26193 endian to the host endian.
26194 (grub_fat_utf16_to_utf8): Move function from there...
26195 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
26196 the endianness of the source string anymore.
26197 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26199 2004-08-24 Marco Gerards <metgerards@student.han.nl>
26201 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26202 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26203 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26204 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
26206 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26207 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26208 for `node_found' and `it_dir'.
26209 (grub_hfs_dir): Add prototype for `dir_hook'.
26211 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26212 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26213 and `indir32' to silence a gcc warning.
26215 * include/grub/fs.h (grub_hfs_init): New prototype.
26216 (grub_hfs_fini): Likewise.
26219 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26221 Each disk device has its own id now. This is useful to make use
26222 of multiple disk devices.
26224 * include/grub/disk.h (grub_disk_dev_id): New enum.
26225 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26226 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26228 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26229 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26231 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26232 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26234 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26235 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26237 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26238 "id" which is used by the cache manager.
26240 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
26243 2004-08-18 Marco Gerards <metgerards@student.han.nl>
26245 * fs/hfs.c: New file.
26246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
26247 (grub_emu_SOURCES): Likewise.
26248 (pkgdata_MODULES): Add hfs.mod.
26249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
26250 (grubof_SOURCES): Likewise.
26251 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
26253 * include/grub/misc.h (grub_strncasecmp): Add prototype.
26254 * kern/misc.c (grub_strncasecmp): Add function.
26256 2004-08-14 Marco Gerards <metgerards@student.han.nl>
26258 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
26261 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
26262 (grub_ext2_dir): In case the directory entry type is unknown, read
26265 2004-08-02 Peter Bruin <pjbruin@dds.nl>
26267 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
26268 grub_load_linux instead of grub_rescue_cmd_linux as second
26269 argument of grub_rescue_register_command.
26271 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
26273 2004-07-27 Marco Gerards <metgerards@student.han.nl>
26275 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
26277 * commands/boot.c: Remove the check for `GRUB_UTIL'.
26278 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26279 `loader/powerpc/ieee1275/linux.c',
26280 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
26281 * include/grub/powerpc/ieee1275/ieee1275.h
26282 (grub_ieee1275_release): New prototype.
26283 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
26284 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
26285 normal, boot, linux and linux_normal.
26286 * loader/powerpc/ieee1275/linux.c: New file.
26287 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26289 2004-07-12 Marco Gerards <metgerards@student.han.nl>
26291 * normal/arg.c (grub_arg_parse): Correct error handling after
26292 reallocating the argumentlist (check if `argl' is not null instead
26293 of checking if `args' is not null).
26294 * kern/mm.c (grub_realloc): Return the same pointer when using the
26295 same region, instead of returning the header address.
26297 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26299 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
26300 one block instead of two when looking for the initial partition.
26301 (grub_partition_probe): Initialize the local variable `p' with 0.
26302 Use base 10 for the grub_strtoul call.
26303 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
26304 need for one local variable.
26305 (grub_strtoul): Don't add the new value to `num', instead of that
26308 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26310 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
26311 (pxeboot_img_SOURCES): New variable.
26312 (pxeboot_img_ASFLAGS): Likewise.
26313 (pxeboot_img_LDFLAGS): Likewise.
26314 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
26315 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
26316 <lode_leroy@hotmail.com>.
26318 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26320 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
26321 there was no input.
26323 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26325 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
26326 the history buffer logic.
26328 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26330 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
26331 (FILETYPE_INO_SYMLINK): New macros.
26332 (grub_ext2_find_file): Check if the node is a directory using the
26333 inode stat information instead of using the filetype in the
26334 dirent. Exclude the first character of an absolute symlink.
26335 (grub_ext2_dir): Mask out the filetype part of the mode member of
26338 2004-05-24 Marco Gerards <metgerards@student.han.nl>
26340 Add support for UFS version 1 and 2. Add support for the minix
26341 filesystem version 1 and 2, both the variants with 14 and 30 long
26344 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
26346 (grub_emu_SOURCES): Likewise.
26347 (pkgdata_MODULES): Add ufs.mod and minix.mod.
26348 (ufs_mod_SOURCES): New variable.
26349 (ufs_mod_CFLAGS): Likewise.
26350 (minix_mod_SOURCES): Likewise.
26351 (minix_mod_CFLAGS): Likewise.
26352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
26354 (grubof_SOURCES): Likewise.
26355 * fs/ufs.c: New file.
26356 * fs/minix.c: New file.
26357 * include/grub/fs.h (grub_ufs_init): New prototype.
26358 (grub_ufs_fini): Likewise.
26359 (grub_minix_init): Likewise.
26360 (grub_minix_fini): Likewise.
26361 * util/grub-emu.c (main): Initialize and deinitialize UFS and
26364 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
26366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
26367 commands/ls.c, commands/terminal.c, commands/boot.c,
26368 commands/cmp.c and commands/cat.c.
26369 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
26371 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
26374 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26376 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
26377 and grub_, respectively. Because the conversion is trivial and
26378 mechanical, I omit the details here. Please refer to the CVS
26379 if you need more information.
26381 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26383 * include/pupa: Renamed to ...
26384 * include/grub: ... this.
26385 * util/i386/pc/pupa-mkimage.c: Renamed to ...
26386 * util/i386/pc/grub-mkimage.c: ... this.
26387 * util/i386/pc/pupa-setup.c: Renamed to ...
26388 * util/i386/pc/grub-setup.c: ... this.
26389 * util/pupa-emu.c: Renamed to ...
26390 * util/grub-emu.c: ... this.
26392 2004-03-29 Marco Gerards <metgerards@student.han.nl>
26394 Add support for the newworld apple macintosh (PPC). This has been
26395 tested on the powerbook 2000 only. It only adds support for
26396 generic ieee1275 functions, console and disk support. This should
26397 be easy to port to other architectures with support for Open
26400 * configure.ac: Accept the powerpc as host_cpu. In the case of
26401 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
26402 specific tests are only executed while building for the i386.
26403 Inverse test for crosscompile.
26404 * genmk.rb (Utility): Allow assembler files.
26405 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
26406 * conf/powerpc-ieee1275.rmk: New file.
26407 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
26408 * disk/powerpc/ieee1275/partition.c: Likewise.
26409 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
26410 * include/pupa/powerpc/ieee1275/console.h: Likewise.
26411 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
26412 * include/pupa/powerpc/ieee1275/time.h: Likewise.
26413 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
26414 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
26415 * include/pupa/powerpc/ieee1275/loader.h
26416 * include/pupa/powerpc/setjmp.h: Likewise.
26417 * include/pupa/powerpc/types.h: Likewise.
26418 * kern/powerpc/ieee1275/init.c: Likewise.
26419 * kern/powerpc/ieee1275/openfw.c: Likewise.
26420 * term/powerpc/ieee1275/ofconsole.c: Likewise.
26422 These files were written by Johan Rydberg
26423 (jrydberg@night.trouble.net) and I only modified them slightly.
26425 * boot/powerpc/ieee1275/cmain.c: New file.
26426 * boot/powerpc/ieee1275/crt0.S: Likewise.
26427 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
26428 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
26430 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
26432 * Makefile.in: Update copyright.
26433 * genmodsrc.sh: Likewise.
26434 * gensymlist.sh: Likewise.
26435 * term/i386/pc/vga.c: Indent correctly.
26437 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
26438 bugreporting address.
26439 * util/i386/pc/pupa-setup.c (usage): Likewise,
26440 (main): Call pupa_ext2_init and pupa_ext2_fini.
26442 * fs/fat.c (log2): Renamed to ...
26443 (fat_log2): ... this.
26444 All callers changed.
26445 * kern/misc.c (memcpy): Alias to pupa_memmove.
26446 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
26448 * util/console.c (pupa_ncurses_fini): Return 0.
26450 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
26451 Move fail label here.
26452 [__GNU__]: Don't warn when using stat.
26453 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
26454 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
26455 long int. Use strtol instead of strtoul.
26457 2004-03-14 Marco Gerards <metgerards@student.han.nl>
26459 * commands/boot.c: New file.
26460 * commands/cat.c: Likewise.
26461 * commands/cmp.c: Likewise.
26462 * commands/ls.c: Likewise.
26463 * commands/terminal.c: Likewise.
26464 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
26465 (pupa_register_command): Changed interface to match the new
26467 (pupa_command_execute): Changed (almost rewritten) so it uses
26468 pupa_split_command. Added support for setting variables using the
26470 (rescue_command): Changed to work with the new argument parser.
26471 (terminal_command): Moved from here to commands/terminal.c.
26472 (set_command): New function.
26473 (unset_command): New function.
26474 (insmod_command): New function.
26475 (rmmod_command): New function.
26476 (lsmod_command): New function.
26477 (pupa_command_init): Don't initialize the command terminal
26478 anymore. Initialize the commands set, unset, insmod, rmmod and
26480 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
26481 (kernel_img_HEADERS): Add arg.h and env.h.
26482 (pupa_mkimage_LDFLAGS): Add kern/env.c.
26483 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
26484 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
26486 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
26488 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
26489 (boot_mod_SOURCES): New variable.
26490 (terminal_mod_SOURCES): Likewise.
26491 (ls_mod_SOURCES): Likewise.
26492 (cmp_mod_SOURCES): Likewise.
26493 (cat_mod_SOURCES): Likewise.
26495 * normal/arg.c: New file.
26496 * kern/env.c: Likewise.
26497 * include/pupa/arg.h: Likewise.
26498 * include/pupa/env.h: Likewise.
26499 * font/manager.c (font_command): Changed to match argument parsing
26501 (PUPA_MOD_INIT): Likewise.
26502 * hello/hello.c (pupa_cmd_hello): Likewise.
26503 (PUPA_MOD_INIT): Likewise.
26504 * include/pupa/disk.h: Include <pupa/device.h>.
26505 (pupa_print_partinfo): New prototype.
26506 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
26507 (pupa_dl_get_prefix): Likewise.
26508 * include/pupa/misc.h: Include <pupa/err.h>.
26509 (pupa_isgraph): New prototype.
26510 (pupa_isdigit): Likewise.
26511 (pupa_split_cmdline): Likewise.
26512 * include/pupa/normal.h: Include <pupa/arg.h>.
26513 (pupa_command): Changed the prototype of the member `func' to
26514 match the argument parsing interface. Added member `options'.
26515 (pupa_register_command): Updated to match function.
26516 (pupa_arg_parse): New prototype.
26517 (pupa_hello_init) [PUPA_UTIL]: New prototype.
26518 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
26519 (pupa_ls_init) [PUPA_UTIL]: Likewise.
26520 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
26521 (pupa_cat_init) [PUPA_UTIL]: Likewise.
26522 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
26523 (pupa_boot_init) [PUPA_UTIL]: Likewise.
26524 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
26525 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
26526 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
26527 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
26528 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
26529 * kern/disk.c: Include <pupa/file.h>.
26530 (pupa_print_partinfo): New function.
26531 * kern/dl.c: Include <pupa/env.h>.
26532 (pupa_dl_dir): Variable removed.
26533 (pupa_dl_load): Use the environment variable `prefix' instead of
26534 the variable pupa_dl_dir.
26535 (pupa_dl_set_prefix): Function removed.
26536 (pupa_dl_get_prefix): Likewise.
26537 * kern/i386/pc/init.c: Include <pupa/env.h>.
26538 (pupa_machine_init): Use the environment variable `prefix' instead of
26539 using pupa_dl_set_prefix to set the prefix.
26540 * kern/main.c: Include <pupa/env.h>.
26541 (pupa_set_root_dev): Use the environment variable `prefix' instead of
26542 using pupa_dl_get_prefix to get the prefix.
26543 * kern/misc.c: Include <pupa/env.h>.
26544 (pupa_isdigit): New function.
26545 (pupa_isgraph): Likewise.
26546 (pupa_ftoa): Likewise.
26547 (pupa_vsprintf): Added support for printing values of the type
26548 `double'. Make it possible to format variable output when using
26549 formatting like `%1.2%f'.
26550 (pupa_split_cmdline): New function.
26551 * kern/rescue.c: Include <pupa/env.h>.
26552 (next_word): Removed function.
26553 (pupa_rescue_cmd_prefix): Likewise.
26554 (pupa_rescue_cmd_set): New function.
26555 (pupa_rescue_cmd_unset): New function.
26556 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
26557 split the command line instead of splitting it here. Added
26558 support for setting variables using the syntax `foo=bar'. Don't
26559 initialize the prefix command anymore. Initialized the set and
26561 * normal/cmdline.c: Include <pupa/env.h>.
26562 (pupa_tab_complete): Added prototypes for print_simple_completion,
26563 print_partition_completion, add_completion, iterate_commands,
26564 iterate_dev, iterate_part and iterate_dir. Moved code to print
26565 partition information from here to kern/disk.c.
26566 (pupa_cmdline_run): Don't check if the function exists anymore.
26567 * normal/main.c: Include <pupa/env.h>.
26568 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
26569 instead of using pupa_dl_get_prefix to get the prefix.
26570 * term/i386/pc/vga.c: Include <pupa/arg.h>.
26571 (check_vga_mem): Cast pointers to `void *' to silence a gcc
26573 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
26574 (pupa_vga_setcolor): Declare unused variables with `__attribute__
26575 ((unused))' to silence a gcc warning.
26576 (pupa_vga_setcolor): Likewise.
26577 (debug_command): Changed to match argument parsing
26579 * util/pupa-emu.c: Include <pupa/env.h>.
26580 (options): Added 0's for unused fields to silence a gcc warning.
26582 (main): Use the environment variable `prefix' instead of using
26583 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
26584 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
26587 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
26588 * util/misc.c: Include <malloc.h>.
26589 (pupa_malloc): Rewritten so errors are correctly reported.
26590 (pupa_realloc): Likewise.
26591 (pupa_memalign): Likewise.
26592 (pupa_mm_init_region): Declare unused variables with
26593 `__attribute__ ((unused))' to silence a gcc warning.
26594 * normal/i386/setjmp.S: Remove tab at the end of the file to
26595 silence a gcc warning.
26596 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
26597 variables with `__attribute__ ((unused))' to silence a gcc
26599 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
26600 local variable i unsigned to silence a gcc warning.
26602 * kern/term.c: Include <pupa/misc.h>.
26603 (pupa_more_lines): New variable.
26604 (pupa_more): Likewise.
26605 (pupa_putcode): When the pager is active pause at the end of every
26607 (pupa_set_more): New function.
26608 * include/pupa/term.h (pupa_set_more): New prototype.
26611 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
26613 Now this project is GRUB 2 rather than PUPA. The location of
26614 the CVS repository was moved to GRUB's.
26616 * configure.ac: Use bug-grub as the reporting address.
26617 Use GRUB instead of PUPA.
26618 Change the version number to 1.90.
26620 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
26622 * genkernsyms.sh: Updated copyright information.
26623 * genmk.rb: Likewise.
26624 * genmodsrc.sh: Likewise.
26625 * gensymlist.sh: Likewise.
26626 * boot/i386/pc/boot.S: Likewise.
26627 * boot/i386/pc/diskboot.S: Likewise.
26628 * disk/i386/pc/biosdisk.c: Likewise.
26629 * disk/i386/pc/partition.c: Likewise.
26630 * font/manager.c: Likewise.
26631 * fs/ext2.c: Likewise.
26632 * fs/fat.c: Likewise.
26633 * include/pupa/boot.h: Likewise.
26634 * include/pupa/device.h: Likewise.
26635 * include/pupa/disk.h: Likewise.
26636 * include/pupa/dl.h: Likewise.
26637 * include/pupa/elf.h: Likewise.
26638 * include/pupa/err.h: Likewise.
26639 * include/pupa/file.h: Likewise.
26640 * include/pupa/font.h: Likewise.
26641 * include/pupa/fs.h: Likewise.
26642 * include/pupa/kernel.h: Likewise.
26643 * include/pupa/loader.h: Likewise.
26644 * include/pupa/misc.h: Likewise.
26645 * include/pupa/mm.h: Likewise.
26646 * include/pupa/net.h: Likewise.
26647 * include/pupa/normal.h: Likewise.
26648 * include/pupa/rescue.h: Likewise.
26649 * include/pupa/setjmp.h: Likewise.
26650 * include/pupa/symbol.h: Likewise.
26651 * include/pupa/term.h: Likewise.
26652 * include/pupa/types.h: Likewise.
26653 * include/pupa/i386/setjmp.h: Likewise.
26654 * include/pupa/i386/types.h: Likewise.
26655 * include/pupa/i386/pc/biosdisk.h: Likewise.
26656 * include/pupa/i386/pc/boot.h: Likewise.
26657 * include/pupa/i386/pc/console.h: Likewise.
26658 * include/pupa/i386/pc/init.h: Likewise.
26659 * include/pupa/i386/pc/kernel.h: Likewise.
26660 * include/pupa/i386/pc/linux.h: Likewise.
26661 * include/pupa/i386/pc/loader.h: Likewise.
26662 * include/pupa/i386/pc/memory.h: Likewise.
26663 * include/pupa/i386/pc/multiboot.h: Likewise.
26664 * include/pupa/i386/pc/partition.h: Likewise.
26665 * include/pupa/i386/pc/time.h: Likewise.
26666 * include/pupa/i386/pc/vga.h: Likewise.
26667 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
26668 * include/pupa/util/getroot.h: Likewise.
26669 * include/pupa/util/misc.h: Likewise.
26670 * include/pupa/util/resolve.h: Likewise.
26671 * kern/device.c: Likewise.
26672 * kern/disk.c: Likewise.
26673 * kern/dl.c: Likewise.
26674 * kern/err.c: Likewise.
26675 * kern/file.c: Likewise.
26676 * kern/fs.c: Likewise.
26677 * kern/loader.c: Likewise.
26678 * kern/main.c: Likewise.
26679 * kern/misc.c: Likewise.
26680 * kern/mm.c: Likewise.
26681 * kern/rescue.c: Likewise.
26682 * kern/term.c: Likewise.
26683 * kern/i386/dl.c: Likewise.
26684 * kern/i386/pc/init.c: Likewise.
26685 * kern/i386/pc/lzo1x.S: Likewise.
26686 * kern/i386/pc/startup.S: Likewise.
26687 * loader/i386/pc/chainloader.c: Likewise.
26688 * loader/i386/pc/linux.c: Likewise.
26689 * loader/i386/pc/multiboot.c: Likewise.
26690 * normal/cmdline.c: Likewise.
26691 * normal/command.c: Likewise.
26692 * normal/main.c: Likewise.
26693 * normal/menu.c: Likewise.
26694 * normal/i386/setjmp.S: Likewise.
26695 * term/i386/pc/console.c: Likewise.
26696 * term/i386/pc/vga.c: Likewise.
26697 * util/console.c: Likewise.
26698 * util/genmoddep.c: Likewise.
26699 * util/misc.c: Likewise.
26700 * util/pupa-emu.c: Likewise.
26701 * util/resolve.c: Likewise.
26702 * util/unifont2pff.rb: Likewise.
26703 * util/i386/pc/biosdisk.c: Likewise.
26704 * util/i386/pc/getroot.c: Likewise.
26705 * util/i386/pc/pupa-mkimage.c: Likewise.
26706 * util/i386/pc/pupa-setup.c: Likewise.
26708 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
26710 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
26711 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
26712 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
26713 reading and reset it after reading.
26714 (pupa_ext2_close): Return PUPA_ERR_NONE.
26716 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
26718 (struct linux_kernel_header): Add kernel_version and
26720 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
26721 pupa_file_read succeeds.
26722 (pupa_rescue_cmd_initrd): Implement.
26724 2003-12-03 Marco Gerards <metgerards@student.han.nl>
26726 * fs/ext2.c (pupa_ext2_label): New function.
26727 (pupa_ext2_fs): Added label.
26728 * fs/fat.c (pupa_fat_label): New function.
26729 (pupa_fat_fs): Added label.
26730 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
26732 * kern/misc.c (pupa_strndup): New function.
26733 * include/pupa/misc.h (pupa_strndup): New prototype.
26735 * include/pupa/normal.h: Include <pupa/err.h>.
26736 (pupa_set_history): New prototype.
26737 (pupa_iterate_commands): New prototype.
26738 * normal/cmdline.c: Include <pupa/machine/partition.h>,
26739 <pupa/disk.h>, <pupa/file.h>.
26740 (hist_size): New variable.
26741 (hist_lines): Likewise.
26742 (hist_end): Likewise.
26743 (hist_used): Likewise.
26744 (pupa_set_history): New function.
26745 (pupa_history_get): Likewise.
26746 (pupa_history_add): Likewise.
26747 (pupa_history_replace): Likewise.
26748 (pupa_tab_complete): Likewise.
26749 (pupa_cmdline_run): Added tab completion and history buffer. Tab
26750 completion shows partitionnames while completing partitions, this
26751 feature was suggested by Jeff Bailey.
26752 * normal/command.c (pupa_iterate_commands): New function.
26753 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
26754 (pupa_normal_init): Initialize history buffer.
26755 (PUPA_MOD_INIT): Likewise.
26756 (pupa_normal_fini): Free the history buffer.
26757 (PUPA_MOD_FINI): Likewise.
26759 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
26762 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
26763 * configure.ac [i386]: Check for regparam bug.
26764 (NESTED_FUNC_ATTR) [! i386]: Defined.
26766 2003-11-17 Marco Gerards <metgerards@student.han.nl>
26768 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
26769 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
26770 (pupa_emu_SOURCES): New variable.
26771 (pupa_emu_LDFLAGS): Likewise.
26772 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
26773 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
26774 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
26775 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26776 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
26777 (pupa_jmp_buf): New typedef.
26778 (pupa_setjmp) [PUPA_UTIL]: New macro.
26779 (pupa_longjmp) [PUPA_UTIL]: Likewise.
26780 * include/pupa/term.h (struct pupa_term): New member `refresh'.
26781 (pupa_refresh): New prototype.
26782 * include/pupa/util/getroot.h: New file.
26783 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
26785 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
26786 (pupa_rescue_cmd_cat): Likewise.
26787 (pupa_rescue_cmd_ls): Likewise.
26788 (pupa_rescue_cmd_testload): Likewise.
26789 (pupa_rescue_cmd_lsmod): Likewise.
26790 * normal/cmdline.c (pupa_cmdline_get): Likewise.
26791 * normal/menu.c (run_menu): Likewise.
26792 * kern/term.c (pupa_cls): Likewise.
26793 (pupa_refresh): New function.
26794 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
26795 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26796 * util/console.c: New file.
26798 * util/i386/pc/getroot.c: New file.
26799 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
26800 (pupa_putchar): New function.
26801 (pupa_refresh): Likewise.
26802 (xgetcwd): Function moved to ...
26803 (strip_extra_slashes): Likewise.
26804 (get_prefix): Likewise.
26805 * util/i386/pc/getroot.c: ... here.
26806 (find_root_device): Function moved and renamed to...
26807 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
26808 Changed all callers.
26809 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
26811 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
26812 Changed all callers.
26813 * util/misc.c (pupa_memalign): New function.
26814 (pupa_mm_init_region): Likewise.
26815 (pupa_register_exported_symbols): Likewise.
26816 (pupa_putchar): Function removed.
26817 * util/pupa-emu.c: New file.
26819 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
26821 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
26822 (_multiboot_mod_SOURCES): New variable.
26823 (_multiboot_mod_CFLAGS): Likewise.
26824 * loader/i386/pc/multiboot.c: New file.
26825 * include/pupa/i386/pc/multiboot.h: Likewise.
26826 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
26827 (pupa_multiboot_real_boot): New function.
26828 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
26829 (pupa_multiboot_real_boot): New prototype.
26830 (pupa_rescue_cmd_multiboot): Likewise
26831 (pupa_rescue_cmd_module): Likewise.
26833 * kern/loader.c (pupa_loader_set): Continue when
26834 pupa_loader_unload_func() fails.
26835 (pupa_loader_unset): New function.
26836 * include/pupa/loader.h (pupa_loader_unset): New prototype.
26838 * kern/misc.c (pupa_stpcpy): New function.
26839 * include/pupa/misc.h (pupa_stpcpy): New prototype.
26841 2003-11-12 Marco Gerards <metgerards@student.han.nl>
26843 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
26844 for available extensions.
26846 * include/pupa/i386/pc/time.h: New file.
26847 * kern/disk.c: Include <pupa/machine/time.h>.
26848 (PUPA_CACHE_TIMEOUT): New macro.
26849 (pupa_last_time): New variable.
26850 (pupa_disk_open): Flush the cache when there was a timeout.
26851 (pupa_disk_close): Reset the timer.
26852 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
26854 * util/misc.c: Include <sys/times.h>
26855 (pupa_get_rtc): New function.
26857 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26859 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
26861 (pupa_ext2_get_file_block): Use blocks member.
26863 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
26864 first block. Return -1 instead of pupa_errno on error.
26866 2003-10-27 Marco Gerards <metgerards@student.han.nl>
26868 * README: In the pupa-mkimage example use _chain instead of chain
26869 and ext2 instead of fat.
26870 * TODO: Replace ext2fs with jfs as an example. Add an item for
26871 adding journal playback for ext2fs.
26872 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
26873 (pkgdata_MODULES): Added ext2.mod.
26874 (ext2_mod_SOURCES): New variable.
26875 (ext2_mod_CFLAGS): Likewise.
26876 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
26877 * include/pupa/misc.h (pupa_strncpy): New prototype.
26878 (pupa_strcat): Likewise.
26879 (pupa_strncmp): Likewise.
26880 * kern/misc.c (pupa_strcat): Enable function.
26881 (pupa_strncpy): New function.
26882 (pupa_strncmp): Likewise.
26883 * fs/ext2.c: New file.
26885 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
26886 when the read failed before retrying.
26887 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
26888 (_FILE_OFFSET_BITS): Likewise.
26889 * configure.ac: Added AC_SYS_LARGEFILE.
26891 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26893 * genmk.rb (PModule#rule): Make sure to get only symbol names
26894 from the output of nm.
26895 Reported by Robert Millan <rmh.grub@aybabtu.com>.
26897 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26899 I forgot to check in these changes for a long time. This adds
26900 incomplete support for VGA console, and this is still very
26901 buggy. Also, a lot of consideration is required for I18N,
26902 UNICODE, and VGA font issues. Therefore, assume that this is
26903 such that "better than nothing".
26905 * font/manager.c: New file.
26906 * include/pupa/font.h: Likewise.
26907 * include/pupa/i386/pc/vga.h: Likewise.
26908 * term/i386/pc/vga.c: Likewise.
26909 * util/unifont2pff.rb: Likewise.
26911 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
26912 (pkgdata_MODULES): Added vga.mod and font.mod.
26913 (vga_mod_SOURCES): New variables.
26914 (vga_mod_CFLAGS): Likewise.
26915 (font_mod_SOURCES): Likewise.
26916 (font_mod_CFLAGS): Likewise.
26918 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
26920 * include/pupa/term.h: Include pupa/err.h.
26921 (struct pupa_term): Added init and fini.
26922 Changed the argument of putchar to pupa_uint32_t.
26924 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
26925 (pupa_console_real_putchar): New prototype.
26926 (pupa_console_putchar): Removed.
26927 (pupa_console_checkkey): Exported.
26928 (pupa_console_getkey): Likewise.
26930 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
26933 * kern/term.c (pupa_term_set_current): Rewritten.
26934 (pupa_putchar): Likewise.
26935 (pupa_putcode): New function.
26937 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
26938 (pupa_console_real_putchar): ... this.
26939 (pupa_vga_set_mode): New function.
26940 (pupa_vga_get_font): Likewise.
26942 * normal/command.c: Include pupa/term.h.
26943 (terminal_command): New function.
26944 (pupa_command_init): Register the command "terminal".
26946 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
26947 (DISP_UP): Likewise.
26948 (DISP_RIGHT): Likewise.
26949 (DISP_DOWN): Likewise.
26950 (DISP_HLINE): Likewise.
26951 (DISP_VLINE): Likewise.
26952 (DISP_UL): Likewise.
26953 (DISP_UR): Likewise.
26954 (DISP_LL): Likewise.
26955 (DISP_LR): Likewise.
26957 * term/i386/pc/console.c (pupa_console_putchar): New function.
26959 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
26961 * util/resolve.c (pupa_util_resolve_dependencies): BUG
26962 FIX. Reverse the path_list.
26964 * include/pupa/normal.h: Export pupa_register_command and
26965 pupa_unregister_command.
26967 * hello/hello.c (pupa_cmd_hello): New module.
26968 * conf/i386-pc.rmk: Added hello.mod.
26970 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
26972 * kern/i386/pc/lzo1x.S: New file.
26974 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
26975 (compress_kernel): New variable.
26976 (generate_image): Heavily modified to support compressing a
26977 large part of the core image.
26979 * util/misc.c (pupa_util_read_image): Fix a file descriptor
26981 (pupa_util_load_image): New function.
26983 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
26984 (pupa_compressed_size): New variable.
26985 (codestart): Enable Gate A20 here.
26986 Decompress the compressed part of the core image.
26987 Rearrange the code to put functions and variables which are
26988 required for initialization in the non-compressed part.
26991 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
26994 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
26996 * include/pupa/i386/pc/kernel.h
26997 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
26998 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
26999 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27000 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27001 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27003 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27005 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27006 (Utility#rule): Likewise.
27008 * configure.ac: Check if LZO is available.
27010 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27012 * include/pupa/normal.h: New file.
27013 * include/pupa/setjmp.h: Likewise.
27014 * include/pupa/i386/setjmp.h: Likewise.
27015 * normal/cmdline.c: Likewise.
27016 * normal/command.c: Likewise.
27017 * normal/main.c: Likewise.
27018 * normal/menu.c: Likewise.
27019 * normal/i386/setjmp.S: Likewise.
27021 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27022 (pupa_rescue_cmd_initrd): Likewise.
27024 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27027 * kern/i386/pc/startup.S (translation_table): New variable.
27028 (translate_keycode): New function.
27029 (pupa_console_getkey): Call translate_keycode.
27031 * kern/rescue.c (attempt_normal_mode): New function.
27032 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27033 it failed, print a message.
27035 * kern/mm.c (pupa_real_malloc): Print more information when a
27036 free magic is broken.
27037 (pupa_free): If the first free header is not free actually, set
27040 * kern/main.c (pupa_load_normal_mode): Just load the module
27042 (pupa_main): Don't print the message
27043 "Entering into rescue mode..." here.
27045 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27047 (pupa_rescue_cmd_initrd): Likewise.
27048 (pupa_rescue_cmd_initrd): Likewise.
27050 * include/pupa/symbol.h (FUNCTION): Specify the type.
27051 (VARIABLE): Likewise.
27053 * include/pupa/err.h (pupa_err_t): Added
27054 PUPA_ERR_UNKNOWN_COMMAND.
27056 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27057 (pupa_dl_get_prefix): Likewise.
27059 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27060 Added _chain.mod and _linux.mod instead of chain.mod and
27062 (chain_mod_SOURCES): Renamed to ...
27063 (_chain_mod_SOURCES): ... this.
27064 (chain_mod_CFLAGS): Renamed to ...
27065 (_chain_mod_CFLAGS): ... this.
27066 (linux_mod_SOURCES): Renamed to ...
27067 (_linux_mod_SOURCES): ... this.
27068 (linux_mod_CFLAGS): Renamed to ...
27069 (_linux_mod_CFLAGS): ... this.
27070 (normal_mod_SOURCES): New variable.
27071 (normal_mod_CFLAGS): Likewise.
27072 (normal_mod_ASFLAGS): Likewise.
27074 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27076 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27079 * kern/dl.c (pupa_dl_ref): Refer depending modules
27081 (pupa_dl_unref): Unrefer depending modules recursively.
27082 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27083 a module is unloaded before one depending on that module is
27085 (pupa_dl_unload): Unload depending modules explicitly,
27088 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27090 * include/pupa/i386/pc/linux.h: New file.
27091 * loader/i386/pc/linux.c: Likewise.
27093 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27095 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27096 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27097 of PUPA_CHAINLOADER_BOOT_SECTOR.
27099 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27100 (pupa_linux_prot_size): New variable.
27101 (pupa_linux_tmp_addr): Likewise.
27102 (pupa_linux_real_addr): Likewise.
27103 (pupa_linux_boot_zimage): New function.
27104 (pupa_linux_boot_bzimage): Likewise.
27106 * kern/i386/pc/init.c (struct mem_region): New structure.
27107 (MAX_REGIONS): New macro.
27108 (mem_regions): New variable.
27109 (num_regions): Likewise.
27110 (pupa_os_area_addr): Likewise.
27111 (pupa_os_area_size): Likewise.
27112 (pupa_lower_mem): Likewise.
27113 (pupa_upper_mem): Likewise.
27114 (add_mem_region): New function.
27115 (compact_mem_regions): Likewise.
27116 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27117 the size of the conventional memory and that of so-called upper
27118 memory (before the first memory hole).
27119 Instead of adding each found region to free memory, use
27120 add_mem_region and add them after removing overlaps.
27121 Also, add only 1/4 of the upper memory to free memory. The rest
27122 is used for loading OS images. Maybe this is ad hoc, but this
27123 makes it much easier to relocate OS images when booting.
27125 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27126 (pupa_enter_rescue_mode): Don't register initrd and module.
27128 * kern/mm.c: Include pupa/dl.h.
27130 * kern/main.c: Include pupa/file.h and pupa/device.h.
27132 * kern/loader.c (pupa_loader_load_module_func): Removed.
27133 (pupa_loader_load_module): Likewise.
27135 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27138 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27139 (pupa_linux_tmp_addr): Likewise.
27140 (pupa_linux_real_addr): Likewise.
27141 (pupa_linux_boot_zimage): Likewise.
27142 (pupa_linux_boot_bzimage): Likewise.
27144 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27145 (pupa_upper_mem): Likewise.
27146 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27147 module is too dangerous.
27149 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27150 (pupa_os_area_size): Likewise.
27151 (pupa_loader_set): Remove the first argument. Loader doesn't
27152 manage modules or initrd any longer.
27153 (pupa_loader_load_module): Removed.
27155 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27156 (linux_mod_SOURCES): New variable.
27157 (linux_mod_CFLAGS): Likewise.
27159 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27161 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27162 the length of a blocklist correctly.
27164 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27165 Use ioctl only if the OS file is a block device.
27166 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27167 not very useful for normal files.
27169 * kern/main.c (pupa_set_root_dev): New function.
27170 (pupa_load_normal_mode): Likewise.
27171 (pupa_main): Call those above.
27173 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27176 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27178 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27180 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27181 (setup): Configure the installed partition information and the
27184 * loader/i386/pc/chainloader.c (my_mod): New variable.
27185 (pupa_chainloader_unload): New function.
27186 (pupa_rescue_cmd_chainloader): Refer itself.
27187 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27189 * kern/i386/pc/startup.S (install_partition): Removed.
27190 (version_string): Likewise.
27191 (config_file): Likewise.
27192 (pupa_install_dos_part): New variable.
27193 (pupa_install_bsd_part): Likewise.
27194 (pupa_prefix): Likewise.
27195 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27197 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27199 (make_install_device): New function.
27200 (pupa_machine_init): Set the dl prefix.
27202 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27203 (buf): Renamed to ...
27204 (linebuf): ... this.
27205 (pupa_rescue_cmd_prefix): New function.
27206 (pupa_rescue_cmd_insmod): Likewise.
27207 (pupa_rescue_cmd_rmmod): Likewise.
27208 (pupa_rescue_cmd_lsmod): Likewise.
27209 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27212 * kern/mm.c (pupa_memalign): If failed even after invalidating
27213 disk caches, unload unneeded modules and retry.
27215 * kern/misc.c (pupa_memmove): New function.
27216 (pupa_memcpy): Removed.
27217 (pupa_strcpy): New function.
27218 (pupa_itoa): Made static.
27220 * kern/dl.c (pupa_dl_iterate): New function.
27221 (pupa_dl_ref): Likewise.
27222 (pupa_dl_unref): Likewise.
27223 (pupa_dl_unload): Return if succeeded or not.
27224 (pupa_dl_unload_unneeded): New function.
27225 (pupa_dl_unload_all): Likewise.
27226 (pupa_dl_init): Renamed to ...
27227 (pupa_dl_set_prefix): ... this.
27228 (pupa_dl_get_prefix): New function.
27230 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27231 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27232 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27233 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27234 (pupa_install_dos_part): Declared.
27235 (pupa_install_bsd_part): Likewise.
27236 (pupa_prefix): Likewise.
27237 (pupa_boot_drive): Likewise.
27239 * include/pupa/types.h: Fix a typo.
27241 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
27243 (pupa_memmove): Declared.
27244 (pupa_strcpy): Likewise.
27246 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
27247 pupa_mod_init takes one argument, its own module.
27248 (pupa_dl_unload_unneeded): Declared.
27249 (pupa_dl_unload_all): Likewise.
27250 (pupa_dl_ref): Likewise.
27251 (pupa_dl_unref): Likewise.
27252 (pupa_dl_iterate): Likewise.
27253 (pupa_dl_init): Renamed to ...
27254 (pupa_dl_set_prefix): ... this.
27255 (pupa_dl_get_prefix): Declared.
27257 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
27258 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
27260 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
27261 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
27263 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
27264 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
27266 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27268 * util/i386/pc/pupa-setup.c (setup): Define the internal
27269 function find_first_partition_start at the top level, because GCC
27270 3.0.x cannot compile internal functions in deeper scopes
27272 (find_root_device): Use lstat instead of stat.
27273 Don't follow symbolic links.
27274 Fix the path-constructing code.
27276 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
27277 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
27278 by a BLKGETSIZE ioctl first, because block devices don't fill
27279 the member st_mode of the structure stat on Linux.
27280 [__linux__] (linux_find_partition): Use a temporary buffer
27281 REAL_DEV for the working space. Copy it to DEV before returning.
27282 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
27283 buffer cache consistent.
27284 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
27285 strncmp. The previous value was merely wrong.
27286 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
27288 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
27289 FAT size is 12. The previous value was merely wrong.
27291 * kern/main.c (pupa_main): Don't split the starting message from
27294 * kern/term.c (pupa_putchar): Put CR after LF instead of before
27295 LF, because BIOS goes crazy about character attributes in this
27298 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27300 * include/i386/pc/util/biosdisk.h: New file.
27301 * util/i386/pc/biosdisk.c: Likewise.
27302 * util/i386/pc/pupa-setup.c: Likewise.
27304 * Makefile.in (INCLUDE_DISTFILES): Added
27305 include/pupa/i386/pc/util/biosdisk.h.
27306 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
27307 directory util/i386/pc.
27308 (install-local): Added a rule for sbin_UTILITIES.
27309 (uninstall): Likewise.
27311 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
27313 * util/misc.c (xrealloc): New function.
27314 (pupa_malloc): Likewise.
27315 (pupa_free): Likewise.
27316 (pupa_realloc): Likewise.
27317 (pupa_stop): Likewise.
27318 (pupa_putchar): Likewise.
27320 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
27322 * include/pupa/util/misc.h (xrealloc): Declared.
27324 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
27326 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
27327 (PUPA_BOOT_MACHINE_BPB_END): ... this.
27329 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
27330 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27332 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
27333 way should be implemented.
27334 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27336 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
27337 the size of NAME for safety.
27338 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
27341 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
27342 (pupa_setup_SOURCES): Likewise.
27344 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
27346 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27348 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
27349 bunch of pushl's from pusha, because this destroys the return
27352 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27354 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
27355 This means that any missing prototypes could be fatal. Also, you
27356 must take care when writing assembly code. See the comments at
27357 the beginning of startup.S, for more details.
27359 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
27360 compilation mechanism.
27361 (pupa_chainloader_real_boot): Likewise.
27362 (pupa_biosdisk_rw_int13_extensions): Likewise.
27363 (pupa_biosdisk_rw_standard): Likewise.
27364 (pupa_biosdisk_check_int13_extensions): Likewise.
27365 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
27366 (pupa_biosdisk_get_diskinfo_standard): Likewise.
27367 (pupa_get_memsize): Likewise.
27368 (pupa_get_mmap_entry): Likewise.
27369 (pupa_console_putchar): Likewise.
27370 (pupa_console_setcursor): Likewise.
27371 (pupa_getrtsecs): Use pushl instead of push.
27373 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
27374 memory instead of the stack for a mmap entry, because some
27375 BIOSes may ignore the maximum size and overflow.
27377 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
27379 * genmk.rb (PModule#rule): Compile automatically generated
27380 sources with module-specific CFLAGS as well as other sources.
27382 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27384 * configure.ac: Check ld.
27385 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
27386 respectively, before checking endianness and sizes.
27388 * Makefile.in (LD): New variable.
27390 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27392 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
27394 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27396 * Changelog: New file.