]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* docs/grub.texi (Security): Menu entries are unrestricted by
[grub2.git] / ChangeLog
1 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
2
3 * docs/grub.texi (Security): Menu entries are unrestricted by
4 default, not restricted to superusers as I had previously thought.
5 Reword to account for this.
6
7 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
8
9 * kern/emu/misc.c (device_mapper_null_log): New function.
10 (grub_device_mapper_supported): New function.
11 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
12 prototype.
13 * kern/emu/hostdisk.c (find_partition_start): Check whether
14 device-mapper is supported before trying to use it.
15 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16
17 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18
19 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20 (File name syntax): Likewise.
21 (help): --all is no longer supported in GRUB 2. Be more precise
22 about pattern matching.
23
24 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25
26 * normal/completion.c (grub_normal_do_completion): When completing
27 arguments to "set" and the current word contains an equals sign,
28 skip to after the equals sign before starting completion.
29
30 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
31
32 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
33
34 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
35
36 * docs/grub.texi (Network): New section.
37 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
38 `(nd)' as in GRUB Legacy.
39 (pxe_unload): New section.
40
41 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
42
43 * docs/grub.texi (Troubleshooting): `echo' is not usually available
44 in the rescue shell, so recommend using `set' instead. Thanks,
45 Jordan Uggla.
46
47 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
48
49 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
50 (password): New section.
51 (password_pbkdf2): New section.
52 (search): New section.
53 (Security): New section.
54 (Troubleshooting): New section, currently very incomplete.
55 (Invoking grub-mkpasswd-pbkdf2): New section.
56 (Internals): New section, currently very incomplete.
57
58 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
59
60 * util/grub.d/00_header.in: Add some more quoting (of
61 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
62 work again.
63 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
64
65 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
66
67 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
68 to `count', fixing variable shadowing that broke the -c option.
69
70 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
71
72 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
73 in case they contain spaces.
74
75 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
76
77 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
78 "part_" to partmap module names, in line with grub-install.
79 Reported by: Jindřich Makovička (Debian bug #584426).
80
81 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
82
83 * util/grub-mkimage.c: Make target-related error messages slightly
84 more helpful; -O talks about "format". Explicitly point to the use
85 of -O if no target is specified.
86 Reported by: Didier Raboud (Debian bug #584415).
87
88 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
89
90 * INSTALL: Document several build requirements for optional features
91 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
92
93 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
94
95 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
96 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
97 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
98
99 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
100
101 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
102 Thanks to Jordan Uggla for spotting this.
103
104 2010-06-02 Aleš Nesrsta <starous@volny.cz>
105
106 Finally make USB usable.
107
108 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
109 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
110 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
111 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
112 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
113 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
114 (GRUB_OHCI_FSMPS): Likewise.
115 (GRUB_OHCI_PERIODIC_START): Likewise.
116 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
117 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
118 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
119 (GRUB_OHCI_SET_PORT_RESET): Likewise.
120 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
121 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
122 (grub_ohci_transaction): Likewise.
123 (grub_ohci_transfer): Improve condition detection algorithms.
124 Handle toggle property. Program the transactions correctly.
125 Improve error handling. Various important fixups.
126 (grub_ohci_portstatus): Put register writes in right order.
127 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
128 (grub_uhci_transfer): Don't show "failed" message on success.
129 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
130 array.
131 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
132 determine its size.
133 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
134 before initialization is completed. Use IN direction for empty
135 transfers. Use last_trans and compute toggle.
136 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
137 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
138 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
139 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
140 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
141 (grub_usb_device): Increase toggle to 256.
142 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
143 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
144 GRUB_USBMS_SUBCLASS_SFF8070.
145 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
146 (grub_scsi_inquiry): New member page and alloc_length.
147 (grub_scsi_request_sense): New structure.
148 (grub_scsi_request_sense_data): Likewise.
149 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
150 control.
151 * disk/scsi.c (grub_scsi_request_sense): New function.
152 (grub_scsi_test_unit_ready): Likewise.
153 (grub_scsi_inquiry): Fill new fields.
154 (grub_scsi_read_capacity): Likewise.
155 (grub_scsi_read10): Add request sense at the end.
156 (grub_scsi_read12): Likewise.
157 (grub_scsi_write10): Likewise.
158 (grub_scsi_write12): Likewise.
159 (grub_scsi_open): Add Test Unit Ready.
160 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
161 Support additional subclasses. Con't clear halt yet. Activate the
162 proper config. Calculate LUNs correctly.
163 (grub_usbms_transfer): Various important fixups.
164
165 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
168 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
169 (grub_ohci_fini_hw): New function.
170 (grub_ohci_restore_hw): Likewise.
171 (GRUB_MOD_INIT(ohci)): Register preboot hook.
172 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
173 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
174
175 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
176
177 Dedicated DMA allocations.
178
179 * bus/pci.c (grub_memalign_dma32): New function
180 (grub_dma_free): Likewise.
181 (grub_dma_get_virt): Likewise.
182 (grub_dma_get_phys): Likewise.
183 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
184 (grub_ohci_pci_iter): Use dma32_alloc.
185 (grub_ohci_transfer): Likewise.
186 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
187 (grub_usb_bulk_readwrite): Likewise.
188 * include/grub/pci.h: Add declarations.
189
190 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
191
192 CS5536 support.
193
194 * bus/cs5536.c: New file.
195 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
196 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
197 (cs5536_mod_SOURCES): New variable.
198 (cs5536_mod_CFLAGS): Likewise.
199 (cs5536_mod_LDFLAGS): Likewise.
200 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
201 machine/pci.h.
202 (kernel_img_SOURCES): Add bus/cs5536.c.
203 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
204 usb_keyboard.mod.
205 (usb_mod_SOURCES): New variable.
206 (usb_mod_CFLAGS): New variable.
207 (usb_mod_LDFLAGS): New variable.
208 (usbtest_mod_SOURCES): New variable.
209 (usbtest_mod_CFLAGS): New variable.
210 (usbtest_mod_LDFLAGS): New variable.
211 (ohci_mod_SOURCES): New variable.
212 (ohci_mod_CFLAGS): New variable.
213 (ohci_mod_LDFLAGS): New variable.
214 (usbms_mod_SOURCES): New variable.
215 (usbms_mod_CFLAGS): New variable.
216 (usbms_mod_LDFLAGS): New variable.
217 (usb_keyboard_mod_SOURCES): New variable.
218 (usb_keyboard_mod_CFLAGS): New variable.
219 (usb_keyboard_mod_LDFLAGS): New variable.
220 * include/grub/smbus.h: New file.
221 * include/grub/cs5536.h: New file.
222
223 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
224
225 * util/grub.d/00_header.in: Add safety check to make sure that
226 ${locale_dir} exists before trying to probe it.
227
228 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
229
230 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
231 per the GNU Coding Standards; this is now too obscure to be worth
232 documenting.
233 (QNX): Likewise.
234 (chainloader): Remove cross-reference to `SCO UnixWare'.
235
236 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
237
238 * docs/grub.texi (Chain-loading): New section.
239 (DOS/Windows): New section, borrowed from GRUB Legacy with details
240 adjusted for GRUB 2.
241 (SCO UnixWare): Likewise.
242 (QNX): Likewise.
243 (chainloader): Add reference to `Block list syntax'.
244 (drivemap): New section.
245 (parttool): New section.
246
247 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
248
249 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
250 the grub shell'.
251 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
252 (Installing GRUB using grub-install): Remove reference to the grub
253 shell; mention `grub-mkimage' and `grub-setup' instead.
254 (Invoking grub-install): Likewise.
255 (Interface): Add reference to `Menu entry editor'.
256 (serial): Remove `--device' option.
257
258 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
259
260 * docs/grub.texi (Configuration): New section, documenting
261 configuration file generation using grub-mkconfig. I've left a slot
262 for documenting the full shell scripting format but have not yet
263 started on writing that up.
264 (Invoking grub-mkconfig): New section.
265
266 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
267
268 * docs/grub.texi (direntry): Remove grub-terminfo reference.
269 (GNU GRUB manual): Likewise.
270 (General commands): Update description of `terminfo' for GRUB 2.
271
272 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
273
274 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
275 (GRUB_MOD_INIT): Fix capitalisation.
276 * docs/grub.texi (Command-line and menu entry commands): Document
277 gettext and gptsync commands.
278
279 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
280
281 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
282 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
283
284 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
285
286 Add btrfs probing support, currently only in the single-device case.
287
288 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
289 function.
290 (grub_guess_root_device): Call find_root_device_from_mountinfo
291 before looking in /dev.
292
293 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
296 GRUB_DISK_SIZE_UNKNOWN.
297 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
298
299 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
300
301 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
302 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
303 corrupted or not synced properly.
304
305 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
308 Reported by: Seth Goldberg.
309
310 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
313 addition of dest.
314 Reported by: Seth Goldberg.
315
316 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
319 Reported by: Seth Goldberg.
320
321 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
324 64-bit address as signed on MIPS.
325
326 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
327
328 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
329 to the empty string.
330
331 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
332
333 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
334
335 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
336 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
337 * kern/misc.c (__enable_execute_stack): Disable on
338 GRUB_MACHINE_EMU.
339
340 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
341
342 Make grub-probe work with symbolic links under /dev/mapper as well
343 as with real block devices. The Linux world seems to be (at best)
344 in transition here, and GRUB shouldn't get caught in the middle.
345
346 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
347 /dev/mapper.
348
349 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
350
351 * util/grub-script-check.c (main): Ensure defined behaviour on empty
352 input files (in which case exit zero).
353
354 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
355
356 * kern/emu/misc.c (canonicalize_file_name): realpath can still
357 return NULL for various reasons even if it has a maximum-length
358 buffer: for example, there might be a symlink loop, or the path
359 might exceed PATH_MAX. If this happens, return NULL.
360
361 2010-05-27 Robert Millan <rmh@gnu.org>
362
363 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
364 partmap module to handle cross-partmap setups.
365 Reported by Orestes Mas. Gràcies!
366
367 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
368
369 * util/grub-mkrescue.in: Initialise override_dir rather than
370 assuming that it's unset or empty in the environment.
371
372 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
373
374 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
375 variable index into p_index to suppress a warning with -Wshadow.
376
377 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
378
379 * INSTALL: Added flex >= 2.5.35 requirement.
380
381 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
384
385 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
386
387 cmostest support.
388
389 * commands/i386/cmostest.c: New file.
390 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
391 (cmostest_mod_SOURCES): New variable.
392 (cmostest_mod_CFLAGS): Likewise.
393 (cmostest_mod_LDFLAGS): Likewise.
394 * conf/i386-pc.rmk: Likewise.
395 * docs/grub.texi (Vendor power-on keys): New section.
396 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
397 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
398 and GRUB_BUTTON_CMOS_ADDRESS.
399 * util/grub.d/00_header.in: Handle powering-on by separate button.
400
401 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
404 Removed drawing_scrollbar argument. All users updated
405 Fixes #29792.
406 Reported by Jo Shields
407
408 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
411 buffer since gfxterm handles double repaint.
412
413 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
416 * term/gfxterm.c (real_scroll): Likewise.
417
418 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
421 before calling BIOS.
422
423 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * include/grub/i18n.h: Always enable grub_gettext.
426
427 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
430 partition naming style.
431
432 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
433
434 * util/grub-mkconfig.in: Fix handling of -o so that it works when
435 not the first option.
436
437 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
438
439 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
440
441 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
442
443 * util/misc.c: Move inclusion of <limits.h> to ...
444 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
445
446 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
447
448 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
449 Fix merge error in NetBSD code.
450 (find_partition_start) [__NetBSD__]: Likewise.
451
452 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
453
454 Fix grub-mkrescue usage unit testing.
455
456 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
457
458 2010-05-18 Christian Franke <franke@computer.org>
459
460 * util/grub.d/10_windows.in: Use path names instead of
461 drive letters to prevent warning from Cygwin 1.7.
462 Add drivemap command to menuentry if needed.
463
464 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
465
466 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
467 gnumach and gnumach.gz.
468
469 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * include/grub/i18n.h (gettext): Inline instead of using #define.
472 (grub_gettext): Likewise.
473 (_): Likewise.
474
475 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
478 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
479 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
480 (main): Add a slash after pkglibdirroot.
481
482 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * util/grub-install.in: Add missing "in" keyword.
485
486 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
489 Reported by: Seth Goldberg.
490
491 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
494
495 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
496
497 * configure.ac: Check for Linux device-mapper support.
498
499 * util/hostdisk.c (device_is_mapped): New function.
500 (find_partition_start): New function, partly broken out from
501 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
502 device-mapper support added.
503 (linux_find_partition): Use find_partition_start.
504 (convert_system_partition_to_system_disk): Add `st' argument.
505 Support Linux /dev/mapper/* devices if device-mapper support is
506 available; only DM-RAID devices are understood at present.
507 (find_system_device): Add `st' argument. Pass it to
508 convert_system_partition_to_system_disk.
509 (grub_util_biosdisk_get_grub_dev): Pass stat result to
510 find_system_device and convert_system_partition_to_system_disk. Use
511 find_partition_start.
512
513 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
514 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
515 * util/deviceiter.c [__linux__]: Define MINOR.
516 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
517 * util/mkdevicemap.c (grub_putchar): New function.
518 (grub_getkey): New function.
519 (grub_refresh): New function.
520 (main): Set debug=all if -v -v is used.
521
522 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
523
524 Fix build with non-GNU libcs.
525
526 * util/misc.c (canonicalize_file_name): Move to ...
527 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
528 grub_make_system_path_relative_to_its_root.
529
530 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
531
532 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
533 we handle finding grub-mkimage. Default to finding grub-mkimage in
534 ${bindir} with program_transform_name applied, and provide a
535 --grub-mkimage option to override this.
536
537 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Remove grub-mkisofs.
540
541 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
542 (grub_mkisofs_SOURCES): Removed.
543 (grub_mkisofs_CFLAGS): Removed.
544 * util/mkisofs/defaults.h: Removed.
545 * util/mkisofs/eltorito.c: Likewise.
546 * util/mkisofs/exclude.h: Likewise.
547 * util/mkisofs/hash.c: Likewise.
548 * util/mkisofs/include/: Likewise.
549 * util/mkisofs/include/fctldefs.h: Likewise.
550 * util/mkisofs/include/mconfig.h: Likewise.
551 * util/mkisofs/include/prototyp.h: Likewise.
552 * util/mkisofs/include/statdefs.h: Likewise.
553 * util/mkisofs/iso9660.h: Likewise.
554 * util/mkisofs/joliet.c: Likewise.
555 * util/mkisofs/match.c: Likewise.
556 * util/mkisofs/match.h: Likewise.
557 * util/mkisofs/mkisofs.c: Likewise.
558 * util/mkisofs/mkisofs.h: Likewise.
559 * util/mkisofs/msdos_partition.h: Likewise.
560 * util/mkisofs/multi.c: Likewise.
561 * util/mkisofs/name.c: Likewise.
562 * util/mkisofs/rock.c: Likewise.
563 * util/mkisofs/tree.c: Likewise.
564 * util/mkisofs/write.c: Likewise.
565
566 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
567
568 Unify grub-mkimage accross platforms.
569
570 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
571 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
572 (grub_mkelfimage_SOURCES): Removed.
573 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
574 (util/grub-mkimage.c_DEPENDENCIES): .. this.
575 (bin_UTILITIES): Add grub-mkimage.
576 (grub_mkimage_SOURCES): New variable.
577 (kernel_img_HEADERS): Remove machine/kernel.h.
578 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
579 (pkglib_PROGRAMS): Add kernel.img.
580 (kernel_img_HEADERS): Add machine/kernel.h.
581 (kernel_img_FORMAT): Removed.
582 (bin_UTILITIES): Remove grub-mkimage.
583 (grub_mkimage_SOURCES): Removed.
584 (grub_mkimage_CFLAGS): Likewise.
585 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
586 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
587 (pkglib_PROGRAMS): Add kernel.img.
588 (bin_UTILITIES): Remove grub-mkimage.
589 (grub_mkimage_SOURCES): Removed.
590 (grub_mkimage_CFLAGS): Likewise.
591 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
592 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
593 (pkglib_PROGRAMS): Add kernel.img.
594 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
595 (pkglib_PROGRAMS): Add kernel.img.
596 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
597 (grub_mkimage_SOURCES): Removed.
598 (grub_mkimage_CFLAGS): Likewise.
599 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
600 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
601 (pkglib_PROGRAMS): Add kernel.img.
602 (bin_UTILITIES): Remove grub-mkimage.
603 (grub_mkimage_SOURCES): Removed.
604 (grub_mkimage_CFLAGS): Likewise.
605 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
606 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
607 (grub_mkimage_SOURCES): Removed.
608 (grub_mkimage_CFLAGS): Likewise.
609 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
610 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
611 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
612 (grub_pe32_optional_header): ... this.
613 (grub_pe64_optional_header): ... and this. All users updated.
614 (GRUB_PE32_PE32_MAGIC): Split into ..
615 (GRUB_PE32_PE32_MAGIC): .. this.
616 (GRUB_PE32_PE64_MAGIC): .. and this.
617 (GRUB_PE32_SIGNATURE_SIZE): New definition.
618 * include/grub/elf.h (PT_GNU_STACK): New definition.
619 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
620 * include/grub/i386/efi/kernel.h: Likewise.
621 * include/grub/i386/kernel.h: Likewise.
622 * include/grub/i386/pc/kernel.h: Likewise.
623 * include/grub/i386/qemu/boot.h: Likewise.
624 * include/grub/mips/kernel.h: Likewise.
625 * include/grub/mips/qemu-mips/kernel.h: Likewise.
626 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
627 * include/grub/powerpc/kernel.h: Likewise.
628 * include/grub/sparc64/ieee1275/boot.h: Likewise.
629 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
630 * include/grub/sparc64/kernel.h: Likewise.
631 * include/grub/x86_64/efi/kernel.h: Likewise.
632 * include/grub/x86_64/kernel.h: Likewise.
633 * include/grub/offsets.h: New file.
634 * include/grub/kernel.h (grub_module_info): Split into ...
635 (grub_module_info32): ... this.
636 (grub_module_info64): ... and this.
637 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
638 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
639 (grub_boot_blocklist): Moved from here ...
640 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
641 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
642 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
643 * include/grub/types.h (grub_target_to_host16): Removed.
644 (grub_target_to_host32): Likewise.
645 (grub_target_to_host64): Likewise.
646 (grub_host_to_target16): Likewise.
647 (grub_host_to_target32): Likewise.
648 (grub_host_to_target64): Likewise.
649 (grub_host_to_target_addr): Likewise.
650
651 Support grub-mkrescue for efi, coreboot and qemu.
652
653 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
654 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
655 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
656 * util/grub-mkrawimage.c: Moved from here ...
657 * util/grub-mkimage.c: ... here. All users updated.
658 (ALIGN_ADDR): Use image_target.
659 (TARGET_NO_FIELD): New const.
660 (image_target_desc): New type.
661 (image_targets): New array.
662 (grub_target_to_host64): Use image_target.
663 (grub_target_to_host32): Likewise.
664 (grub_target_to_host16): Likewise.
665 (grub_host_to_target64): Likewise.
666 (grub_host_to_target32): Likewise.
667 (grub_host_to_target16): Likewise.
668 (grub_host_to_target_addr): Likewise.
669 (generate_image): Handle multiimage.
670 (main): Require -O parameter. All users updated.
671 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
672 util/efi/grub-mkimage.c
673 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
674 New option --rom-directory.
675 Use xorriso.
676 * util/i386/efi/grub-mkimage.c: Removed.
677 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
678 (grub_target_to_host32): Likewise.
679 (grub_target_to_host64): Likewise.
680 (grub_host_to_target16): Likewise.
681 (grub_host_to_target32): Likewise.
682 (grub_host_to_target64): Likewise.
683 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
684 (grub_target_to_host32): Likewise.
685 (grub_target_to_host64): Likewise.
686 (grub_host_to_target16): Likewise.
687 (grub_host_to_target32): Likewise.
688 (grub_host_to_target64): Likewise.
689
690 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
691
692 Source tree is reorganized for emu build.
693
694 * include/grub/util/console.h: Move from here...
695 * include/grub/emu/console.h: ...to here.
696 * include/grub/util/getroot.h: Move from here...
697 * include/grub/emu/getroot.h: ...to here.
698 * include/grub/util/hostdisk.h: Move from here...
699 * include/grub/emu/hostdisk.h: ...to here.
700 * util/console.c: Move from here...
701 * kern/emu/console.c: ...to here.
702 * util/getroot.c: Move from here...
703 * kern/emu/getroot.c: ...to here.
704 * util/grub-emu.c: Move from here...
705 * kern/emu/main.c: ...to here.
706 * util/hostdisk.c: Move from here...
707 * kern/emu/hostdisk.c: ...to here.
708 * util/hostfs.c: Move from here...
709 * kern/emu/hostfs.c: ...to here.
710 * util/mm.c: Move from here...
711 * kern/emu/mm.c: ...to here.
712 * util/pci.c: Move from here...
713 * bus/emu/pci.c: ...to here.
714 * util/sdl.c: Move from here...
715 * video/emu/sdl.c: ...to here.
716 * util/time.c: Move from here...
717 * kern/emu/time.c: ...to here.
718 * util/usb.c: Move from here...
719 * bus/usb/emu/usb.c: ...to here.
720
721 * include/grub/emu/misc.h: New header for grub-emu functions.
722 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
723
724 * conf/any-emu.rmk: Rule updates for above renames.
725 * conf/common.rmk: Likewise.
726 * conf/i386-pc.rmk: Likewise.
727 * conf/i386-qemu.rmk: Likewise.
728 * conf/mips.rmk: Likewise.
729 * conf/sparc64-ieee1275.rmk: Likewise.
730 * conf/x86-efi.rmk: Likewise.
731
732 * disk/lvm.h: #include updates for above renames.
733 * util/grub-mkrelpath.c: Likewise.
734 * util/grub-probe.c: Likewise.
735 * util/i386/pc/grub-setup.c: Likewise.
736 * util/sparc64/ieee1275/grub-setup.c: Likewise.
737 * kern/emu/console.c: Likewise.
738 * kern/emu/getroot.c: Likewise.
739 * kern/emu/hostdisk.c: Likewise.
740 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
741
742 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
743 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
744 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
745 * util/misc.c: Remove grub-emu functions.
746
747 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Fix gfxmenu crash.
750 Reported by: Thorsten Grützmacher.
751
752 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
753 timeout hook.
754 (circprog_set_property): Register and unregister timeout hook.
755 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
756 (label_destroy): Free template. and unregister hook.
757 (label_set_state): New function.
758 (label_set_property): Handle templates and hooks.
759 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
760 timeout hook.
761 (progress_bar_set_property): Register and unregister timeout hook.
762 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
763 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
764 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
765 (update_timeout_visit): Removed.
766 (update_timeouts): New function.
767 (redraw_timeouts): Likewise.
768 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
769 (grub_gfxmenu_clear_timeout): Likewise.
770 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
771 (grub_gfxmenu_timeout_notify): Likewise.
772 (grub_gfxmenu_timeout_notifications): New external variable.
773 (grub_gfxmenu_timeout_register): New function.
774 (grub_gfxmenu_timeout_unregister): Likewise.
775
776 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
777
778 Transform (broken) vga terminal into (working) vga video driver.
779
780 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
781 video/i386/pc/vga.c.
782 * include/grub/video.h (grub_video_driver_id):
783 Add GRUB_VIDEO_DRIVER_VGA.
784 * term/i386/pc/vga.c: Renamed to ...
785 * video/i386/pc/vga.c: ...this
786 (DEBUG_VGA): Removed.
787 (CHAR_WIDTH): Likewise.
788 (CHAR_HEIGHT): Likewise.
789 (TEXT_WIDTH): Likewise.
790 (TEXT_HEIGHT): Likewise.
791 (DEFAULT_FG_COLOR): Likewise.
792 (DEFAULT_BG_COLOR): Likewise.
793 (colored_char): Likewise.
794 (xpos): Likewise.
795 (ypos): Likewise.
796 (cursor_state): Likewise.
797 (fg_color): Likewise.
798 (bg_color): Likewise.
799 (text_buf): Likewise.
800 (page): Likewise.
801 (font): Likewise.
802 (framebuffer): New variable.
803 (set_read_map): Disabled.
804 (setup): New variable.
805 (is_target): Likewise.
806 (grub_vga_mod_init): Likewise.
807 (grub_vga_mod_fini): Likewise.
808 (check_vga_mem): Likewise.
809 (write_char): Likewise.
810 (write_cursor): Likewise.
811 (scroll_up): Likewise.
812 (grub_vga_putchar): Likewise.
813 (grub_vga_getcharwidth): Likewise.
814 (grub_vga_getwh): Likewise.
815 (grub_vga_getxy): Likewise.
816 (grub_vga_gotoxy): Likewise.
817 (grub_vga_cls): Likewise.
818 (grub_vga_setcolorstate): Likewise.
819 (grub_vga_setcursor): Likewise.
820 (grub_video_vga_init): New function.
821 (grub_video_vga_setup): Likewise.
822 (grub_video_vga_fini): Likewise.
823 (update_target): Likewise.
824 (grub_video_vga_blit_bitmap): Likewise.
825 (grub_video_vga_blit_render_target): Likewise.
826 (grub_video_vga_set_active_render_target): Likewise.
827 (grub_video_vga_get_active_render_target): Likewise.
828 (grub_video_vga_swap_buffers): Likewise.
829 (grub_video_vga_set_palette): Likewise.
830 (grub_video_vga_get_info_and_fini): Likewise.
831 (grub_vga_term): Removed.
832 (grub_video_vga_adapter): New variable.
833 (GRUB_MOD_INIT): Register a video driver instead of terminal.
834 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
835
836 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * video/readers/jpeg.c: Indented.
839
840 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Various jpeg cleanups.
843
844 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
845 (grub_jpeg_decode_quan_table): Use sizeof.
846 (grub_jpeg_decode_du): Use ARRAY_SIZE.
847
848 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
849
850 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
851 tables. Ignore non-last ac bit.
852 (grub_jpeg_decode_quan_table): Likewise.
853
854 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
857 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
858 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
859 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
860 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
861 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
862
863 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
866 error.
867
868 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
871
872 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
875 condition.
876
877 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
880 part.
881
882 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
885 pointers.
886
887 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
890
891 2010-05-01 Christian Franke <franke@computer.org>
892
893 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
894 Remove broken Cygwin path conversion.
895 * util/misc.c: [__CYGWIN__] Add include and define.
896 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
897 for Cygwin 1.7.
898 (make_system_path_relative_to_its_root): Simplify loop, replace early
899 return by break.
900 [__CYGWIN__] Add conversion to win32 path.
901 Include "/" case in trailing slash removal.
902
903 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * kern/main.c (grub_load_config): Fix copy-pasted comment.
906 Reported by: Seth Goldberg
907
908 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * commands/help.c (grub_cmd_help): Fix a typo.
911 Reported by: Seth Goldberg
912
913 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
916 name and add N_.
917 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
918 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
919 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
920 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
921 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
922 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
923 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
924 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
925 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
926 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
927 * normal/context.c (GRUB_MOD_INIT): Likewise.
928 * normal/main.c (GRUB_MOD_INIT): Likewise.
929 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
930 * term/serial.c (GRUB_MOD_INIT): Likewise.
931 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
932
933 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
936 extra == 0.
937
938 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * commands/iorw.c: New file.
941 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
942 (iorw_mod_SOURCES): New variable.
943 (iorw_mod_CFLAGS): Likewise.
944 (iorw_mod_LDFLAGS): Likewise.
945
946 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
947
948 Hotkey support
949
950 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
951 * normal/main.c (hotkey_aliases): New variable.
952 (grub_normal_add_menu_entry): Parse "--hotkey".
953 * normal/menu_text.c (run_menu): Handle hotkeys.
954
955 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * kern/i386/coreboot/init.c (grub_machine_init): Call
958 grub_machine_mmap_init on qemu.
959
960 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * boot/i386/qemu/boot.S: Add a missing .code16.
963
964 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
965
966 Use LBIO on coreboot.
967
968 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
969 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
970 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
971 New declaration.
972 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
973 grub_machine_mmap_init on coreboot.
974 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
975 GRUB_LINUXBIOS_MEMBER_LINK.
976 (grub_machine_mmap_iterate): Fix declaration.
977 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
978
979 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
980
981 Split coreboot and multiboot ports.
982
983 * conf/i386-multiboot.rmk: New file.
984 * configure.ac: Add multiboot port.
985 * include/grub/i386/multiboot/boot.h: New file.
986 * include/grub/i386/multiboot/console.h: Likewise.
987 * include/grub/i386/multiboot/init.h: Likewise.
988 * include/grub/i386/multiboot/kernel.h: Likewise.
989 * include/grub/i386/multiboot/loader.h: Likewise.
990 * include/grub/i386/multiboot/memory.h: Likewise.
991 * include/grub/i386/multiboot/serial.h: Likewise.
992 * include/grub/i386/multiboot/time.h: Likewise.
993 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
994 * loader/multiboot.c: Likewise.
995 * loader/multiboot_mbi2.c: Likewise.
996 * util/grub-mkrescue.in: Generate multiboot rescue.
997
998 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1001
1002 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 Merge handling of input and output terminals. Fix a hang.
1005
1006 * commands/terminal.c (abstract_terminal): New struct.
1007 (handle_command): New function. Based on grub_cmd_terminal_input.
1008 (grub_cmd_terminal_input): Use handle_command.
1009 (grub_cmd_terminal_output): Use handle_command.
1010
1011 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1012
1013 Fix comment handling.
1014
1015 * tests/grub_script_comments.in: New testcase.
1016 * conf/tests.rmk: Rules for new testcase.
1017 * script/yylex.l: Updated flex rules.
1018
1019 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1020
1021 * docs/grub.texi (play): Document that zero pitches produce rests.
1022 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1023 if argc is 1.
1024
1025 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1028 autogen issues.
1029
1030 2010-04-26 Christian Franke <franke@computer.org>
1031
1032 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1033 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1034 (grub_get_prefix): Remove function.
1035 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1036 make_system_path_relative_to_its_root ().
1037 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1038
1039 2010-04-24 Christian Franke <franke@computer.org>
1040
1041 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1042 (kernel_img_LDFLAGS): Remove -static-libgcc.
1043
1044 2010-04-24 Christian Franke <franke@computer.org>
1045
1046 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1047 and CHECK_END_SYMBOL if grub-emu is built.
1048 Unset TARGET_OBJ2ELF if grub-emu is built
1049 without module support.
1050
1051 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
1052
1053 Nilfs2 support.
1054
1055 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1056 (grub_fstest_SOURCES): Likewise.
1057 (pkglib_MODULES): Add nilfs2.mod.
1058 (nilfs2_mod_SOURCES): New variable.
1059 (nilfs2_mod_CFLAGS): Likewise.
1060 (nilfs2_mod_LDFLAGS): Likewise.
1061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1062 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1063 * fs/nilfs2.c: New file.
1064
1065 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1068 is not supported.
1069
1070 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1071
1072 Add grub-mkconfig support for NetBSD.
1073
1074 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1075 * util/grub-mkconfig.in: export new NetBSD specific variables.
1076 * po/POTFILES-shell: added 10_netbsd.in.
1077 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1078
1079 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1080
1081 Fix emu build with grub-emu-pci and grub-emu-modules.
1082
1083 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1084 functions.
1085 * include/grub/libpciaccess.h: New file.
1086 * conf/any-emu.rmk: Update kernel headers for emu build.
1087
1088 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1091
1092 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1095
1096 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1099 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1100 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1101 util/ieee1275/ofpath.c.
1102 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1103 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1104 * include/grub/sparc64/ieee1275/boot.h
1105 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1106 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1107 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1108 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1109 const char *.
1110 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1111 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1112 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1113 install.
1114
1115 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1116
1117 * util/grub-mkconfig.in: Corrected two == equality tests.
1118 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1119 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1120 expect a number appended to it.
1121 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1122 expects a number appended to it.
1123
1124 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1127
1128 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * util/hostdisk.c (make_device_name): Change to new partition naming.
1131
1132 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1135
1136 2010-04-17 Christian Franke <franke@computer.org>
1137
1138 * Makefile.in: Add missing localedir setting.
1139
1140 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
1141
1142 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1143 mistake in r2156. Noticed by Anthony Fok.
1144
1145 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1146 @localedir@.
1147 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1148
1149 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1150
1151 Fix a spurious, uninitialized variable warning.
1152
1153 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1154 Initialize variable, shdr.
1155 (grub_freebsd_load_elfmodule): Likewise.
1156 (grub_freebsd_load_elf_meta): Likewise.
1157
1158 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1159
1160 Fix for escaped dollar in double quoted strings.
1161
1162 * script/yylex.l: Updated flex rules.
1163 * conf/tests.rmk: Rule for new testcase.
1164 * tests/grub_script_dollar.in: New testcase.
1165
1166 2010-04-13 Carles Pina i Estany <carles@pina.cat>
1167 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
1168
1169 Enclose all translated strings in grub.cfg in single quotes, and
1170 escape them appropriately (Ubuntu bug #552921).
1171
1172 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1173 * util/grub.d/10_hurd.in: Use it.
1174 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1175 * util/grub.d/10_linux.in (linux_entry): Likewise.
1176
1177 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Fix cygwin compilation.
1180
1181 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1182 * include/grub/misc.h (__register_frame_info)
1183 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1184 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1185 * kern/misc.c (__register_frame_info)
1186 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1187 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1188
1189 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1192
1193 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Unify libgcc processing.
1196
1197 * Makefile.in (kernel_img_LDFLAGS): New variable.
1198 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1199 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1200 overwriting.
1201 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1202 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1203 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1204 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1205 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1206 overwriting. Remove -lgcc and -static-libgcc
1207 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1208 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1209 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1210 (kernel_img_LDFLAGS): Append instead of overwriting.
1211 Remove -lgcc and -static-libgcc
1212 * conf/sparc64-ieee1275.rmk: Likewise.
1213 * include/grub/powerpc/libgcc.h: Move to ...
1214 * include/grub/libgcc.h: .. this.
1215 * include/grub/libgcc.h: Don't export most of the function on x86.
1216 (__bswapsi2): New export.
1217 (__bswapdi2): Likewise.
1218 * include/grub/mips/libgcc.h: Removed.
1219 * include/grub/sparc64/libgcc.h: Likewise.
1220
1221 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
1224 disk_info_msg (conflicts with gettexting into languages with cases).
1225
1226 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1227
1228 Add grub-probe support for NetBSD.
1229
1230 * util/getroot.c (find_root_device): Convert block device to
1231 character device on NetBSD.
1232 * util/probe.c (probe): Require character device on NetBSD.
1233 * util/hostdisk.c: NetBSD specific headers.
1234 (configure_device_driver): new function to tune device driver
1235 parameters (currently only for NetBSD floppy driver).
1236 (grub_util_biosdisk_open): NetBSD specific code (get disk size
1237 via disklabel ioctl).
1238 (open_device): call configure_device_driver on NetBSD.
1239 (convert_system_partition_to_system_disk): NetBSD specific code.
1240 (device_is_wholedisk): Likewise.
1241 (grub_util_biosdisk_get_grub_dev): Likewise.
1242 (make_device_name): Fixed a typo in bsd_part_str.
1243 * configure.ac: check for opendisk() and getrawpartition() on
1244 NetBSD and set LIBUTIL.
1245 * Makefile.in: add LIBUTIL to LIBS.
1246
1247 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1248
1249 Documentation fix.
1250
1251 * util/grub-script-check.c: Better help message.
1252
1253 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1254
1255 Fix FreeBSD build.
1256
1257 * configure.ac: Flex version check.
1258 * conf/common.rmk: Add -Wno-error to sh.mod.
1259 * script/yylex.l: Remove all #pragma.
1260
1261 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * include/grub/util/misc.h (canonicalise_file_name): Add missing
1264 prototype.
1265 Reported by: Seth Goldberg.
1266
1267 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
1270 Rename "module" to "module2".
1271 Reported by: Seth Goldberg.
1272
1273 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
1276 EXPORT_FUNC.
1277 Reported by: Seth Goldberg.
1278
1279 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * lib/posix_wrap/locale.h: Add missing file.
1282 Reported by: Seth Goldberg.
1283
1284 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 grub-emu module load support.
1287
1288 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
1289 NO_DYNAMIC_MODULES switched to this.
1290 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
1291 (CFLAGS): Likewise.
1292 * conf/any-emu.rmk: Generate symlist.
1293 (kernel_img_HEADERS): Add util/datetime.h.
1294 (kernel_img_HEADERS) [sdl]: Add sdl.h.
1295 (kernel_img_HEADERS) [libusb]: Add libusb.h.
1296 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
1297 kern/$(target_cpu)/cache.S.
1298 * configure.ac (grub-emu-modules): New option.
1299 * genmk.rb: Handle multiple source lists.
1300 * include/grub/sdl.h: New file.
1301 * include/grub/libusb.h: Likewise.
1302 * util/grub-emu.c (main): Hanle (host) root.
1303 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
1304 GRUB_ERR_UNKNOWN_DEVICE.
1305 * util/misc.c: Move mm functions to ...
1306 * util/mm.c: ... here. All users updated.
1307
1308 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
1311 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
1312 missing files.
1313 (maintainer-clean): Remove libgcrypt-grub.
1314
1315 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
1318
1319 2010-04-09 EFI Coder <eficoder@hotmail.com>
1320
1321 * normal/menu_text.c (print_message): Clean up the message and show
1322 the Fn information when on EFI
1323 * term/efi/console.c (grub_console_checkkey): Add F4 support.
1324
1325 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
1328 All users updated.
1329 * normal/crypto.c (read_crypto_list): Likewise.
1330 * normal/dyncmd.c (read_command_list): Likewise.
1331 * normal/term.c (read_terminal_list): Likewise.
1332 * normal/main.c (read_lists): Use explicit prefix.
1333 (read_lists_hook): Use read_lists.
1334 (grub_normal_execute): Likewise.
1335
1336 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
1339 Reported by: Thomas Schmitt.
1340 Add -no-emul-boot to grub-mkisofs parameters.
1341
1342 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * font/font.c: Indented.
1345
1346 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1347
1348 Elif support to GRUB script (by Deepak Vankadaru).
1349
1350 * tests/grub_script_if.in: New testcase.
1351 * conf/tests.rmk: Rule for new testcase.
1352 * script/parser.y: Grammar rules for elif.
1353
1354 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1355
1356 While and until loops support to GRUB script.
1357
1358 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
1359 (grub_script_create_cmdwhile): New function prototype.
1360 (grub_script_execute_cmdwhile): New function prototype.
1361 * script/execute.c (grub_script_execute_cmdwhile): New function.
1362 * script/parser.y (command): New commands.
1363 (whilecmd): New grammar rule.
1364 (untilcmd): New grammar rule.
1365 * script/script.c (grub_script_create_cmdwhile): New function.
1366 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
1367 function.
1368
1369 * tests/grub_script_while1.in: New testcase.
1370 * conf/tests.rmk: Rule for new testcase.
1371
1372 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
1375 as *.jpg.
1376
1377 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
1378
1379 GRUB_BACKGROUND support.
1380
1381 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
1382 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
1383
1384 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Load fonts and modules for gfxmenu in grub-mkconfig.
1387 Idea by: Mario Vazquez
1388
1389 * util/grub.d/00_header.in: Load pf2 and image modules.
1390
1391 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 grub-mkconfig multiple terminal support.
1394
1395 * util/grub-mkconfig.in: Handle multiple terminals correctly.
1396 * util/grub.d/00_header.in: Likewise.
1397
1398 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * Makefile.in: Specify files explicitly instead of using $< and $@ since
1401 we use cd $(srcdir).
1402
1403 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
1404
1405 * util/grub.d/10_linux.in: Only use the first word of
1406 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
1407 spaces in GRUB_DISTRIBUTOR.
1408 * util/grub.d/10_kfreebsd.in: Likewise.
1409 * util/grub.d/10_hurd.in: Likewise.
1410
1411 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
1412
1413 Fix unit testing framework for Qemu 0.12.
1414
1415 * tests/util/grub-shell.in: Remove -serial stdio option.
1416
1417 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 POSIX header file wrappers.
1420
1421 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
1422 equivalents.
1423 * lib/posix_wrap/ctype.h: Likewise.
1424 * lib/posix_wrap/errno.h: Likewise.
1425 * lib/posix_wrap/langinfo.h: Likewise.
1426 * lib/posix_wrap/limits.h: Likewise.
1427 * lib/posix_wrap/localcharset.h: Likewise.
1428 * lib/posix_wrap/stdint.h: Likewise.
1429 * lib/posix_wrap/stdio.h: Likewise.
1430 * lib/posix_wrap/stdlib.h: Likewise.
1431 * lib/posix_wrap/string.h: Likewise.
1432 * lib/posix_wrap/sys/types.h: Likewise.
1433 * lib/posix_wrap/unistd.h: Likewise.
1434 * lib/posix_wrap/wchar.h: Likewise.
1435 * lib/posix_wrap/wctype.h: Likewise.
1436 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
1437 (grub_script.yy.h): Likewise.
1438 * script/yylex.l: Remove POSIX emulation #defines.
1439 * Makefile.in (POSIX_CFLAGS): New variable.
1440 (GNULIB_UTIL_CFLAGS): Likewise.
1441
1442 Regexp support.
1443
1444 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
1445 (regexp_mod_SOURCES): New variable.
1446 (regexp_mod_CFLAGS): Likewise.
1447 (regexp_mod_LDFLAGS): Likewise.
1448 * commands/regexp.c: New file.
1449 * gnulib/regcomp.c: New file. Imported from gnulib.
1450 * gnulib/regex.c: Likewise.
1451 * gnulib/regex_internal.c: Likewise.
1452 * gnulib/regex_internal.h: Likewise.
1453 * gnulib/regexec.c: Likewise.
1454 * gnulib/regex.h: Likewise.
1455
1456 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
1459 unsupported video mode types.
1460
1461 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
1464
1465 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
1468 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
1469
1470 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 Remove unused grub_vga_get_font.
1473
1474 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
1475 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
1476
1477 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1478
1479 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
1480 * include/grub/misc.h: Likewise.
1481
1482 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1483
1484 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
1485 for which failure is fatal.
1486
1487 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1488
1489 * util/grub-install.in: Use mkdir -p to create grub directory.
1490 * util/i386/efi/grub-install.in: Likewise.
1491 * util/ieee1275/grub-install.in: Likewise.
1492
1493 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1494
1495 * Makefile.in (LEX): new variable.
1496
1497 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1498
1499 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
1500 `=' and added double quotes on operands of this equality test.
1501
1502 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * Makefile.in (uninstall): Remove a leftover debug echo.
1505 Reported by: Grégoire Sutre
1506
1507 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 MIPS multiboot2 support.
1510
1511 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
1512 (multiboot2_mod_SOURCES): New variable.
1513 (multiboot2_mod_CFLAGS): Likewise.
1514 (multiboot2_mod_LDFLAGS): Likewise.
1515 (multiboot2_mod_ASFLAGS): Likewise.
1516 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
1517 definition.
1518 (MULTIBOOT_ENTRY_REGISTER): Likewise.
1519 (MULTIBOOT_MBI_REGISTER): Likewise.
1520 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
1521 (MULTIBOOT_ELF32_MACHINE): Likewise.
1522 (MULTIBOOT_ELF64_MACHINE): Likewise.
1523 * include/grub/mips/multiboot.h: New file.
1524 * include/grub/video.h (grub_video_driver_id): New type
1525 GRUB_VIDEO_DRIVER_SM712.
1526 (grub_video_get_info_and_fini): Export.
1527 (grub_video_get_palette): Likewise.
1528 (grub_video_get_driver_id): Likewise.
1529 * include/multiboot2.h: Resynced with spec.
1530 * loader/i386/multiboot.c: Moved from here ...
1531 * loader/multiboot.c: ... here. All users updated.
1532 (grub_multiboot_boot): Use platform-specific macros.
1533 * loader/i386/multiboot_elfxx.c: Moved from here ...
1534 * loader/multiboot_elfxx.c: ... here. All users updated.
1535 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
1536 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
1537 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
1538
1539 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 Import gnulib argp module.
1542
1543 * gnulib/argp-ba.c: New file.
1544 * gnulib/argp-eexst.c: Likewise.
1545 * gnulib/argp-fmtstream.c: Likewise.
1546 * gnulib/argp-fmtstream.h: Likewise.
1547 * gnulib/argp-fs-xinl.c: Likewise.
1548 * gnulib/argp-help.c: Likewise.
1549 * gnulib/argp-namefrob.h: Likewise.
1550 * gnulib/argp-parse.c: Likewise.
1551 * gnulib/argp-pin.c: Likewise.
1552 * gnulib/argp-pv.c: Likewise.
1553 * gnulib/argp-pvh.c: Likewise.
1554 * gnulib/argp-version-etc.c: Likewise.
1555 * gnulib/argp-version-etc.h: Likewise.
1556 * gnulib/argp-xinl.c: Likewise.
1557 * gnulib/argp.h: Likewise.
1558
1559 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * kern/device.c (grub_device_iterate): Clear errors after failed
1562 opening device.
1563
1564 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
1567 returned by firmware.
1568
1569 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
1572 compilation on coreboot and qemu
1573
1574 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * include/multiboot2.h: Resync with spec.
1577
1578 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 Multiboot2 tag support
1581
1582 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
1583 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
1584 Remove loader/multiboot_loader.c.
1585 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
1586 (grub_multiboot2_real_boot): Likewise.
1587 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
1588 (grub_get_multiboot_mmap_count): New proto.
1589 (grub_fill_multiboot_mmap): Likewise.
1590 (grub_multiboot_set_video_mode): Likewise.
1591 (grub_multiboot_set_console): Likewise.
1592 (grub_multiboot_load): Likewise.
1593 (grub_multiboot_load_elf): Likewise.
1594 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
1595 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
1596 * include/multiboot.h: Resynced with specification.
1597 * include/multiboot2.h: Resynced with specification.
1598 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
1599 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
1600 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
1601 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
1602 users updated.
1603 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
1604 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
1605 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
1606 Removed.
1607 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
1608 Moved from here...
1609 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
1610 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1611 Moved from here...
1612 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
1613 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
1614 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
1615 All users updated.
1616 * loader/i386/multiboot_mbi2.c: New file.
1617
1618 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 Resync with gnulib.
1621
1622 * Makefile.in (GNULIB_CFLAGS): New variable.
1623 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
1624 (grub_script_check_CFLAGS): New variable.
1625 * gnulib/alloca.h: Resync with gnulib.
1626 * gnulib/error.c: Likewise.
1627 * gnulib/error.h: Likewise.
1628 * gnulib/fnmatch.c: Likewise.
1629 * gnulib/fnmatch_loop.c: Likewise.
1630 * gnulib/getdelim.c: Likewise.
1631 * gnulib/getline.c: Likewise.
1632 * gnulib/getopt.c: Likewise.
1633 * gnulib/getopt1.c: Likewise.
1634 * gnulib/getopt_int.h: Likewise.
1635 * gnulib/gettext.h: Likewise.
1636 * gnulib/progname.c: Likewise.
1637 * gnulib/progname.h: Likewise.
1638
1639 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
1640
1641 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
1642 which is the case with --disabled-nls.
1643
1644 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
1645 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
1646 * util/misc.c: Likewise.
1647 * util/mkisofs/mkisofs.c: Likewise.
1648 * util/mkisofs/mkisofs.h: Likewise.
1649
1650 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Simplify Apple CC support.
1653
1654 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
1655 Add 0 byte at the end not to have a symbol with empty target.
1656 * mmap/i386/pc/mmap_helper.S: Likewise.
1657 * genmk.rb: Ignore errors 2030 and 2050.
1658 * kern/i386/pc/startup.S: Use LOCAL when possible.
1659
1660 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
1661
1662 Testcase and the fix for final semicolon on cmdline.
1663
1664 * tests/grub_script_final_semicolon.in: New testcase.
1665 * conf/tests.rmk: Rules for the new testcase.
1666 * script/parser.y: Grammar fix.
1667
1668 2010-03-26 BVK Chaitanya <bvk@localhost>
1669
1670 Blank lines testcase for GRUB script.
1671
1672 * tests/grub_script_blanklines.in: New testcase.
1673 * conf/tests.rmk: Rules for the new testcase.
1674
1675 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 Don't use __FILE__.
1678
1679 * genmk.rb: Add -DGRUB_FILE to all C targets.
1680 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
1681 * include/grub/list.h: Likewise.
1682 * include/grub/misc.h: Likewise.
1683 * include/grub/mm.h: Likewise.
1684 * include/grub/test.h: Likewise.
1685 * kern/mm.c: Likewise.
1686 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1687
1688 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 Sunpc partitions support.
1691
1692 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
1693 (grub_fstest_SOURCES): Likewise.
1694 (pkglib_MODULES): Add part_sunpc.mod.
1695 (part_sunpc_mod_SOURCES): New variable.
1696 (part_sunpc_mod_CFLAGS): Likewise.
1697 (part_sunpc_mod_LDFLAGS): Likewise.
1698 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
1699 * partmap/sunpc.c: New file.
1700
1701 2010-03-26 BVK Chaitanya <bvk@localhost>
1702
1703 For loop support to GRUB script.
1704
1705 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
1706 (grub_script_create_cmdfor): New function prototype.
1707 (grub_script_execute_cmdfor): New function prototype.
1708 * script/execute.c (grub_script_execute_cmdfor): New function.
1709 * script/parser.y (command): New for command.
1710 (forcmd): New grammar rule.
1711 * script/script.c (grub_script_create_cmdfor): New function.
1712 * util/grub-script-check.c (grub_script_execute_cmdfor): New
1713 function.
1714 * tests/grub_script_for1.in: New testcase.
1715 * conf/tests.rmk: Rules for new testcase.
1716
1717 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 Nested partitions
1720
1721 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
1722 'partition' is NULL, grub_partition_get_start already does that.
1723 * commands/loadenv.c (check_blocklists): Likewise.
1724 (write_blocklists): Likewise.
1725 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
1726 (grub_fstest_SOURCES): Likewise.
1727 (pkglib_MODULES): Add part_bsd.mod.
1728 (part_bsd_mod_SOURCES): New variable.
1729 (part_bsd_mod_CFLAGS): Likewise.
1730 (part_bsd_mod_LDFLAGS): Likewise.
1731 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
1732 (grub_emu_SOURCES): Likewise.
1733 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1734 * include/grub/bsdlabel.h: New file.
1735 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
1736 'get_name'.
1737 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
1738 (grub_partition_map_list): New variable.
1739 (grub_partition_map_register): Inline.
1740 (grub_partition_map_unregister): Likewise.
1741 (FOR_PARTITION_MAPS): New macro.
1742 (grub_partition_map_iterate): Removed.
1743 (grub_partition_get_start): Handle nested partitions.
1744 * include/grub/msdos_partition.h: Remove bsd-related entries.
1745 (grub_pc_partition): Remove.
1746 * kern/disk.c (grub_disk_close): Free partition data.
1747 (grub_disk_adjust_range): Handle nested partitions.
1748 * kern/partition.c (grub_partition_map_probe): New function.
1749 (grub_partition_probe): Parse name to number, handle subpartitions.
1750 (get_partmap): New function.
1751 (grub_partition_iterate): Handle subpartitions.
1752 (grub_partition_get_name): Likewise.
1753 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
1754 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
1755 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
1756 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
1757 Set 'number'.
1758 (acorn_partition_map_probe): Remove.
1759 (acorn_partition_map_get_name): Likewise.
1760 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
1761 Set 'number'.
1762 Set 'index' to 0 since there can be only one partition entry per sector.
1763 (amiga_partition_map_probe): Remove.
1764 (amiga_partition_map_get_name): Likewise.
1765 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
1766 Set 'number'.
1767 Set 'offset' and 'index' to real positions of partitions.
1768 (apple_partition_map_probe): Remove.
1769 (apple_partition_map_get_name): Likewise.
1770 * partmap/bsdlabel.c: New file.
1771 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
1772 Set 'number'.
1773 Allocate 'data' so it can be correctly freed.
1774 Set 'index' to offset inside sector.
1775 (gpt_partition_map_probe): Remove.
1776 (gpt_partition_map_get_name): Likewise.
1777 * partmap/msdos.c (grub_partition_parse): Remove.
1778 (pc_partition_map_iterate): Don't force raw access.
1779 Set 'number'.
1780 Make 'ext_offset' a local variable.
1781 (pc_partition_map_probe): Remove.
1782 (pc_partition_map_get_name): Remove.
1783 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
1784 Set 'number'.
1785 (sun_partition_map_probe): Remove.
1786 (sun_partition_map_get_name): Likewise.
1787 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
1788 (grub_pcpart_type): Likewise.
1789 * util/hostdisk.c (open_device): Handle new numbering scheme.
1790 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
1791 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
1792 * util/grub-probe.c (probe_partmap): Handle nested paritions.
1793 * util/grub-install.in: Insert all subpartition modules.
1794 * util/ieee1275/grub-install.in: Likewise.
1795
1796 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
1797
1798 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
1799 grammar.
1800
1801 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
1802
1803 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
1804
1805 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
1806
1807 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
1808 match where 'make install' puts them.
1809 * util/i386/efi/grub-install.in: Likewise.
1810
1811 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
1812
1813 * .bzrignore: Add gentrigtables, grub-script-check,
1814 grub_script_check_init.c, grub_script_check_init.h, and
1815 trigtables.c.
1816
1817 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * kern/parser.c: Indented.
1820
1821 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
1824
1825 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
1828 alpha_mask_size == 0 case.
1829
1830 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
1831
1832 GRUB shell lexer and parser improvements.
1833
1834 * conf/any-emu.rmk: Build rule updates.
1835 * conf/common.rmk: Likewise.
1836 * conf/i386-coreboot.rmk: Likewise.
1837 * conf/i386-efi.rmk: Likewise.
1838 * conf/i386-ieee1275.rmk: Likewise.
1839 * conf/i386-pc.rmk: Likewise.
1840 * conf/powerpc-ieee1275.rmk: Likewise.
1841 * conf/x86_64-efi.rmk: Likewise.
1842
1843 * configure.ac: Configure check for flex.
1844
1845 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
1846 types.
1847 (grub_lexer_param): Struct member updates.
1848 (grub_parser_param): Likewise.
1849 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
1850 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
1851 (grub_script_lexer_init): Prototype update.
1852 (grub_script_lexer_record_start): Likewise.
1853 (grub_script_lexer_record_stop): Likewise.
1854 (grub_script_lexer_yywrap): New function prototype.
1855 (grub_script_lexer_fini): Likewise.
1856 (grub_script_execute_argument_to_string): Removed by...
1857 (grub_script_execute_argument_to_argv): ...better version.
1858
1859 * script/execute.c (ROUND_UPTO): New macro.
1860 (grub_script_execute_cmdline): Out of memory fixes.
1861 (grub_script_execute_menuentry): Likewise.
1862 (grub_script_execute_argument_to_string): Removed. Update all
1863 users by...
1864 (grub_script_execute_argument_to_argv): ...better version.
1865 * script/function.c (grub_script_function_create): Use
1866 grub_script_execute_argument_to_argv instead of
1867 grub_script_execute_argument_to_string.
1868
1869 * script/lexer.c (check_varstate): Removed.
1870 (check_textstate): Removed.
1871 (grub_script_lexer_record_start): Likewise.
1872 (grub_script_lexer_record_stop): Likewise.
1873 (recordchar): Replaced with...
1874 (grub_script_lexer_record): ...new function.
1875 (nextchar): Removed.
1876 (grub_script_lexer_init): Rewritten.
1877 (grub_script_yylex): Rewritten.
1878 (append_newline): New function.
1879 (grub_script_lexer_yywrap): New function.
1880 (grub_script_lexer_fini): New function.
1881 (grub_script_yyerror): Sets error flag.
1882
1883 * script/yylex.l: New file.
1884 (grub_lexer_yyfree): Wrapper for flex yyffre.
1885 (grub_lexer_yyalloc): Likewise.
1886 (grub_lexer_yyrealloc): Likewise.
1887 * script/parser.y: Refactored.
1888
1889 * script/script.c (grub_script_arg_add): Out of memory fixes.
1890 (grub_script_add_arglist): Likewise.
1891 (grub_script_create_cmdline): Likewise.
1892 (grub_script_create_cmdmenu): Likewise.
1893 (grub_script_add_cmd): Likewise.
1894 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
1895 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
1896 unnecessary code.
1897
1898 * tests/grub_script_echo1.in: New testcase.
1899 * tests/grub_script_vars1.in: New testcase.
1900 * tests/grub_script_echo_keywords.in: New testcase.
1901
1902 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 Remove some redundancy in build system.
1905
1906 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
1907 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
1908 (TARGET_LDFLAGS): Add -nostdlib.
1909 (TARGET_IMG_LDFLAGS): Likewise.
1910 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
1911 anything since mmap isn't available.
1912 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
1913 Add util/time.c.
1914 (pkglib_MODULES): Remove reboot.mod.
1915 (reboot_mod_SOURCES): Removed.
1916 (reboot_mod_CFLAGS): Likewise.
1917 (reboot_mod_LDFLAGS): Likewise.
1918 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
1919 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
1920 (DEFSYMFILES): Add kernel_syms.lst.
1921 (kernel_img_HEADERS): Add common headers.
1922 (symlist.c): New target.
1923 (kernel_syms.lst): Likewise.
1924 (pkglib_MODULES): Add memdisk.mod.
1925 (memdisk_mod_SOURCES): New variable.
1926 (memdisk_mod_CFLAGS): Likewise.
1927 (memdisk_mod_LDFLAGS): Likewise.
1928 (pkglib_MODULES): Add reboot.mod.
1929 (reboot_mod_SOURCES): New variable.
1930 (reboot_mod_CFLAGS): Likewise.
1931 (reboot_mod_LDFLAGS): Likewise.
1932 (pkglib_MODULES): Add date.mod.
1933 (date_mod_SOURCES): New variable.
1934 (date_mod_CFLAGS): Likewise.
1935 (date_mod_LDFLAGS): Likewise.
1936 (pkglib_MODULES): Add datehook.mod.
1937 (datehook_mod_SOURCES): New variable.
1938 (datehook_mod_CFLAGS): Likewise.
1939 (datehook_mod_LDFLAGS): Likewise.
1940 (pkglib_MODULES): Add lsmmap.mod.
1941 (lsmmap_mod_SOURCES): New variable.
1942 (lsmmap_mod_CFLAGS): Likewise.
1943 (lsmmap_mod_LDFLAGS): Likewise.
1944 (pkglib_MODULES): Add boot.mod.
1945 (boot_mod_SOURCES): New variable.
1946 (boot_mod_CFLAGS): Likewise.
1947 (boot_mod_LDFLAGS): Likewise.
1948 * conf/i386-coreboot.rmk: Removed redundant parts.
1949 * conf/i386-ieee1275.rmk: Likewise.
1950 * conf/i386-pc.rmk: Likewise.
1951 * conf/mips-yeeloong.rmk: Likewise.
1952 * conf/mips.rmk: Likewise.
1953 * conf/powerpc-ieee1275.rmk: Likewise.
1954 * conf/sparc64-ieee1275.rmk: Likewise.
1955 * conf/x86_64-efi.rmk: Likewise.
1956 * conf/i386-coreboot.rmk: Moved qemu parts ..
1957 * conf/i386-qemu.rmk: ... here
1958 * conf/i386-efi.rmk: Moved common parts to...
1959 * conf/x86-efi.rmk: ... here.
1960 * conf/i386.rmk: Added modules common to all x86 variants.
1961 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
1962 * disk/memdisk.c: Remove grub/machine/kernel.h.
1963 * gensymlist.sh.in: Include symbol.h.
1964 * hook/datehook.c: Correct module name.
1965 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
1966 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
1967 * include/grub/i386/efi/serial.h: New file.
1968 * include/grub/x86_64/efi/serial.h: Likewise.
1969 * util/time.c: Likewise.
1970 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
1971
1972 2010-03-14 Colin King <colin.king@ubuntu.com>
1973 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
1974
1975 Shrink the pre-partition-table part of boot.img by eight bytes.
1976
1977 * boot/i386/pc/boot.S (ERR): New macro.
1978 (chs_mode): Use ERR.
1979 (geometry_error): Likewise.
1980 (hd_probe_error): Remove. This is only used once, so we wrwite
1981 it inline instead.
1982 (read_error): Instead of printing read_error_string, just set up
1983 %si and fall through to ...
1984 (error_message): ... this new function, also used by ERR.
1985
1986 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
1987
1988 Speed up consecutive hostdisk operations on the same device.
1989
1990 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
1991 (grub_util_biosdisk_open): Initialise disk->data.
1992 (struct linux_partition_cache): New structure.
1993 (linux_find_partition): Cache partition start positions; these are
1994 expensive to compute on every read and write.
1995 (open_device): Cache open file descriptor in disk->data, so that we
1996 don't have to reopen it and flush the buffer cache for consecutive
1997 operations on the same device.
1998 (grub_util_biosdisk_close): New function.
1999 (grub_util_biosdisk_dev): Set `close' member.
2000
2001 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2002 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2003 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2004 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2005 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2006
2007 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 Compile parts of grub-emu as modules.
2010
2011 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2012 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2013 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2014 (all-local): Add $(GRUB_EMU).
2015 (install-local): Install $(GRUB_EMU).
2016 (uninstall): Uninstall $(GRUB_EMU).
2017 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2018 * kern/dl.c: Likewise.
2019 * commands/sleep.c: Not include machine/time.h.
2020 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2021 (COMMON_CFLAGS): Likewise.
2022 (sbin_UTILITIES): Remove grub-emu.
2023 (grub_emu_SOURCES): Removed.
2024 (kernel_img_RELOCATABLE): New variable.
2025 (pkglib_PROGRAMS): Add kernel.img.
2026 (kernel_img_SOURCES): New variable
2027 (kernel_img_CFLAGS): Likewise.
2028 (kernel_img_LDFLAGS): Likewise.
2029 (TARGET_NO_STRIP): Likewise.
2030 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2031 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2032 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2033 (grub-emu): New target.
2034 (GRUB_EMU): New variable.
2035 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2036 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2037 * loader/xnu.c: Likewise.
2038 * include/grub/pci.h: Likewise.
2039 * genemuinit.sh: New file.
2040 * genemuinitheader.sh: Likewise.
2041 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2042 Support TARGET_NO_DYNAMIC_MODULES.
2043 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2044 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2045 * disk/loopback.c: Likewise.
2046 * font/font_cmd.c: Likewise.
2047 * partmap/acorn.c: Likewise.
2048 * partmap/amiga.c: Likewise.
2049 * partmap/apple.c: Likewise.
2050 * partmap/gpt.c: Likewise.
2051 * partmap/msdos.c: Likewise.
2052 * partmap/sun.c: Likewise.
2053 * parttool/msdospart.c: Likewise.
2054 * term/gfxterm.c: Likewise.
2055 * video/bitmap.c: Likewise.
2056 * video/readers/jpeg.c: Likewise.
2057 * video/readers/png.c: Likewise.
2058 * video/readers/tga.c: Likewise.
2059 * video/video.c: Likewise.
2060 * util/grub-emu.c (read_command_list): Removed.
2061 (main): Don't call util_init_nls.
2062 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2063 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2064
2065 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2068 date.mod, datehook.mod.
2069 (datetime_mod_SOURCES): New variable.
2070 (datetime_mod_CFLAGS): Likewise.
2071 (datetime_mod_LDFLAGS): Likewise.
2072 (date_mod_SOURCES): Likewise.
2073 (date_mod_CFLAGS): Likewise.
2074 (date_mod_LDFLAGS): Likewise.
2075 (datehook_mod_SOURCES): Likewise.
2076 (datehook_mod_CFLAGS): Likewise.
2077 (datehook_mod_LDFLAGS): Likewise.
2078 * conf/sparc64-ieee1275.rmk: Likewise.
2079 * lib/ieee1275/datetime.c: New file.
2080
2081 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2084 (ieee1275_fb_mod_SOURCES): New variable.
2085 (ieee1275_fb_mod_CFLAGS): Likewise.
2086 (ieee1275_fb_mod_LDFLAGS): Likewise.
2087 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2088 New proto.
2089 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2090 (HEAP_MAX_ADDR): Likewise.
2091 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2092 type.
2093 Correct stop condition.
2094 (grub_ieee1275_devices_iterate): New function.
2095 * video/ieee1275.c: New file.
2096
2097 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2100
2101 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2102 as scratch.
2103 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2104 SCRATCH_PAD_DISKBOOT as scratch.
2105 (bootit): Pass Openfirmware pointer in %o4.
2106 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2107 of 0x200000.
2108 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2109 with util/grub-mkrawimage.c.
2110 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2111 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2112 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2113 (grub_aout_load) [GRUB_UTIL]: Likewise.
2114 * include/grub/kernel.h (grub_modules_get_end): New proto.
2115 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2116 (SCRATCH_PAD_BOOT): New definition.
2117 (SCRATCH_PAD_DISKBOOT): Likewise.
2118 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2119 * include/grub/sparc64/ieee1275/ieee1275.h
2120 (grub_ieee1275_original_stack): New variable
2121 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2122 New definition
2123 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2124 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2125 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2126 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2127 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2128 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2129 (grub_platform_image_format_t): New type.
2130 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2131 * kern/main.c (grub_modules_get_end)
2132 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2133 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2134 (codestart): Switch stacks.
2135 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2136 variable.
2137 (grub_heap_init): Use grub_modules_get_end.
2138 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2139 stack.
2140 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2141 (main): Likewise.
2142 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2143
2144 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
2145
2146 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2147
2148 2010-03-08 Matt Kraai <kraai@ftbfs.org>
2149
2150 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2151 bug #559005).
2152
2153 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * genmoddep.awk: Output all missing symbols and not only first.
2156
2157 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * NEWS: Put the date of 1.98 release.
2160
2161 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2164 ft2build.h.
2165
2166 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2169 completition in the middle of string.
2170
2171 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * util/grub-mkrescue.in: Use mktemp with explicit template.
2174
2175 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2178
2179 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2182 right pointer.
2183
2184 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Fix FreeBSD compilation.
2187
2188 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2189 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2190
2191 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2194
2195 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2198
2199 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2202
2203 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2204
2205 Support relative image path in theme file.
2206
2207 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2208 (image_set_property): Handle theme_dir and relative path.
2209
2210 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * configure.ac: Alias amd64 to x86_64.
2213
2214 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * NEWS: mention multiboot on EFI.
2217
2218 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * kern/main.c (grub_load_modules): Handle errors from init functions of
2221 embeded modules.
2222
2223 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * normal/autofs.c (autoload_fs_module): Handle errors.
2226
2227 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Disable linux.mod on qemu-mips since it's not functional and leads
2230 to compilation failure.
2231
2232 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
2233 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
2234 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
2235 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
2236 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
2237 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
2238 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
2239 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
2240 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
2241 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
2242 Reported by: BVK Chaitanya
2243
2244 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
2245
2246 * INSTALL: Add gettext as a dependency and add qemu to a new section
2247 "Prerequisites for make-check".
2248
2249 2010-03-04 Christian Franke <franke@computer.org>
2250
2251 * util/grub-pe2elf.c: Add missing include "progname.h".
2252
2253 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * normal/crypto.c (read_crypto_list): Fix a typo.
2256 Reported by: Seth Goldberg.
2257
2258 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
2261 Reported by: Seth Goldberg.
2262
2263 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2266 ascii.bitmaps.
2267
2268 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * genmk.rb: Remove terminal*.lst in make clean.
2271 Reported by: Seth Goldberg.
2272
2273 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * util/i386/efi/grub-install.in: Copy gettext files.
2276
2277 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2280
2281 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 Wait for user entry basing on presence of output rather than on errors.
2284
2285 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
2286 (grub_install_newline_hook): Likewise.
2287 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
2288 * normal/menu.c (show_menu): Check line_counter to determine presence
2289 of output.
2290 * normal/term.c (grub_normal_line_counter): New variable.
2291 (grub_normal_get_line_counter): New function.
2292 (grub_install_newline_hook): Likewise.
2293
2294 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2297
2298 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * configure.ac: Update version to 1.98.
2301
2302 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * util/grub.d/10_linux.in (linux_entry): Don't default to
2305 gfxpayload=keep if Linux doesn't support video handover.
2306
2307 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 Don't compile video modules on yeeloong since video subsystem is part
2310 of kernel.
2311
2312 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
2313 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
2314 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
2315 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
2316 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
2317 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
2318 * include/grub/bitmap_scale.h: Likewise.
2319 * include/grub/bufio.h: Likewise.
2320 * include/grub/font.h: Likewise.
2321 * include/grub/gfxterm.h: Likewise.
2322 * include/grub/video.h: Likewise.
2323 * include/grub/vbe.h: Don't include video_fb.h.
2324 * video/i386/pc/vbe.c: Include video_fb.h.
2325 * commands/i386/pc/vbetest.c: Include video.h.
2326
2327 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
2328
2329 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
2330 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
2331 default entry if GRUB_SAVEDEFAULT=true. This allows using
2332 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
2333 saving a new default on every boot.
2334
2335 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * normal/crypto.c (read_crypto_list): Fix a memory leak.
2338 * normal/term.c (read_terminal_list): Likewise.
2339 * normal/main.c (grub_normal_init_page): Likewise.
2340 (grub_normal_read_line_real): Likewise.
2341
2342 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
2345 memory leak.
2346 Reported by: Seth Goldberg.
2347
2348 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
2349
2350 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
2351 duplicate declaration of `start'.
2352
2353 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
2356 filename.
2357 Reported by: Georgy Buranov
2358
2359 2010-02-20 Carles Pina i Estany <carles@pina.cat>
2360
2361 * util/grub-mkrawimage.c (usage): Change string formatting to
2362 improve gettext.
2363
2364 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2365
2366 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
2367 backspace keys.
2368
2369 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
2372 Reported by: Michael Suchanek.
2373
2374 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
2375
2376 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
2377 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
2378
2379 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Remove any reference to non-free fonts.
2382
2383 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
2384 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
2385 uses non-free components.
2386 * font/font.c (grub_font_get_name): Remove example name.
2387 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
2388 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2389 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
2390 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2391
2392 2010-02-16 Georgy Buranov <gburanov@gmail.com>
2393
2394 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2395
2396 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
2399 Double divisor.
2400 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
2401 features.
2402 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2403
2404 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * gensymlist.sh.in: Use TARGET_CC instead of CC.
2407
2408 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2409
2410 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
2411 * docs/grub.texi (Command-line and menu entry commands): Document play
2412 command.
2413
2414 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2415
2416 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
2417 parse arguments as inline tempo and notes. Move code for playing notes
2418 to...
2419 (play): ... new function.
2420
2421 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2422
2423 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
2424 grub_uint16_t instead of short.
2425 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
2426 disk from little endian to cpu endianness.
2427
2428 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
2429
2430 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
2431 GRUB_TICKS_PER_SECOND instead of 120.
2432
2433 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
2436 escape sequence after \e.
2437
2438 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
2441 non-ASCII characters.
2442
2443 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
2446 set root in single quotes to prevent \, from being unescaped.
2447
2448 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 Prevent unknown commands from stopping menuentry execution.
2451
2452 * script/execute.c (grub_script_execute_cmdline): Print error after
2453 unknown command.
2454
2455 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
2458 Reported by: Pavel Pisa.
2459
2460 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
2463
2464 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Merge grub_ieee1275_map_physical into grub_map and rename to
2467 grub_ieee1275_map
2468
2469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
2470 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
2471 Remove.
2472 * kern/ieee1275/openfw.c (grub_map): Rename to ...
2473 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
2474 necessary.
2475 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2476
2477 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
2480 opening and not after.
2481
2482 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
2485 constants.
2486
2487 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
2490 (alloc_phys): Use ALIGN_UP instead of align_addr.
2491
2492 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2495
2496 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2499
2500 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
2503 verbose dprintf.
2504
2505 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Fix over-4GiB seek on sparc64.
2508
2509 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
2510 Replace pos_i and pos_lo with pos. All users updated.
2511 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2512 New constant.
2513 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2514 Likewise.
2515 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
2516 and pos_lo.
2517
2518 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * util/grub-mkrawimage.c (main): Call set_program_name.
2521
2522 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Properly align 64-bit targets.
2525
2526 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
2527 (generate_image): Use ALIGN_ADDR.
2528
2529 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 Properly create cross-endian images.
2532
2533 * include/grub/types.h (grub_host_to_target_addr): New macro
2534 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2535
2536 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2539
2540 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
2543
2544 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
2545 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
2546 (grub_linux_boot): Divide by 64K when on VESA.
2547
2548 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 Support GRUB_GFXPAYLOAD_LINUX.
2551
2552 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
2553 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2554
2555 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
2558 to show messages instead of discarding them.
2559 Process errors after executing command and not before. Keep old method
2560 too as precaution.
2561
2562 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * configure.ac: Check for ft2build.h.
2565
2566 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2569
2570 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * genkernsyms.sh.in: Use TARGET_CC.
2573
2574 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
2575
2576 * NEWS: Update.
2577
2578 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * include/grub/multiboot2.h: Remove leftover file.
2581 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
2582 * include/grub/partition.h [GRUB_UTIL]: Likewise.
2583
2584 2010-02-07 Yves Blusseau <blusseau@zetam.org>
2585
2586 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
2587
2588 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Fix warnings in grub-emu when compiling with maximum warning options.
2591
2592 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
2593 (grub_arch_modules_addr): Return 0 and not NULL.
2594 * util/misc.c (ENABLE_RELOCATABLE): New definition.
2595 (xstrdup): Use newstr instead of dup.
2596 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
2597 of disk to dsk to avoid shadowing.
2598 (find_free_slot): Fix prototype.
2599 * util/getroot.c (grub_util_is_dmraid): Make static.
2600 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
2601 Add missing prototype.
2602 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
2603
2604 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * loader/i386/linux.c (grub_linux_setup_video): Handle error
2607 appropriately.
2608
2609 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
2612 code out.
2613
2614 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
2617 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
2618 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
2619 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
2620 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
2621 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2622
2623 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * include/grub/err.h (grub_err_printf): Don't export.
2626
2627 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
2630
2631 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * include/grub/i18n.h (grub_gettext_dummy): Removed.
2634 * kern/misc.c (grub_gettext_dummy): Make static.
2635
2636 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
2639 by non-valid ones.
2640 * kern/term.c (grub_putchar): Likewise.
2641
2642 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
2645 buggy hook call and memory leak.
2646
2647 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
2650
2651 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
2654
2655 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
2658 modevar.
2659 Return grub_errno on allocation error.
2660
2661 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
2664
2665 2010-02-06 Yves Blusseau <blusseau@zetam.org>
2666
2667 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
2668 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
2669
2670 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
2673 non-pxe disk.
2674 (grub_pxefs_open): Likewise.
2675
2676 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2677
2678 * util/grub.d/10_hurd.in: Add --class information to menuentries.
2679 * util/grub.d/10_kfreebsd.in: Likewise.
2680 * util/grub.d/10_linux.in: Likewise.
2681
2682 2010-02-06 Colin D Bennett <colin@gibibit.com>
2683
2684 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
2685 (gfxmenu_mod_SOURCES): New variable.
2686 (gfxmenu_mod_CFLAGS): Likewise.
2687 (gfxmenu_mod_LDFLAGS): Likewise.
2688 * include/grub/term.h (grub_term_set_current_output): Declare
2689 argument as const.
2690 * docs/gfxmenu-theme-example.txt: New file.
2691 * gfxmenu/gfxmenu.c: Likewise.
2692 * gfxmenu/gui_box.c: Likewise.
2693 * gfxmenu/gui_canvas.c: Likewise.
2694 * gfxmenu/gui_circular_progress.c: Likewise.
2695 * gfxmenu/gui_image.c: Likewise.
2696 * gfxmenu/gui_label.c: Likewise.
2697 * gfxmenu/gui_list.c: Likewise.
2698 * gfxmenu/gui_progress_bar.c: Likewise.
2699 * gfxmenu/gui_string_util.c: Likewise.
2700 * gfxmenu/gui_util.c: Likewise.
2701 * gfxmenu/icon_manager.c: Likewise.
2702 * gfxmenu/model.c: Likewise.
2703 * gfxmenu/named_colors.c: Likewise.
2704 * gfxmenu/theme_loader.c: Likewise.
2705 * gfxmenu/view.c: Likewise.
2706 * gfxmenu/widget-box.c: Likewise.
2707 * include/grub/gfxmenu_model.h: Likewise.
2708 * include/grub/gfxmenu_view.h: Likewise.
2709 * include/grub/gfxwidgets.h: Likewise.
2710 * include/grub/gui.h: Likewise.
2711 * include/grub/gui_string_util.h: Likewise.
2712 * include/grub/icon_manager.h: Likewise.
2713
2714 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 Agglomerate scrolling in gfxterm.
2717
2718 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
2719 (grub_virtual_screen_setup): Initialise 'total_screen'.
2720 (write_char): Split to ...
2721 (paint_char): ... this ...
2722 (write_char): ... and this.
2723 (paint_char): Handle delayed scrolling.
2724 (draw_cursor): Likewise.
2725 (scroll_up): Split to ...
2726 (real_scroll): ... this ...
2727 (scroll_up): ... and this.
2728 (real_scroll): Handle multi-line scroll and draw below-the-bottom
2729 characters.
2730 (grub_gfxterm_refresh): Call real_scroll.
2731
2732 2010-02-06 Colin D Bennett <colin@gibibit.com>
2733
2734 * include/grub/misc.h (grub_iscntrl): New inline function.
2735 (grub_isalnum): Likewise.
2736 (grub_strtol): Likewise.
2737
2738 2010-02-06 Colin D Bennett <colin@gibibit.com>
2739
2740 * normal/menu_text.c (get_entry_number): Move from here ...
2741 * normal/menu.c (get_entry_number): ... moved here.
2742 * include/grub/menu.h (grub_menu_get_default_entry_index):
2743 New prototype.
2744 * normal/menu.c (grub_menu_get_default_entry_index): New function.
2745 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
2746 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
2747 (grub_menu_viewer_should_return): Likewise.
2748 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
2749 * normal/menu_text.c (run_menu): Enable menu switching.
2750 * normal/menu_viewer.c (should_return): New variable.
2751 (menu_viewer_changed): Likewise.
2752 (grub_menu_viewer_show_menu): Handle menu viewer changes.
2753 (grub_menu_viewer_should_return): New function.
2754 (menuviewer_write_hook): Likewise.
2755 (grub_menu_viewer_init): Likewise.
2756
2757 2010-02-06 Colin D Bennet <colin@gibibit.com>
2758 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 Support for gfxterm in a window.
2761
2762 * include/grub/gfxterm.h: New file.
2763 * include/grub/video.h (struct grub_video_rect): New declaration.
2764 (grub_video_rect_t): Likewise.
2765 * term/gfxterm.c (struct grub_gfxterm_window): New type.
2766 (refcount): New variable.
2767 (render_target): Likewise.
2768 (window): Likewise.
2769 (repaint_callback): Likewise.
2770 (grub_virtual_screen_setup): Use 'render_target'.
2771 (init_window): New function.
2772 (grub_gfxterm_init_window): Likewise.
2773 (grub_gfxterm_init): Check reference counter.
2774 Use init_window.
2775 (destroy_window): New function.
2776 (grub_gfxterm_destroy_window): Likewise.
2777 (grub_gfxterm_fini): Check reference counter.
2778 Use destroy_window.
2779 (redraw_screen_rect): Restore viewport.
2780 Use 'render_target' and 'window'.
2781 Call 'repaint_callback'.
2782 (write_char): Use 'render_target'.
2783 (draw_cursor): Likewise.
2784 (scroll_up): Restore viewport.
2785 Use 'render_target' and 'window'.
2786 Call 'repaint_callback'.
2787 (grub_gfxterm_cls): Likewise.
2788 (grub_gfxterm_refresh): Use 'window'.
2789 (grub_gfxterm_set_repaint_callback): New function.
2790 (grub_gfxterm_background_image_cmd): Use 'window'.
2791 (grub_gfxterm_get_term): New function.
2792 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
2793
2794 2010-02-06 Colin D Bennett <colin@gibibit.com>
2795
2796 Bitmap scaling support.
2797
2798 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
2799 (bitmap_scale_mod_SOURCES): New variable.
2800 (bitmap_scale_mod_CFLAGS): Likewise.
2801 (bitmap_scale_mod_LDFLAGS): Likewise.
2802 * include/grub/bitmap_scale.h: New file.
2803 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
2804 (background_image_cmd_options): New variable.
2805 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
2806 (cmd): Rename and change type to ...
2807 (background_image_cmd_handle): ... this. All users updated.
2808 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
2809 * video/bitmap_scale.c: New file.
2810
2811 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 SDL support.
2814
2815 * Makefile.in (LIBSDL): New variable.
2816 (enable_grub_emu_sdl): Likewise.
2817 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
2818 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
2819 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
2820 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
2821 * util/sdl.c: New file.
2822
2823 2010-02-06 Colin D Bennett <colin@gibibit.com>
2824 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 Double buffering support.
2827
2828 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
2829 * include/grub/video.h: Update comment.
2830 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2831 New type.
2832 (grub_video_fb_doublebuf_blit_init): New prototype.
2833 * term/gfxterm.c (scroll_up): Support double buffering.
2834 (grub_gfxterm_refresh): Likewise.
2835 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
2836 (grub_video_fb_doublebuf_blit_init): Likewise.
2837 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
2838 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
2839 'displayed_page', 'render_page' and 'update_screen'.
2840 (grub_video_vbe_fini): Free offscreen buffer.
2841 (doublebuf_pageflipping_commit): New function.
2842 (doublebuf_pageflipping_update_screen): Likewise.
2843 (doublebuf_pageflipping_init): Likewise.
2844 (double_buffering_init): Likewise.
2845 (grub_video_vbe_setup): Enable doublebuffering.
2846 (grub_video_vbe_swap_buffers): Implement.
2847 (grub_video_vbe_set_active_render_target): Handle double buffering.
2848 (grub_video_vbe_get_active_render_target): Likewise.
2849 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
2850 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
2851 (grub_video_vbe_enable_double_buffering): Likewise.
2852 (grub_video_vbe_swap_buffers): Use update_screen.
2853 (grub_video_set_mode): Use double buffering.
2854
2855 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2856
2857 * maintainance/gentrigtables.py: Remove.
2858 * lib/trig.c: Likewise.
2859
2860 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
2861
2862 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
2863 `trigtables.c'.
2864 (trigtables.c): New rule.
2865 (gentrigtables): Likewise.
2866 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
2867
2868 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2869
2870 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
2871 integer constants.
2872
2873 2010-02-06 Colin D Bennet <colin@gibibit.com>
2874
2875 Trigonometry support.
2876
2877 * include/grub/trig.h: New file.
2878 * lib/trig.c: Likewise.
2879 * maintainance/gentrigtables.py: Likewise.
2880 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
2881 (trig_mod_SOURCES): New variable.
2882 (trig_mod_CFLAGS): Likewise.
2883 (trig_mod_LDFLAGS): Likewise.
2884
2885 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
2888 disk devices.
2889
2890 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
2893 error.
2894
2895 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * util/hostdisk.c (open_device): Don't use partition device when reading
2898 before the partition.
2899 (grub_util_biosdisk_read): Don't read from partition and before the
2900 partition in single operation.
2901 (grub_util_biosdisk_write): Don't write to partition and before the
2902 partition in single operation.
2903
2904 2010-02-03 Torsten Landschoff <torsten@debian.org>
2905
2906 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2907 last sectors.
2908
2909 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
2912 CDROM reads.
2913 (grub_biosdisk_write): Refuse to write to CDROM.
2914
2915 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
2918
2919 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * font/font.c (find_glyph): Check that bmp_idx is available before
2922 using it.
2923 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
2924 with (font == NULL).
2925
2926 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
2927
2928 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
2929
2930 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
2931
2932 * include/grub/script_sh.h (sourcecode): Add const qualifier.
2933 * util/grub-script-check.c (getline): Fix empty lines case.
2934
2935 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
2936
2937 * Makefile.in (check): Exit with fail status when one of the tests
2938 fails.
2939 * tests/example_functional_test.c (example_test): Fix reversed assert.
2940 * tests/example_unit_test.c (example_test): Likewise.
2941
2942 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
2943
2944 * util/grub.d/10_linux.in: This script does not use any of the
2945 contents of gettext.sh, only the external command `gettext', so stop
2946 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
2947 the same prefix as GRUB.)
2948 * util/grub.d/10_kfreebsd.in: Likewise.
2949
2950 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
2953 of the line.
2954
2955 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2958 last sectors.
2959
2960 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
2963 having a 4KiB and not 32KiB buffer size.
2964
2965 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2966
2967 * util/hostfs.c: Include `<errno.h>'.
2968 (grub_hostfs_read): Handle errors from fseeko() and fread().
2969
2970 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2971
2972 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
2973 loop when using read hooks on files whose size isn't sector-aligned.
2974
2975 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2976
2977 Remove unused parameter.
2978
2979 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
2980 (grub_iso9660_open): Remove initialization of `data->length'.
2981
2982 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2983
2984 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
2985 memleak conditions.
2986
2987 2010-01-27 Carles Pina i Estany <carles@pina.cat>
2988
2989 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
2990 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
2991
2992 2010-01-26 Carles Pina i Estany <carles@pina.cat>
2993
2994 * util/bin2h.c (usage): Fix warning (space after backslash).
2995
2996 2010-01-26 Carles Pina i Estany <carles@pina.cat>
2997
2998 * font/font.c: Include `grub/fontformat.h.
2999 Remove font file format constants.
3000 (grub_font_load): Use the new macros.
3001 * include/grub/fontformat.h: New file.
3002 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3003 (write_font_pf2): Use the new macros.
3004
3005 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3006
3007 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3008 does.
3009
3010 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3011
3012 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3013
3014 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3015 (_start): Macroify `0x7F'.
3016
3017 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3018 (make_install_device): Use "(pxe)" as fallback prefix when booting
3019 via PXE.
3020
3021 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * configure.ac: Reset LIBS after check for libgcc symbols.
3024
3025 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
3026
3027 * util/hostdisk.c (open_device): Add trailing newline to debug
3028 message.
3029
3030 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3031
3032 * configure.ac: Check for `limits.h'.
3033 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3034
3035 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3036
3037 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3038 capitalize error strings.
3039
3040 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3041
3042 * util/grub.d/10_hurd.in: Add a recovery mode.
3043
3044 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * configure.ac: Check for libgcc symbols with -nostdlib.
3047
3048 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3049
3050 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3051
3052 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3055 stack since heap may be unavailable at that point.
3056 (grub_ofconsole_gotoxy): Likewise.
3057
3058 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * configure.ac: Check for _restgpr_14_x.
3061 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3062 and _savegpr_* prototypes.
3063
3064 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3065
3066 Use generic grub_reboot() for i386-efi.
3067
3068 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3069 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3070 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3071
3072 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3075 presence of "prefix" variable as it breaks when normal.mod is
3076 embedded.
3077
3078 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3081 stack since heap is unavailable at that point.
3082
3083 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3086 (grub_freebsd_bootinfo): Rewritten.
3087 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3088
3089 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3092
3093 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3094
3095 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3096 domain now.
3097
3098 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
3099
3100 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3101 around for handling "/" to the correct fix. Fix a memory leak. Use
3102 xstrdup instead of strdup.
3103
3104 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3107
3108 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3111
3112 * font/font.c (struct grub_font): New member 'bmp_idx'.
3113 (font_init): Initialise 'bmp_idx'.
3114 (load_font_index): Fill 'bmp_idx'.
3115 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3116
3117 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3120 unnecessary calls.
3121
3122 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 Move context handling out of the kernel.
3125
3126 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3127 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3128 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3129 * conf/i386-efi.rmk: Likewise.
3130 * conf/i386-ieee1275.rmk: Likewise.
3131 * conf/i386-pc.rmk: Likewise.
3132 * conf/powerpc-ieee1275.rmk: Likewise.
3133 * conf/sparc64-ieee1275.rmk: Likewise.
3134 * conf/x86_64-efi.rmk: Likewise.
3135 * include/grub/env.h: Include grub/menu.h.
3136 (grub_env_var_type): Removed.
3137 (grub_env_var): Replaced field 'type' with 'global'.
3138 (grub_env_find): New prototype.
3139 (grub_env_context_open): Remove EXPORT_FUNC.
3140 (grub_env_context_close): Likewise.
3141 (grub_env_export): Likewise.
3142 (grub_env_set_data_slot): Removed.
3143 (grub_env_get_data_slot): Likewise.
3144 (grub_env_unset_data_slot): Likewise.
3145 (grub_env_unset_menu): New prototype.
3146 (grub_env_set_menu): Likewise.
3147 (grub_env_get_menu): Likewise.
3148 * include/grub/env_private.h: New file.
3149 * include/grub/normal.h (grub_context_init): New prototype.
3150 (grub_context_fini): Likewise.
3151 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3152 * normal/context.c (grub_cmd_export): ... to here.
3153 * kern/env.c: Include env_private.h.
3154 (HASHSZ): Moved to include/grub/env_private.h.
3155 (grub_env_context): Likewise.
3156 (grub_env_sorted_var): Likewise.
3157 (current_context): Renamed from this ...
3158 (grub_current_context): ...to this. 'static' removed. All users updated.
3159 (grub_env_find): Removed 'static'.
3160 (grub_env_context_open): Moved to normal/context.c.
3161 (grub_env_context_close): Likewise.
3162 (grub_env_export): Likewise.
3163 (mangle_data_slot_name): Removed.
3164 (grub_env_set_data_slot): Likewise.
3165 (grub_env_get_data_slot): Likewise.
3166 (grub_env_unset_data_slot): Likewise.
3167 * kern/main.c (grub_set_root_dev): Don't export root.
3168 It will be done later.
3169 (grub_main): Don't export prefix.
3170 It will be done later.
3171 * normal/context.c: New file.
3172 * normal/main.c (free_menu): Use grub_env_unset_menu.
3173 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3174 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3175 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3176 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3177
3178 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 setpci support.
3181
3182 * commands/setpci.c: New file.
3183 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3184 (setpci_mod_SOURCES): New variable.
3185 (setpci_mod_CFLAGS): Likewise.
3186 (setpci_mod_LDFLAGS): Likewise.
3187
3188 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 Byte-addressable PCI configuration space.
3191
3192 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3193 dword address.
3194 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3195 GRUB_PCI_REG_CACHELINE.
3196 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3197 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3198 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3199 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3200 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3201 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3202 grub_pci_make_address.
3203 (lock_rom_area): Likewise.
3204 * commands/lspci.c (grub_lspci_iter): Use macroses
3205 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3206 of grub_pci_make_address.
3207 * disk/ata.c (grub_ata_pciinit): Likewise.
3208 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3209 (GRUB_PCI_REG_VENDOR): Likewise.
3210 (GRUB_PCI_REG_DEVICE): Likewise.
3211 (GRUB_PCI_REG_COMMAND): Likewise.
3212 (GRUB_PCI_REG_STATUS): Likewise.
3213 (GRUB_PCI_REG_REVISION): Likewise.
3214 (GRUB_PCI_REG_CLASS): Likewise.
3215 (GRUB_PCI_REG_CACHELINE): Likewise.
3216 (GRUB_PCI_REG_LAT_TIMER): Likewise.
3217 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
3218 (GRUB_PCI_REG_BIST): Likewise.
3219 (GRUB_PCI_REG_ADDRESSES): Likewise.
3220 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3221 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3222 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3223 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3224 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3225 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3226 (GRUB_PCI_REG_CIS_POINTER): Likewise.
3227 (GRUB_PCI_REG_SUBVENDOR): Likewise.
3228 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
3229 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
3230 (GRUB_PCI_REG_CAP_POINTER): Likewise.
3231 (GRUB_PCI_REG_IRQ_LINE): Likewise.
3232 (GRUB_PCI_REG_IRQ_PIN): Likewise.
3233 (GRUB_PCI_REG_MIN_GNT): Likewise.
3234 (GRUB_PCI_REG_MAX_LAT): Likewise.
3235 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
3236 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
3237 * video/efi_uga.c (find_framebuf): Likewise.
3238 * video/sm712.c (grub_video_sm712_setup): Likewise.
3239 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
3240 space.
3241
3242 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3243
3244 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
3245 can be reliably determined to be supported.
3246
3247 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3248
3249 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
3250 that VESA is supported.
3251 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
3252 supported.
3253
3254 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
3257
3258 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3259
3260 * util/misc.c (make_system_path_relative_to_its_root): Work around
3261 special-casing of "/", as previous incarnation of this routine did.
3262
3263 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 Fix any-emu compilation.
3266
3267 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
3268 * grub_bin2h_SOURCES: New variable.
3269
3270 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3271
3272 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
3273
3274 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3275
3276 * util/grub.d/00_header.in: Fix handling of locale_dir.
3277
3278 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
3281 as possible unifont location (Gentoo).
3282 Reported by: Alexander Brüning
3283
3284 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 Don't try to generate lists for kernel.img.
3287
3288 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
3289 (pkglib_MODULES): Remove kernel.img.
3290 (kernel_img_EXPORTS): Removed.
3291 (kernel_img_RELOCATABLE): New variable.
3292 * conf/x86_64-efi.rmk: Likewise.
3293 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
3294
3295 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
3298 grub_xasprintf or grub_snprintf.
3299 (grub_vsprintf): Likewise.
3300 (grub_snprintf): New proto.
3301 (grub_vsnprintf): Likewise.
3302 (grub_xasprintf): Likewise.
3303 (grub_xvasprintf): Likewise.
3304 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
3305 (grub_sprintf): Removed.
3306 (grub_vsnprintf): New function.
3307 (grub_snprintf): Likewise.
3308 (grub_xvasprintf): Likewise.
3309 (grub_xasprintf): Likewise.
3310 (grub_vsprintf): Renamed to ...
3311 (grub_vsnprintf_real): ...this. New argument max_len.
3312
3313 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
3314
3315 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
3316 fix grub-script-check warning.
3317
3318 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * include/grub/font.h (grub_font_load): Fix prototype.
3321
3322 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
3325
3326 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * include/grub/x86_64/at_keyboard.h: New file.
3329
3330 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * loader/mips/linux.c: Include missing grub/i18n.h.
3333
3334 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3335
3336 * normal/menu.c (notify_execution_failure): Clarify error message.
3337
3338 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3339
3340 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
3341 return value (and revert all return statements). Update users.
3342
3343 2010-01-20 Dan Merillat <debian@dan.merillat.org>
3344
3345 * kern/device.c (grub_device_iterate): Allocate new part_ent
3346 structure based on sizeof (*p) rather than sizeof (p->next), to
3347 account for structure padding.
3348
3349 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
3350 disk is NULL, which might happen for LVM physical volumes with no
3351 LVM signature.
3352
3353 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3354
3355 * loader/mips/linux.c (grub_cmd_initrd)
3356 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
3357
3358 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3359
3360 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
3361 (grub_video_video_init, grub_video_bitmap_init)
3362 (grub_font_manager_init, grub_term_gfxterm_init)
3363 (grub_at_keyboard_init): New extern declarations.
3364 (grub_machine_init): Initialize gfxterm and at_keyboard.
3365
3366 * kern/main.c (grub_main): Revert grub_printf delay kludge.
3367
3368 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
3369 `gfxterm.mod' into core image.
3370
3371 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3372 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3373 (kernel_img_FORMAT): Copy to ...
3374
3375 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3376 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3377 (kernel_img_FORMAT): ... here, and ...
3378
3379 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3380 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3381 (kernel_img_FORMAT): ... here.
3382
3383 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
3384 and input (at_keyboard) terminals in kernel.
3385 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
3386
3387 (pkglib_MODULES): Remove `pci.mod'.
3388 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
3389 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
3390 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
3391 (at_keyboard_mod_LDFLAGS): Remove variables.
3392
3393 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
3394
3395 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
3396
3397 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
3398
3399 * include/grub/mips/libgcc.h: Only export symbols for functions
3400 that libgcc provides.
3401
3402 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 MIPS support.
3405
3406 * bus/bonito.c: New file.
3407 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
3408 GRUB_PCI_NUM_DEVICES.
3409 * term/i386/pc/serial.c: Move to ...
3410 * term/serial.c: ... here. All users updated.
3411 * util/i386/pc/grub-mkimage.c: Move to ...
3412 * util/grub-mkrawimage.c: ... here. All users updated.
3413 * term/i386/pc/at_keyboard.c: Move to ...
3414 * term/at_keyboard.c: ... here. All users updated.
3415 * conf/mips-qemu-mips.rmk: New file.
3416 * conf/mips-yeeloong.rmk: Likewise.
3417 * conf/mips.rmk: Likewise.
3418 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
3419 mipsel-qemu-mips.
3420 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
3421 to port addresses.
3422 (grub_ata_pciinit): Support CS5536.
3423 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
3424 * font/font_cmd.c (loadfont_command): Open file before passing it to
3425 grub_font_load.
3426 (pseudo_file_read): New function.
3427 (pseudo_file_close): Likewise.
3428 (pseudo_fs): New structure.
3429 (load_font_module): New function.
3430 (GRUB_MOD_INIT(font_manager)): Load embedded font.
3431 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
3432 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
3433 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
3434 * include/grub/i386/at_keyboard.h: Split into ...
3435 * include/grub/at_keyboard.h: ... this ...
3436 * include/grub/i386/at_keyboard.h: ... and this.
3437 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
3438 New prototype.
3439 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
3440 updated.
3441 (grub_elf64_size): Likewise.
3442 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
3443 filename.
3444 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
3445 * include/grub/i386/coreboot/serial.h: Rewritten.
3446 * include/grub/i386/ieee1275/serial.h: Include
3447 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
3448 * include/grub/i386/pc/serial.h: Moved from here ...
3449 * include/grub/serial.h: ... to here. All users updated.
3450 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
3451 (GRUB_PCI_NUM_BUS): Likewise.
3452 (GRUB_PCI_NUM_DEVICES): Likewise.
3453 (grub_pci_device_map_range): Add missing volatile keyword.
3454 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
3455 * include/grub/mips/at_keyboard.h: New file.
3456 * include/grub/mips/cache.h: Likewise.
3457 * include/grub/mips/io.h: Likewise.
3458 * include/grub/mips/kernel.h: Likewise.
3459 * include/grub/mips/libgcc.h: Likewise.
3460 * include/grub/mips/pci.h: Likewise.
3461 * include/grub/mips/qemu-mips/boot.h: Likewise.
3462 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3463 * include/grub/mips/qemu-mips/loader.h: Likewise.
3464 * include/grub/mips/qemu-mips/memory.h: Likewise.
3465 * include/grub/mips/qemu-mips/serial.h: Likewise.
3466 * include/grub/mips/qemu-mips/time.h: Likewise.
3467 * include/grub/mips/relocator.h: Likewise.
3468 * include/grub/mips/time.h: Likewise.
3469 * include/grub/mips/types.h: Likewise.
3470 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
3471 * include/grub/mips/yeeloong/boot.h: Likewise.
3472 * include/grub/mips/yeeloong/kernel.h: Likewise.
3473 * include/grub/mips/yeeloong/loader.h: Likewise.
3474 * include/grub/mips/yeeloong/memory.h: Likewise.
3475 * include/grub/mips/yeeloong/pci.h: Likewise.
3476 * include/grub/mips/yeeloong/serial.h: Likewise.
3477 * include/grub/mips/yeeloong/time.h: Likewise.
3478 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
3479 * kern/elf.c (grub_elf32_size): New parameter. All users
3480 updated.
3481 (grub_elf64_size): Likewise.
3482 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
3483 Load modules before saying "Welcome to GRUB!".
3484 Call grub_refresh after saying "Welcome to GRUB!".
3485 * kern/mips/cache.S: New file.
3486 * kern/mips/cache_flush.S: Likewise.
3487 * kern/mips/dl.c: Likewise.
3488 * kern/mips/init.c: Likewise.
3489 * kern/mips/qemu-mips/init.c: Likewise.
3490 * kern/mips/startup.S: Likewise.
3491 * kern/mips/yeeloong/init.c: Likewise.
3492 * kern/term.c (grub_putcode): Handle NULL terminal.
3493 (grub_getcharwidth): Likewise.
3494 (grub_getkey): Likewise.
3495 (grub_checkkey): Likewise.
3496 (grub_getkeystatus): Likewise.
3497 (grub_getxy): Likewise.
3498 (grub_getwh): Likewise.
3499 (grub_gotoxy): Likewise.
3500 (grub_cls): Likewise.
3501 (grub_setcolorstate): Likewise.
3502 (grub_setcolor): Likewise.
3503 (grub_getcolor): Likewise.
3504 (grub_refresh): Likewise.
3505 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
3506 (write_jump): Add hatch nop.
3507 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
3508 * lib/mips/setjmp.S: New file.
3509 * loader/mips/linux.c: Likewise.
3510 * term/i386/pc/at_keyboard.c: Move from here ...
3511 * term/at_keyboard.c: ... to here.
3512 * term/i386/pc/serial.c: Moved from here ...
3513 * term/serial.c: ... to here. All users updated.
3514 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
3515 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
3516 (serial_translate_key_sequence): Avoid deadlock.
3517 (grub_serial_getkey): Handle backspace.
3518 (grub_serial_putchar): Fix newline handling.
3519 * util/i386/pc/grub-mkimage.c: Move from here ...
3520 * util/grub-mkrawimage.c: ... to here. All users updated.
3521 (generate_image): New parameters 'font_path' and 'format'.
3522 Support embedding font.
3523 Use grub_host_to_target* instead of grub_cpu_to_le*.
3524 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
3525 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
3526 (options): New option "--font".
3527 (usage): Likewise.
3528 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
3529 (main): Handle "--font".
3530 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
3531 (grub_virtual_screen_setup): Set bg_color_display.
3532 (redraw_screen_rect): Use bg_color_display instead of incorrect
3533 bg_color.
3534 (grub_gfxterm_cls): Likewise.
3535 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
3536 Support embedding config file.
3537 (add_segments): Likewise.
3538 (options): New option "--config".
3539 (main): Handle "--config".
3540 * video/sm712.c: New file.
3541
3542 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3543
3544 Fix parallel builds.
3545
3546 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
3547 font.c depend on ascii.h).
3548
3549 2010-01-12 Carles Pina i Estany <carles@pina.cat>
3550
3551 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
3552
3553 2010-01-11 Carles Pina i Estany <carles@pina.cat>
3554
3555 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
3556 By default: disabled.
3557 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
3558 parameter.
3559
3560 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3561
3562 * font/font.c: Update copyright years.
3563 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
3564
3565 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3566
3567 * font/font.c: Include `ascii.h'.
3568 (ASCII_BITMAP_SIZE): New macro.
3569 (ascii_font_glyph): Define.
3570 (ascii_glyph_lookup): New function.
3571 (grub_font_get_string_width): Change comment. If glyph not found, use
3572 ascii_glyph_lookup.
3573 (grub_font_get_glyph_with_fallback): If glyph not available returns
3574 ascii_glyph_lookup.
3575 * util/grub-mkfont.c (file_formats): New enum.
3576 (options): Add `ascii-bitmaps' new option.
3577 (usage): Add `asii-bitmaps' new option.
3578 (write_font_ascii_bitmap): New function.
3579 (write_font): Rename to ...
3580 (write_font_p2): ... this. Remove print_glyphs call.
3581 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
3582 used. Call print_glyphs.
3583 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
3584
3585 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3586
3587 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
3588 (grub_bin2h_SOURCES): New variable.
3589 * util/bin2h.c: New file.
3590
3591 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * include/multiboot.h: Resynced with spec.
3594 * include/multiboot2.h: Likewise.
3595 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
3596 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
3597
3598 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3599
3600 * include/grub/term.h (grub_term_register_input,
3601 grub_term_register_output): Check return of terminal init()
3602 routines, and abort if errors are raised.
3603
3604 * commands/terminal.c: Update copyright year.
3605
3606 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3607
3608 * commands/terminal.c (grub_cmd_terminal_input)
3609 (grub_cmd_terminal_output): Check return of terminal init()
3610 routines, and abort if errors are raised.
3611
3612 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * include/grub/i386/bsd.h: Fix include pathes.
3615
3616 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Add missing *BSD copyright headers.
3619
3620 * include/grub/aout.h: Add BSD licence.
3621 * include/grub/i386/bsd.h: Parts under different licences moved to ...
3622 * include/grub/i386/freebsd_linker.h: ... here,
3623 * include/grub/i386/freebsd_reboot.h: ... here,
3624 * include/grub/i386/netbsd_bootinfo.h: ... here,
3625 * include/grub/i386/netbsd_reboot.h: ... here,
3626 * include/grub/i386/openbsd_bootarg.h: ... here,
3627 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
3628 licence to each file.
3629
3630 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3631
3632 * acinclude.m4: Remove `nop' assembly instruction; it's not
3633 implemented by all architectures.
3634
3635 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3636
3637 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
3638 ELILO. This is no longer necessary.
3639
3640 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
3641
3642 Added new tool, grub-scrit-check to verify grub.cfg syntax.
3643
3644 * util/grub-script-check.c: grub-script-check tool.
3645 * conf/common.rmk: Make rules for grub-script-check.
3646
3647 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3648
3649 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
3650 spotting it back in 2008. Shame on me for forgetting he did.
3651
3652 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
3653
3654 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3655
3656 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
3657 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
3658 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
3659 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
3660 (GRUB_VIDEO_TYPE_EFI): Rename to ...
3661 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
3662
3663 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
3664
3665 * include/grub/test.h: Add license header.
3666 * tests/example_functional_test.c: Likewise.
3667 * tests/example_unit_test.c: Likewise.
3668 * tests/lib/functional_test.c: Likewise.
3669 * tests/lib/test.c: Likewise.
3670 * tests/lib/unit_test.c: Likewise.
3671
3672 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 Use flag-based instead of hook-based video mode selection and "auto"
3675 keyword.
3676
3677 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
3678 (grub_video_set_mode): Changed prototype. All users updated.
3679 (grub_video_check_mode_flag): New inline function.
3680 * video/video.c (parse_modespec): New function.
3681 (grub_video_set_mode): Parse flags and keywords.
3682
3683 2010-01-17 Carles Pina i Estany <carles@pina.cat>
3684
3685 * util/misc.c (grub_util_info): Fix the order of the parameters in a
3686 fprintf call.
3687
3688 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3689
3690 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
3691
3692 2010-01-16 Carles Pina i Estany <carles@pina.cat>
3693
3694 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
3695 string.
3696 * util/grub-emu.c (usage): Likewise.
3697 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
3698 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3699 * util/i386/pc/grub-mkimage.c (usage): Likewise.
3700 * util/i386/pc/grub-setup.c (usage): Likewise.
3701
3702 2010-01-16 Carles Pina i Estany <carles@pina.cat>
3703
3704 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
3705 the message.
3706 (grub_util_info): Likewise.
3707 (grub_util_error): Likewise.
3708 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
3709 and/or new lines in `grub_util_warna', `grub_util_info',
3710 `grub_util_error' calls.
3711 * util/getroot.c: Likewise.
3712 * util/grub-editenv.c: Likewise.
3713 * util/grub-emu.c: Likewise.
3714 * util/grub-fstest.c: Likewise.
3715 * util/grub-mkdevicemap.c: Likewise.
3716 * util/grub-mkfont.c: Likewise.
3717 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3718 * util/grub-mkrelpath.c: Likewise.
3719 * util/grub-pe2elf.c: Likewise.
3720 * util/grub-probe.c: Likewise.
3721 * util/hostdisk.c: Likewise.
3722 * util/i386/efi/grub-mkimage.c: Likewise.
3723 * util/i386/pc/grub-mkimage.c: Likewise.
3724 * util/i386/pc/grub-setup.c: Likewise.
3725 * util/ieee1275/ofpath.c: Likewise.
3726 * util/mkisofs/eltorito.c: Likewise.
3727 * util/mkisofs/rock.c: Likewise.
3728 * util/mkisofs/write.c: Likewise.
3729 * util/raid.c: Likewise.
3730 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3731 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3732
3733 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 Enable multiboot on non-pc.
3736
3737 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
3738 multiboot.mod and multiboot2.mod to ...
3739 * conf/i386.rmk (pkglib_MODULES): ... here.
3740 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
3741 Moved to ...
3742 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
3743 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
3744 Moved to ...
3745 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
3746 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
3747 Moved to ...
3748 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
3749 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
3750 Moved to ...
3751 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
3752 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
3753 relocator.mod.
3754 (ata_mod_SOURCES): Removed.
3755 (ata_mod_CFLAGS): Likewise.
3756 (ata_mod_LDFLAGS): Likewise.
3757 (relocator_mod_SOURCES): Removed.
3758 (relocator_mod_CFLAGS): Likewise.
3759 (relocator_mod_ASFLAGS): Likewise.
3760 (relocator_mod_LDFLAGS): Likewise.
3761 Include i386.mk.
3762 * include/grub/x86_64/multiboot.h: New file.
3763 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
3764 Terminate EFI.
3765
3766 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 Video multiboot support.
3769
3770 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
3771 New prototype.
3772 * include/multiboot.h: Resynced with multiboot specification.
3773 * include/multiboot2.h: Likewise.
3774 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
3775 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
3776 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
3777 (HAS_VGA_TEXT): Likewise.
3778 (accepts_video): New variable.
3779 (grub_multiboot_set_accepts_video): New function.
3780 (grub_multiboot_get_mbi_size): Account for video structures.
3781 (set_video_mode): New function.
3782 (retrieve_video_parameters): Likewise.
3783 (grub_multiboot_make_mbi): Fill video fields.
3784
3785 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 Video driver ids.
3788
3789 * include/grub/video.h (grub_video_driver_id): New type.
3790 (grub_video_adapter): New member 'id'. All users updated.
3791 (grub_video_get_driver_id): New proto.
3792 * video/video.c (grub_video_get_driver_id): New function.
3793
3794 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3795
3796 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
3797 `var=val'.
3798
3799 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3800
3801 * normal/cmdline.c (print_completion): Gettextizze.
3802
3803 2001-01-14 Carles Pina i Estany <carles@pina.cat>
3804
3805 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
3806
3807 2010-01-14 Carles Pina i Estany <carles@pina.cat>
3808
3809 * gettext/gettext.c (grub_gettext_translate): Push and pop
3810 grub_errno.
3811 (grub_gettext_delete_list): Change comment style.
3812 * kern/err.c (grub_error): Gettextizze.
3813 (grub_fatal): Gettextizze.
3814
3815 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3816
3817 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
3818 (grub_linux16_real_boot): ... this.
3819 * kern/i386/loader.S: Likewise.
3820 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
3821 (grub_linux16_boot): New function. Switches to text mode and calls
3822 grub_linux16_real_boot().
3823
3824 * loader/i386/bsd.c: Include `<grub/video.h>'.
3825 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
3826 text mode before calling grub_unix_real_boot().
3827
3828 * loader/i386/multiboot.c: Include `<grub/video.h>'.
3829 (grub_multiboot_boot): Switch to text mode before calling
3830 grub_relocator32_boot().
3831
3832 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
3833 (grub_chainloader_boot): Switch to text mode before calling
3834 grub_chainloader_real_boot().
3835
3836 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3837 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3838
3839 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
3840 non-empty value.
3841
3842 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3843 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3844
3845 * util/grub.d/00_header.in: Define a "savedefault" function for use
3846 in menu entries.
3847 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
3848
3849 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
3850 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
3851
3852 * util/grub-mkconfig_lib.in (save_default_entry): Only set
3853 saved_entry if boot_once is unset.
3854 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
3855 previous saved entry (i.e. grub-reboot).
3856
3857 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3858
3859 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
3860
3861 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3862
3863 * util/grub.d/00_header.in: Use `set var=val' rather than plain
3864 `var=val'.
3865 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
3866
3867 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3868
3869 * util/grub-reboot.in: Fix --version output.
3870 * util/grub-set-default.in: Likewise.
3871
3872 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3873
3874 * util/grub.d/00_header.in: Silently ignore zero-sized environment
3875 blocks.
3876
3877 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3878
3879 * util/grub.d/00_header.in: Quote the value assigned to `default',
3880 in case it contains spaces.
3881
3882 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
3883
3884 * util/grub.d/30_os-prober.in: Fix merge error that moved a
3885 `save_default_entry' call from the macosx case to the linux case.
3886
3887 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3888 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
3889
3890 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
3891 in `chosen' environment variable.
3892 * normal/menu_text.c (get_entry_number): Check if the variable
3893 matches the title of a menu entry.
3894 (run_menu): Pass menu to get_entry_number.
3895
3896 * util/grub-reboot.in: New file.
3897 * util/grub-set-default.in: New file.
3898 * conf/common.rmk (grub-reboot): New utility.
3899 (grub-set-default): New utility.
3900
3901 * util/grub-mkconfig_lib.in (save_default_entry): New function.
3902 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
3903 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
3904 move it to `saved_entry' for the next boot. Load environment on
3905 initialisation.
3906 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
3907 * util/grub.d/10_hurd.in: Likewise.
3908 * util/grub.d/10_linux.in (linux_entry): Likewise.
3909 * util/grub.d/10_windows.in: Likewise.
3910 * util/grub.d/30_os-prober.in: Likewise.
3911
3912 * util/grub-install.in: Create environment block.
3913 * util/i386/efi/grub-install.in: Likewise.
3914 * util/ieee1275/grub-install.in: Likewise.
3915 * util/sparc64/ieee1275/grub-install.in: Likewise.
3916
3917 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
3918
3919 Unit testing framework for GRUB.
3920
3921 * Makefile.in: Test framework build rules for 'make check'.
3922 * conf/tests.rmk: Build rules for individual tests and framework.
3923
3924 * include/grub/test.h: Header file for whitebox tests.
3925 * tests/lib/functional_test.c: Framework support for whitebox
3926 functional tests.
3927 * tests/lib/test.c: Common whitebox testing code for unit and
3928 functional tests.
3929 * tests/lib/unit_test.c: Framework support for whitebox unit
3930 tests.
3931
3932 * tests/util/grub-shell-tester.in: Support utility for grub-script
3933 tests.
3934 * tests/util/grub-shell.in: Utility to execute grub-script
3935 commands in a Qemu instance.
3936
3937 * tests/example_functional_test.c: Example whitebox functional
3938 test.
3939 * tests/example_grub_script_test.in: Example grub-script test.
3940 * tests/example_scripted_test.in: Example scripted test.
3941 * tests/example_unit_test.c: Example whitebox unit test.
3942
3943 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
3946 Add loader/i386/multiboot_mbi.c.
3947 (multiboot2_mod_SOURCES): Likewise.
3948 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
3949 (multiboot2_mod_SOURCES): Likewise.
3950 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
3951 (grub_multiboot_make_mbi): Likewise.
3952 (grub_multiboot_free_mbi): Likewise.
3953 (grub_multiboot_init_mbi): Likewise.
3954 (grub_multiboot_add_module): Likewise.
3955 (grub_multiboot_set_bootdev): Likewise.
3956 * loader/i386/multiboot.c (mbi): Removed.
3957 (mbi_dest): Likewise.
3958 (alloc_mbi): New variable.
3959 (grub_multiboot_payload_size): Removed. All users updated.
3960 (grub_multiboot_pure_size): New variable.
3961 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
3962 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
3963 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
3964 (grub_fill_multiboot_mmap): Likewise.
3965 (grub_multiboot_get_bootdev): Likewise.
3966 (grub_multiboot): Use multiboot_mbi functions.
3967 * loader/i386/multiboot_mbi.c: New file.
3968
3969 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
3972 it would result in module crash.
3973
3974 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
3977 (grub_ofconsole_getwh): Split to ...
3978 (grub_ofconsole_getwh): ... this.
3979 (grub_ofconsole_dimensions): ...and this.
3980 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
3981
3982 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
3983
3984 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
3985
3986 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * loader/i386/pc/multiboot2.c: Removed stalled file.
3989
3990 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
3993 Reported by: Grégoire Sutre
3994
3995 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
3996
3997 * util/misc.c (canonicalize_file_name): New function.
3998 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
3999 instead of realpath().
4000
4001 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
4002
4003 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4004 and make it clearer that it's optional. Based on confusion
4005 witnessed on IRC.
4006
4007 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4010 in premature implicit newline.
4011
4012 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4015 which resulted in garbled command line at the end of screen.
4016
4017 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4018
4019 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4020 initialization with similar approach as with other Linux loaders.
4021
4022 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4023
4024 Fix i386-ieee1275 build.
4025
4026 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4027 and grub_term_height() for video_{width,height} initialization.
4028
4029 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4030
4031 Fix grub-emu build.
4032
4033 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4034
4035 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4036 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4037
4038 Support for multiple terminals.
4039
4040 * Makefile.in (pkglib_DATA): terminal.lst.
4041 (terminal.lst): New target.
4042 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4043 (GRUB_MOD_INIT(handler)): Likewise.
4044 (GRUB_MOD_FINI(handler)): Likewise.
4045 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4046 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4047 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4048 (grub_cmd_sleep): Use grub_term_save_pos.
4049 * commands/terminal.c: New file.
4050 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4051 commands/terminal.c and lib/charset.c.
4052 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4053 (pkglib_MODULES): Add terminal.mod.
4054 (terminal_mod_SOURCES): New variable.
4055 (terminal_mod_CFLAGS): Likewise.
4056 (terminal_mod_LDFLAGS): Likewise.
4057 * genhandlerlist.sh: Don't handle terminals.
4058 * genmk.rb: Generate terminal-*.lst.
4059 * genterminallist.sh: New file.
4060 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4061 (grub_is_valid_utf8): Likewise.
4062 (grub_utf8_to_ucs4_alloc): Likewise.
4063 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4064 (grub_menu_register_viewer): Changed argument.
4065 (grub_menu_try_text): New proto.
4066 (grub_gfxmenu_try_hook): New declaration.
4067 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4068 (grub_menu_init_page): Additional argument term.
4069 (grub_normal_init_page): Likewise.
4070 (grub_cmdline_get): Arguments simplified.
4071 (grub_utf8_to_ucs4_alloc): Removed.
4072 (grub_print_ucs4): Additional argument term.
4073 (grub_getstringwidth): Likewise.
4074 (grub_print_message_indented): Likewise.
4075 (grub_menu_text_register_instances): New proto.
4076 (grub_show_menu): Likewise.
4077 (read_terminal_list): Likewise.
4078 (grub_set_more): Likewise.
4079 * include/grub/parser.h: Include handler.h.
4080 * include/grub/reader.h: Rewritten.
4081 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4082 (GRUB_TERM_WIDTH): Changed to function.
4083 (GRUB_TERM_HEIGHT): Likewise.
4084 (GRUB_TERM_BORDER_WIDTH): Likewise.
4085 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4086 (GRUB_TERM_NUM_ENTRIES): Likewise.
4087 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4088 (GRUB_TERM_CURSOR_X): Likewise.
4089 (grub_term_input_class): Likewise.
4090 (grub_term_output_class): Likewise.
4091 (grub_term_outputs_disabled): New declaration.
4092 (grub_term_inputs_disabled): Likewise.
4093 (grub_term_outputs): Likewise.
4094 (grub_term_inputs): Likewise.
4095 (grub_term_register_input): Rewritten.
4096 (grub_term_register_output): Likewise.
4097 (grub_term_unregister_input): Likewise.
4098 (grub_term_unregister_output): Likewise.
4099 (FOR_ACTIVE_TERM_INPUTS): New macro.
4100 (FOR_DISABLED_TERM_INPUTS): Likewise.
4101 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4102 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4103 * include/grub/terminfo.h: Add oterm argument to all protypes.
4104 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4105 Use grub_rescue_run.
4106 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4107 All users updated.
4108 * kern/reader.c: Removed. All users updated.
4109 * kern/rescue_reader.c (grub_rescue_init): Removed.
4110 (grub_rescue_reader): Likewise.
4111 (grub_register_rescue_reader): Likewise.
4112 (grub_rescue_run): New function based on kern/reader.c.
4113 * kern/term.c: Adapted for multiterm.
4114 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4115 (grub_is_valid_utf8): Likewise.
4116 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4117 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4118 right terminal.
4119 * loader/i386/linux.c (grub_linux_boot): Likewise.
4120 * normal/auth.c (grub_username_get): New function.
4121 (grub_auth_check_authentication): Use grub_username_get.
4122 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4123 * normal/color.c: Adapt for multiterm.
4124 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4125 (grub_normal_init_page): Additional argument term.
4126 (read_lists): Call read_terminal_lists.
4127 (grub_enter_normal_mode): Call grub_cmdline_run.
4128 Handle grub_normal_exit_level.
4129 (grub_cmd_normal): Make reentrant.
4130 (grub_cmd_normal_exit): New function.
4131 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4132 * normal/menu.c: Adapt for multiterm.
4133 * normal/menu_entry.c: Likewise.
4134 * normal/menu_text.c: Likewise.
4135 * normal/menu_viewer.c: Removed. All users updated.
4136 * normal/term.c: New file.
4137 * util/console.c: Change order of includes to workaround a bug in
4138 ncurses headers.
4139 * term/terminfo.c: New argument oterm on all exported functions.
4140 All users updated.
4141 * util/grub-editenv.c (grub_term_input_class): Removed.
4142 (grub_term_output_class): Likewise.
4143
4144 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4145
4146 Make loader output a bit more user-friendly.
4147
4148 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4149 is being loaded. Likewise for the Hurd.
4150
4151 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4152 that kernel of FreeBSD ${version} is being loaded.
4153
4154 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4155 grub_dprintf().
4156 (grub_cmd_initrd): Likewise.
4157 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4158 that Linux ${version} is being loaded. Likewise for initrd.
4159
4160 2010-01-09 Carles Pina i Estany <carles@pina.cat>
4161
4162 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4163
4164 2010-01-08 Carles Pina i Estany <carles@pina.cat>
4165
4166 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4167 (GRUB_MOD_INIT): Gettextizze.
4168 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4169 (GRUB_MOD_INIT): Gettextizze.
4170 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4171 (grub_cmd_linux): Capitalise Linux.
4172 (GRUB_MOD_INIT): Gettextizze.
4173 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4174 (grub_cmd_linux): Capitalise Linux.
4175 (GRUB_MOD_INIT): Gettextizze.
4176 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4177 (grub_cmd_linux): Capitalise Linux.
4178 (GRUB_MOD_INIT): Gettextizze.
4179 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4180 (GRUB_MOD_INIT): Gettextizze.
4181 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4182 (grub_cmd_linux): Capitalise Linux.
4183 (GRUB_MOD_INIT): Gettextizze.
4184 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4185 (grub_cpu_xnu_init): Gettextizze.
4186 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4187 (GRUB_MOD_INIT): Gettextizze.
4188 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4189 (GRUB_MOD_INIT): Gettextizze.
4190 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4191 (grub_linux_load64): Capitalise Linux.
4192 (GRUB_MOD_INIT): Gettextizze.
4193 * loader/xnu.c: Include `<grub/i18n.h>'.
4194 (GRUB_MOD_INIT): Gettextizze.
4195 * po/POTFILES: Add `loader/efi/appleloader.c',
4196 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4197 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4198 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4199 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4200 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4201 and `loader/xnu.c'.
4202
4203 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4204
4205 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4206
4207 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4208
4209 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4210 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4211 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4212
4213 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4214
4215 Reset Multiboot 2 support. New loader implements the draft in
4216 /branches/multiboot2 and shares as much code as possible with the
4217 production Multiboot 1 implementation.
4218
4219 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
4220 * loader/multiboot2.c: Likewise.
4221 * loader/i386/multiboot_helper.S: Likewise.
4222 * include/multiboot2.h: Replace with latest version from the draft
4223 in /branches/multiboot2.
4224
4225 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
4226 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
4227 and `loader/multiboot2.c'.
4228 (pkglib_MODULES): Add `multiboot2.mod'.
4229 (multiboot2_mod_SOURCES): New variable.
4230 (multiboot2_mod_LDFLAGS): Likewise.
4231 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
4232
4233 * conf/i386-pc.rmk: Likewise.
4234
4235 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4236 (multiboot_mod_SOURCES): Remove variable.
4237 (multiboot_mod_LDFLAGS): Likewise.
4238 (multiboot_mod_CFLAGS): Likewise.
4239
4240 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
4241 `<multiboot2.h>' instead of `<multiboot.h>'.
4242 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
4243 (MULTIBOOT_HEADER_MAGIC): New macros.
4244
4245 * loader/multiboot_loader.c (module_version_status): Remove variable.
4246 (find_multi_boot2_header): Remove function.
4247 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
4248 logic. Always check for the Multiboot version we're compiling for.
4249 (grub_cmd_module_loader): Likewise.
4250 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
4251 command instead of `multiboot'.
4252
4253 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4254
4255 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
4256 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
4257 all users.
4258
4259 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4260 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 Fix breakage introduced with previous commit.
4263
4264 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
4265 commands.
4266 * normal/handler.c (read_handler_list): Revert part of previous commit
4267 affecting this file.
4268 * normal/main.c (read_lists): Move read_handler_list() call back to ...
4269 (grub_normal_execute): ... here.
4270
4271 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4272
4273 Merge prefix-redefinition-fix branch.
4274
4275 * normal/autofs.c (read_fs_list): Make function capable of being
4276 run multiple times, gracefuly replacing the previous data
4277 structures.
4278 * normal/dyncmd.c (read_command_list): Likewise.
4279 * normal/handler.c (read_handler_list): Likewise.
4280 * normal/main.c (read_lists): New function. Calls all the
4281 list reading functions.
4282 (grub_normal_execute): Use read_lists() instead of calling all
4283 list reading functions explicitly. Register read_lists() as a
4284 variable hook attached to ${prefix}.
4285
4286 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 Merge crypto branch.
4289
4290 * Makefile.in (pkglib_DATA): Add crypto.lst.
4291 (crypto.lst): New target.
4292 * commands/hashsum.c: New file.
4293 * commands/password.c (check_password): Use grub_crypto_memcmp.
4294 * commands/password_pbkdf2.c: New file.
4295 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
4296 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
4297 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
4298 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
4299 -I$(srcdir)/lib/libgcrypt_wrap.
4300 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
4301 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
4302 password_pbkdf2.mod.
4303 (crypto_mod_SOURCES): New variable.
4304 (crypto_mod_CFLAGS): Likewise.
4305 (crypto_mod_LDFLAGS): Likewise.
4306 (hashsum_mod_SOURCES): New variable.
4307 (hashsum_mod_CFLAGS): Likewise.
4308 (hashsum_mod_LDFLAGS): Likewise.
4309 (pbkdf2_mod_SOURCES): New variable.
4310 (pbkdf2_mod_CFLAGS): Likewise.
4311 (pbkdf2_mod_LDFLAGS): Likewise.
4312 (password_pbkdf2_mod_SOURCES): New variable.
4313 (password_pbkdf2_mod_CFLAGS): Likewise.
4314 (password_pbkdf2_mod_LDFLAGS): Likewise.
4315 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
4316 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
4317 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
4318 Include conf/gcry.rmk.
4319 * include/grub/auth.h: Rewritten.
4320 * include/grub/crypto.h: New file.
4321 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
4322 * include/grub/normal.h (read_crypto_list): New prototype.
4323 * lib/crypto.c: New file.
4324 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4325 * lib/pbkdf2.c: Likewise.
4326 * normal/auth.c (grub_auth_strcmp): Removed.
4327 (grub_iswordseparator): Likewise.
4328 (grub_auth_strword): Likewise.
4329 (is_authenticated): Use grub_strword.
4330 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
4331 and grub_strword. Pass entered password to authentication callback.
4332 * normal/crypto.c: New file.
4333 * normal/main.c: Call read_crypto_list.
4334 * util/grub-mkpasswd-pbkdf2.c: New file.
4335 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
4336
4337 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 Fix descent and ascent calculation.
4340
4341 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
4342 (options): New option "asce".
4343 (usage): Likewise.
4344 (add_char): Ignore invalid glyphs for descent calculation.
4345 Calculate ascent from actual content.
4346 (print_glyphs): Use 'asce'.
4347 (write_font): Likewise. Allow ascent override.
4348 (main): Handle "asce" option.
4349
4350 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4351
4352 * kern/err.c: Include `<grub/i18n.h>'.
4353 (grub_print_error): Add full stop. Gettextizze.
4354 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
4355 (grub_bsd_load_elf): Capitalise ELF.
4356 (grub_cmd_freebsd_loadenv): Add `s' in error string.
4357 (grub_cmd_freebsd_module): Likewise.
4358 (grub_cmd_freebsd_module_elf): Likewise.
4359 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
4360
4361 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4362
4363 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
4364 * commands/search_file.c (HELP_MESSAGE): New macro.
4365 * commands/search_label.c (HELP_MESSAGE): Likewise.
4366 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
4367 * po/POTFILES: Add `commands/search_file.c',
4368 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
4369 `commands/search.c'.
4370
4371 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4372
4373 * config.rpath: Update from Gnulib.
4374
4375 2010-01-05 Yves Blusseau <blusseau@zetam.org>
4376
4377 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
4378
4379 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
4380
4381 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
4382
4383 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4384
4385 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
4386 arguments to fread so that we get a return value in bytes, rather
4387 than something that will normally be rounded down to 0.
4388 Adjust error handling to avoid producing garbage when size_t is not
4389 the same size as long long.
4390
4391 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4392
4393 * util/mkisofs/write.c (padblock_write): Check return value of
4394 fread.
4395
4396 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4397
4398 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
4399 floppy images now.
4400
4401 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
4402
4403 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4404
4405 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
4406 instead of manual alignment.
4407 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
4408 verbose). Avoid attempts to read past end of the device
4409 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
4410 but GRUB_DISK_CACHE_SIZE may exceed that).
4411
4412 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4413
4414 * commands/crc.c (grub_cmd_crc): Abort on read errors.
4415 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
4416 it to upper layer.
4417
4418 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
4421 New constant.
4422 (grub_efi_piwg_device_path): New structure
4423 (grub_efi_piwg_device_path_t): New type.
4424 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
4425 (devpath_1): Transform to a structure. All users updated.
4426 (devpath_2): Likewise.
4427 (devpath_3): Likewise.
4428 (devpath_4): Likewise.
4429 (devpath_5): Likewise.
4430
4431 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * loader/efi/appleloader.c: Restored. Update all users.
4434
4435 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4436
4437 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
4438
4439 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
4440 (struct boot_blocklist): Move from here ...
4441 * include/grub/i386/pc/boot.h [ASM_FILE]
4442 (struct grub_boot_blocklist): ... to here. Update all users.
4443 (setup): Only initialize `start' member of `first_block'
4444 structure. Add assert() calls to verify the other members.
4445
4446 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
4447 (generate_image): Fix broken blocklist length initialization.
4448 Add assert() call to verify blocklist `segment' field.
4449
4450 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4451
4452 * loader/efi/appleloader.c: Remove. Update all users.
4453
4454 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4455
4456 * boot/i386/pc/boot.S: Update copyright year.
4457 * boot/i386/pc/cdboot.S: Likewise.
4458 * boot/i386/pc/diskboot.S: Likewise.
4459 * boot/i386/pc/lnxboot.S: Likewise.
4460 * boot/i386/pc/pxeboot.S: Likewise.
4461 * bus/pci.c: Likewise.
4462 * commands/cmp.c: Likewise.
4463 * commands/help.c: Likewise.
4464 * commands/hexdump.c: Likewise.
4465 * commands/i386/pc/halt.c: Likewise.
4466 * commands/i386/pc/play.c: Likewise.
4467 * commands/i386/pc/vbeinfo.c: Likewise.
4468 * commands/ls.c: Likewise.
4469 * commands/test.c: Likewise.
4470 * disk/dmraid_nvidia.c: Likewise.
4471 * disk/i386/pc/biosdisk.c: Likewise.
4472 * disk/ieee1275/nand.c: Likewise.
4473 * disk/ieee1275/ofdisk.c: Likewise.
4474 * disk/lvm.c: Likewise.
4475 * disk/raid.c: Likewise.
4476 * disk/raid6_recover.c: Likewise.
4477 * disk/scsi.c: Likewise.
4478 * fs/affs.c: Likewise.
4479 * fs/cpio.c: Likewise.
4480 * fs/ext2.c: Likewise.
4481 * fs/hfs.c: Likewise.
4482 * fs/iso9660.c: Likewise.
4483 * fs/ntfs.c: Likewise.
4484 * fs/sfs.c: Likewise.
4485 * fs/udf.c: Likewise.
4486 * fs/ufs.c: Likewise.
4487 * fs/xfs.c: Likewise.
4488 * gencmdlist.sh: Likewise.
4489 * genmk.rb: Likewise.
4490 * include/grub/disk.h: Likewise.
4491 * include/grub/efi/api.h: Likewise.
4492 * include/grub/efi/efi.h: Likewise.
4493 * include/grub/efi/pe32.h: Likewise.
4494 * include/grub/elf.h: Likewise.
4495 * include/grub/fs.h: Likewise.
4496 * include/grub/i386/at_keyboard.h: Likewise.
4497 * include/grub/i386/pc/memory.h: Likewise.
4498 * include/grub/i386/pc/vbe.h: Likewise.
4499 * include/grub/i386/pci.h: Likewise.
4500 * include/grub/i386/tsc.h: Likewise.
4501 * include/grub/ieee1275/ieee1275.h: Likewise.
4502 * include/grub/ntfs.h: Likewise.
4503 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
4504 * include/grub/sparc64/libgcc.h: Likewise.
4505 * include/grub/symbol.h: Likewise.
4506 * include/grub/types.h: Likewise.
4507 * include/multiboot2.h: Likewise.
4508 * io/gzio.c: Likewise.
4509 * kern/device.c: Likewise.
4510 * kern/disk.c: Likewise.
4511 * kern/efi/efi.c: Likewise.
4512 * kern/efi/mm.c: Likewise.
4513 * kern/elf.c: Likewise.
4514 * kern/file.c: Likewise.
4515 * kern/i386/dl.c: Likewise.
4516 * kern/i386/pc/init.c: Likewise.
4517 * kern/i386/pc/startup.S: Likewise.
4518 * kern/ieee1275/ieee1275.c: Likewise.
4519 * kern/ieee1275/init.c: Likewise.
4520 * kern/main.c: Likewise.
4521 * kern/mm.c: Likewise.
4522 * kern/powerpc/dl.c: Likewise.
4523 * kern/sparc64/dl.c: Likewise.
4524 * kern/x86_64/dl.c: Likewise.
4525 * lib/hexdump.c: Likewise.
4526 * loader/efi/appleloader.c: Likewise.
4527 * loader/i386/ieee1275/linux.c: Likewise.
4528 * loader/i386/pc/chainloader.c: Likewise.
4529 * loader/i386/pc/linux.c: Likewise.
4530 * loader/i386/pc/multiboot2.c: Likewise.
4531 * loader/ieee1275/multiboot2.c: Likewise.
4532 * loader/multiboot2.c: Likewise.
4533 * loader/multiboot_loader.c: Likewise.
4534 * loader/powerpc/ieee1275/linux.c: Likewise.
4535 * normal/completion.c: Likewise.
4536 * normal/menu_entry.c: Likewise.
4537 * partmap/apple.c: Likewise.
4538 * util/grub.d/10_hurd.in: Likewise.
4539 * util/hostfs.c: Likewise.
4540 * video/readers/png.c: Likewise.
4541
4542 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
4543
4544 * include/grub/misc.h (GNUC_PREREQ): New macro.
4545 (ATTRIBUTE_ERROR): New macro.
4546 * include/grub/list.h (grub_bad_type_cast_real): Use
4547 ATTRIBUTE_ERROR.
4548
4549 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4550
4551 * normal/menu_text.c (print_message): Change messages.
4552
4553 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4554
4555 * normal/menu_entry.c (store_completion): Gettextizze.
4556
4557 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4558
4559 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
4560
4561 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4562
4563 * po/POTFILES: Sort correctly.
4564
4565 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4566
4567 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
4568 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
4569 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
4570 full stop.
4571 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
4572 summary. Gettextizze the strings.
4573 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
4574 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
4575 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
4576 full stop.
4577 (GRUB_MOD_INIT): Remove command name from summary.
4578 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
4579 summary.
4580 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
4581 * term/i386/pc/serial.c (options): Add full stops.
4582 (GRUB_MOD_INIT): Remove command name from the summary.
4583
4584 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4585
4586 * commands/acpi.c: Gettextizze help strings and/or options. Include
4587 `grub/i18n.h' if needed.
4588 * commands/blocklist.c: Likewise.
4589 * commands/boot.c: Likewise.
4590 * commands/cat.c: Likewise.
4591 * commands/cmp.c: Likewise.
4592 * commands/configfile.c: Likewise.
4593 * commands/crc.c: Likewise.
4594 * commands/date.c: Likewise.
4595 * commands/echo.c: Likewise.
4596 * commands/efi/fixvideo.c: Likewise.
4597 * commands/efi/loadbios.c: Likewise.
4598 * commands/gptsync.c: Likewise.
4599 * commands/halt.c: Likewise.
4600 * commands/handler.c: Likewise.
4601 * commands/hdparm.c: Likewise.
4602 * commands/hexdump.c: Likewise.
4603 * commands/i386/cpuid.c: Likewise.
4604 * commands/i386/pc/drivemap.c: Likewise.
4605 * commands/i386/pc/halt.c: Likewise.
4606 * commands/i386/pc/pxecmd.c: Likewise.
4607 * commands/i386/pc/vbeinfo.c: Likewise.
4608 * commands/i386/pc/vbetest.c: Likewise.
4609 * commands/ieee1275/suspend.c: Likewise.
4610 * commands/keystatus.c: Likewise.
4611 * commands/loadenv.c: Likewise.
4612 * commands/ls.c: Likewise.
4613 * commands/lsmmap.c: Likewise.
4614 * commands/lspci.c: Likewise.
4615 * commands/memrw.c: Likewise.
4616 * commands/minicmd.c: Likewise.
4617 * commands/parttool.c: Likewise.
4618 * commands/password.c: Likewise.
4619 * commands/probe.c: Likewise.
4620 * commands/read.c: Likewise.
4621 * commands/reboot.c: Likewise.
4622 * commands/search.c: Likewise.
4623 * commands/sleep.c: Likewise.
4624 * commands/test.c: Likewise.
4625 * commands/true.c: Likewise.
4626 * commands/usbtest.c: Likewise.
4627 * commands/videotest.c: Likewise.
4628 * commands/xnu_uuid.c: Likewise.
4629 * disk/loopback.c: Likewise.
4630 * hello/hello.c: Likewise.
4631 * loader/i386/bsd.c: Likewise.
4632 * term/i386/pc/serial.c: Likewise.
4633 * po/POTFILES: Add new files.
4634
4635 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
4636
4637 * term/i386/pc/at_keyboard.c
4638 (keyboard_controller_wait_untill_ready): Rename to ...
4639 (keyboard_controller_wait_until_ready): ... this. Update all users.
4640
4641 2010-01-01 Carles Pina i Estany <carles@pina.cat>
4642
4643 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
4644 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
4645 string using string width.
4646 * normal/menu_text.c (grub_print_message_indented): Use
4647 grub_print_spaces and not print_spaces.
4648 (print_timeout): Likewise.
4649 (print_spaces): Move to...
4650 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
4651
4652 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
4653
4654 Import from Gnulib.
4655
4656 * gnulib/getdelim.c: New file.
4657 * gnulib/getline.c: Likewise.
4658
4659 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
4660
4661 * include/grub/list.h (grub_assert_fail): Removed.
4662 (grub_bad_type_cast_real): New function.
4663 (grub_bad_type_cast): New macro.
4664 (GRUB_AS_LIST): Use grub_bad_type_cast.
4665 (GRUB_AS_LIST_P): Likewise.
4666 (GRUB_AS_NAMED_LIST): Likewise.
4667 (GRUB_AS_NAMED_LIST_P): Likewise.
4668 (GRUB_AS_PRIO_LIST): Likewise.
4669 (GRUB_AS_PRIO_LIST_P): Likewise.
4670 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
4671
4672 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
4675 Fix syntax error.
4676
4677 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
4678
4679 * configure.ac: Check for TARGET_CFLAGS initialization before we
4680 initialize it ourselves (sigh).
4681 Move a few modifications to TARGET_CFLAGS to be unconditional
4682 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
4683 eh_frame)
4684
4685 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
4686 * term/i386/pc/at_keyboard.c
4687 (keyboard_controller_wait_untill_ready): Likewise.
4688 (keyboard_controller_led): Rename `led_status' paramter to avoid
4689 name conflict.
4690
4691 2009-12-28 Carles Pina i Estany <carles@pina.cat>
4692
4693 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
4694 quotes.
4695
4696 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
4699
4700 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * normal/menu_text.c (grub_print_message_indented): Prevent
4703 past-the-end-of-array dereference.
4704
4705 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
4708 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
4709
4710 2009-12-27 Carles Pina i Estany <carles@pina.cat>
4711
4712 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
4713 * normal/main.c (grub_normal_read_line): Remove a space from the
4714 default prompt.
4715
4716 2009-12-27 Carles Pina i Estany <carles@pina.cat>
4717
4718 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
4719 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4720 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4721 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4722 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4723 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4724 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4725
4726 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4727
4728 * video/readers/jpeg.c (cmd): Declare.
4729 (grub_cmd_jpegtest): Use `grub_command_t' type.
4730 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4731 Assign to `cmd'.
4732 (GRUB_MOD_FINI): Use `cmd' to unregister.
4733 * video/readers/png.c (cmd): Declare.
4734 (grub_cmd_pngtest): Use `grub_command_t' type.
4735 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4736 Assign to `cmd'.
4737 (GRUB_MOD_FINI): Use `cmd' to unregister.
4738 * video/readers/tga.c (cmd): Declare.
4739 (grub_cmd_tgatest): Use `grub_command_t' type.
4740 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4741 Assign to `cmd'.
4742 (GRUB_MOD_FINI): Use `cmd' to unregister.
4743
4744 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4745
4746 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
4747 stops.
4748 * kern/corecmd.c (grub_register_core_commands): Likewise.
4749 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
4750 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4751 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
4752 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4753 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4754 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
4755 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4756 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
4757 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4758 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4759 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4760 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4761 * normal/handler.c (insert_handler): Likewise.
4762 * normal/main.c (GRUB_MOD_INIT): Likewise.
4763 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
4764
4765 2009-12-26 Carles Pina i Estany <carles@pina.cat>
4766
4767 * commands/help.c (grub_cmd_help): Print the command name before the
4768 summary.
4769 (GRUB_MOD_INIT): Remove command name from the summary.
4770 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
4771 string as summary.
4772 * lib/arg.c (find_long): Print the command name before the summary.
4773 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
4774 summary.
4775 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
4776 * commands/cat.c (GRUB_MOD_INIT): Likewise.
4777 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
4778 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
4779 * commands/crc.c (GRUB_MOD_INIT): Likewise.
4780 * commands/date.c (GRUB_MOD_INIT): Likewise.
4781 * commands/echo.c (GRUB_MOD_INIT): Likewise.
4782 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
4783 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
4784 * commands/handler.c (GRUB_MOD_INIT): Likewise.
4785 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
4786 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
4787 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
4788 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
4789 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
4790 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
4791 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
4792 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
4793 * commands/ls.c (GRUB_MOD_INIT): Likewise.
4794 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
4795 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
4796 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
4797 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
4798 * commands/password.c (GRUB_MOD_INIT): Likewise.
4799 * commands/probe.c (GRUB_MOD_INIT): Likewise.
4800 * commands/read.c (GRUB_MOD_INIT): Likewise.
4801 * commands/search.c (GRUB_MOD_INIT): Likewise.
4802 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
4803 * commands/test.c (GRUB_MOD_INIT): Likewise.
4804 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
4805 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
4806 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
4807 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
4808 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
4809 * lib/arg.c (GRUB_MOD_INIT): Likewise.
4810 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
4811 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4812 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4813 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4814 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
4815 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
4816 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
4817 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
4818
4819 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 Use search command for preliminar UUID search.
4822
4823 * commands/search.c: Split into ...
4824 * commands/search_wrap.c: ...this
4825 * commands/search.c: ...and this.
4826 * commands/search_file.c: New file.
4827 * commands/search_label.c: New file.
4828 * commands/search_uuid.c: New file.
4829 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
4830 Add commands/search_wrap.c, commands/search_file.c,
4831 commands/search_label.c and commands/search_uuid.c.
4832 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
4833 (search_mod_SOURCES): Set to commands/search_wrap.c.
4834 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
4835 search_label.mod.
4836 (search_fs_file_mod_SOURCES): New variable.
4837 (search_fs_file_mod_CFLAGS): Likewise.
4838 (search_fs_file_mod_LDFLAGS): Likewise.
4839 (search_label_mod_SOURCES): Likewise.
4840 (search_label_mod_CFLAGS): Likewise.
4841 (search_label_mod_LDFLAGS): Likewise.
4842 (search_fs_uuid_mod_SOURCES): New variable.
4843 (search_fs_uuid_mod_CFLAGS): Likewise.
4844 (search_fs_uuid_mod_LDFLAGS): Likewise.
4845 (fs_file_mod_SOURCES): Removed.
4846 (fs_file_mod_CFLAGS): Likewise.
4847 (fs_file_mod_LDFLAGS): Likewise.
4848 (fs_uuid_mod_SOURCES): Removed.
4849 (fs_uuid_mod_CFLAGS): Likewise.
4850 (fs_uuid_mod_LDFLAGS): Likewise.
4851 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
4852 Set to util/grub-install.in.
4853 * disk/fs_file.c: Removed.
4854 * disk/fs_uuid.c: Likewise.
4855 * include/grub/search.h: New file.
4856 * util/grub-install.in: Handle sparc64.
4857 Create and use load.cfg.
4858 * util/sparc64/ieee1275/grub-install.in: Removed.
4859
4860 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
4863 Ignore return status if CF is cleared.
4864 (grub_biosdisk_get_diskinfo_standard): Likewise.
4865
4866 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4867
4868 * term/i386/pc/at_keyboard.c
4869 (keyboard_controller_wait_untill_ready): New function.
4870 (grub_keyboard_controller_write, grub_keyboard_controller_read)
4871 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
4872 for keyboard polling, rather than duplicate the same loop. This
4873 saves a few bytes in code size.
4874
4875 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 Support for (pxe[:server[:gateway]]) syntax and
4878 use environment variable for PXE.
4879
4880 * commands/i386/pc/pxecmd.c (options): Removed.
4881 (print_ip): Removed.
4882 (grub_cmd_pxe): Removed
4883 (grub_cmd_pxe_unload): New function.
4884 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
4885 (grub_pxe_your_ip): Made static.
4886 (grub_pxe_default_server_ip): Likewise.
4887 (grub_pxe_default_gateway_ip): Likewise.
4888 (grub_pxe_blksize): Likewise.
4889 (parse_ip): New function.
4890 (grub_pxe_open): Support server and gateway specification.
4891 (grub_pxe_close): Free disk->data.
4892 (grub_pxefs_open): Use disk->data.
4893 (grub_pxefs_read): Likewise.
4894 (grub_env_write_readonly): New function.
4895 (set_mac_env): Likewise.
4896 (set_env_limn_ro): Likewise.
4897 (parse_dhcp_vendor): Likewise.
4898 (grub_pxe_detect): Set the environment variables.
4899 (set_ip_env): New function.
4900 (write_ip_env): Likewise.
4901 (grub_env_write_pxe_default_server): Likewise.
4902 (grub_env_write_pxe_default_gateway): Likewise.
4903 (grub_env_write_pxe_blocksize): Likewise.
4904 (GRUB_MOD_INIT(pxe)): Set environment variables.
4905 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
4906 (grub_pxe_mac_addr_t): ... this. All users updated.
4907 (grub_pxe_your_ip): Removed.
4908 (grub_pxe_server_ip): Likewise.
4909 (grub_pxe_gateway_ip): Likewise.
4910 (grub_pxe_blksize): Likewise.
4911
4912 2009-12-25 Carles Pina i Estany <carles@pina.cat>
4913
4914 * commands/help.c: Include `<grub/i18n.h>'.
4915 (grub_cmd_help): Gettextizze.
4916 (GRUB_MOD_INIT): Likewise.
4917 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
4918 (GRUB_MOD_INIT): Gettextizze.
4919 * commands/search.c: Include `<grub/i18n.h>'.
4920 (options): Gettextizze.
4921 (GRUB_MOD_INIT): Gettextizze.
4922 * lib/arg.c: Include `<grub/i18n.h>'.
4923 (help_options): Gettextizze.
4924 (find_long): Likewise.
4925 (grub_arg_show_help): Likewise.
4926 * normal/dyncmd.c: Include `<grub/i18n.h>'.
4927 (read_command_list): Gettextizze.
4928 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
4929 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
4930
4931 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4932
4933 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
4934 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
4935 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
4936 (led_status): New variable.
4937 (keyboard_controller_led): New function.
4938 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
4939 update led status for caps lock, num lock and scroll lock.
4940
4941 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
4942
4943 * util/hostdisk.c (open_device): Fix a comment.
4944
4945 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4946
4947 * util/grub-install.in (host_os): New variable.
4948 * util/i386/efi/grub-install.in (host_os): Likewise.
4949
4950 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4951
4952 * util/mkisofs/write.c (padblock_write): Abort when given an
4953 excedingly large embed image, instead of silently truncating it.
4954
4955 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4956
4957 * include/multiboot.h: Indentation fixes.
4958
4959 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4960
4961 * include/multiboot.h (struct multiboot_aout_symbol_table)
4962 (struct multiboot_elf_section_header_table): New structure
4963 declarations (stolen from GRUB Legacy).
4964 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
4965 table information.
4966
4967 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
4968 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
4969 type aliases.
4970
4971 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4972
4973 * include/multiboot.h: Make comments src2texi-friendly.
4974
4975 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4976
4977 For consistency with [multiboot]/docs/boot.S.
4978
4979 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
4980 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
4981 (MULTIBOOT_MAGIC2): Rename from this ...
4982 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
4983
4984 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4985
4986 * include/multiboot.h: Remove `<grub/types.h>'.
4987 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
4988 types. Update all users.
4989
4990 2009-12-25 Carles Pina i Estany <carles@pina.cat>
4991
4992 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
4993 `couldn't' and `can not' by `cannot'.
4994 * commands/i386/pc/drivemap.c: Likewise.
4995 * disk/ata.c: Likewise.
4996 * disk/ieee1275/nand.c: Likewise.
4997 * fs/affs.c: Likewise.
4998 * fs/fat.c: Likewise.
4999 * fs/hfs.c: Likewise.
5000 * fs/hfsplus.c: Likewise.
5001 * fs/iso9660.c: Likewise.
5002 * fs/jfs.c: Likewise.
5003 * fs/minix.c: Likewise.
5004 * fs/reiserfs.c: Likewise.
5005 * fs/sfs.c: Likewise.
5006 * fs/udf.c: Likewise.
5007 * fs/ufs.c: Likewise.
5008 * fs/xfs.c: Likewise.
5009 * loader/powerpc/ieee1275/linux.c: Likewise.
5010 * loader/sparc64/ieee1275/linux.c: Likewise.
5011 * util/grub-probe.c: Likewise.
5012 * util/misc.c: Likewise.
5013
5014 2009-12-24 Carles Pina i Estany <carles@pina.cat>
5015
5016 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5017 grub_errno calls.
5018 * commands/acpi.c: Likewise.
5019 * commands/blocklist.c: Likewise.
5020 * commands/efi/loadbios.c: Likewise.
5021 * commands/i386/pc/drivemap.c: Likewise.
5022 * commands/loadenv.c: Likewise.
5023 * commands/memrw.c: Likewise.
5024 * commands/password.c: Likewise.
5025 * commands/videotest.c: Likewise.
5026 * disk/ata.c: Likewise.
5027 * disk/ata_pthru.c: Likewise.
5028 * disk/dmraid_nvidia.c: Likewise.
5029 * disk/ieee1275/nand.c: Likewise.
5030 * disk/ieee1275/ofdisk.c: Likewise.
5031 * disk/loopback.c: Likewise.
5032 * disk/lvm.c: Likewise.
5033 * disk/mdraid_linux.c: Likewise.
5034 * disk/raid.c: Likewise.
5035 * disk/raid6_recover.c: Likewise.
5036 * disk/scsi.c: Likewise.
5037 * efiemu/main.c: Likewise.
5038 * efiemu/mm.c: Likewise.
5039 * efiemu/pnvram.c: Likewise.
5040 * efiemu/symbols.c: Likewise.
5041 * font/font.c: Likewise.
5042 * fs/cpio.c: Likewise.
5043 * fs/hfsplus.c: Likewise.
5044 * fs/iso9660.c: Likewise.
5045 * fs/jfs.c: Likewise.
5046 * fs/minix.c: Likewise.
5047 * fs/ntfs.c: Likewise.
5048 * fs/ntfscomp.c: Likewise.
5049 * fs/reiserfs.c: Likewise.
5050 * fs/ufs.c: Likewise.
5051 * fs/xfs.c: Likewise.
5052 * gettext/gettext.c: Likewise.
5053 * include/grub/auth.h: Likewise.
5054 * kern/elf.c: Likewise.
5055 * kern/file.c: Likewise.
5056 * kern/ieee1275/init.c: Likewise.
5057 * kern/ieee1275/mmap.c: Likewise.
5058 * kern/ieee1275/openfw.c: Likewise.
5059 * kern/powerpc/dl.c: Likewise.
5060 * kern/sparc64/dl.c: Likewise.
5061 * lib/arg.c: Likewise.
5062 * loader/i386/bsd.c: Likewise.
5063 * loader/i386/bsdXX.c: Likewise.
5064 * loader/i386/efi/linux.c: Likewise.
5065 * loader/i386/efi/xnu.c: Likewise.
5066 * loader/i386/ieee1275/linux.c: Likewise.
5067 * loader/i386/linux.c: Likewise.
5068 * loader/i386/multiboot.c: Likewise.
5069 * loader/i386/pc/linux.c: Likewise.
5070 * loader/i386/pc/multiboot2.c: Likewise.
5071 * loader/i386/xnu.c: Likewise.
5072 * loader/ieee1275/multiboot2.c: Likewise.
5073 * loader/macho.c: Likewise.
5074 * loader/machoXX.c: Likewise.
5075 * loader/multiboot2.c: Likewise.
5076 * loader/multiboot_loader.c: Likewise.
5077 * loader/powerpc/ieee1275/linux.c: Likewise.
5078 * loader/sparc64/ieee1275/linux.c: Likewise.
5079 * loader/xnu.c: Likewise.
5080 * loader/xnu_resume.c: Likewise.
5081 * mmap/i386/pc/mmap.c: Likewise.
5082 * normal/menu_viewer.c: Likewise.
5083 * partmap/acorn.c: Likewise.
5084 * partmap/amiga.c: Likewise.
5085 * partmap/apple.c: Likewise.
5086 * script/lexer.c: Likewise.
5087 * term/gfxterm.c: Likewise.
5088 * term/i386/pc/serial.c: Likewise.
5089 * term/i386/pc/vga.c: Likewise.
5090 * term/ieee1275/ofconsole.c: Likewise.
5091 * term/terminfo.c: Likewise.
5092 * video/bitmap.c: Likewise.
5093 * video/efi_gop.c: Likewise.
5094 * video/efi_uga.c: Likewise.
5095 * video/fb/video_fb.c: Likewise.
5096 * video/i386/pc/vbe.c: Likewise.
5097 * video/readers/tga.c: Likewise.
5098 * video/video.c: Likewise.
5099
5100 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
5101
5102 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5103 * commands/lspci.c: Likewise.
5104 * commands/probe.c: Likewise.
5105 * commands/xnu_uuid.c: Likewise.
5106 * conf/i386-coreboot.rmk: Likewise.
5107 * conf/i386-efi.rmk: Likewise.
5108 * conf/i386-ieee1275.rmk: Likewise.
5109 * conf/i386-pc.rmk: Likewise.
5110 * conf/powerpc-ieee1275.rmk: Likewise.
5111 * conf/sparc64-ieee1275.rmk: Likewise.
5112 * conf/x86_64-efi.rmk: Likewise.
5113 * fs/i386/pc/pxe.c: Likewise.
5114 * gettext/gettext.c: Likewise.
5115 * include/grub/efi/graphics_output.h: Likewise.
5116 * include/grub/i386/pc/memory.h: Likewise.
5117 * kern/env.c: Likewise.
5118 * kern/i386/qemu/startup.S: Likewise.
5119 * lib/i386/pc/biosnum.c: Likewise.
5120 * lib/i386/relocator.c: Likewise.
5121 * lib/i386/relocator_asm.S: Likewise.
5122 * lib/relocator.c: Likewise.
5123 * loader/i386/bsd.c: Likewise.
5124 * loader/i386/multiboot.c: Likewise.
5125 * loader/i386/pc/chainloader.c: Likewise.
5126 * loader/i386/xnu.c: Likewise.
5127 * loader/xnu.c: Likewise.
5128 * normal/main.c: Likewise.
5129 * normal/menu_text.c: Likewise.
5130 * util/getroot.c: Likewise.
5131 * util/grub-mkconfig_lib.in: Likewise.
5132 * util/grub.d/00_header.in: Likewise.
5133 * util/i386/pc/grub-mkimage.c: Likewise.
5134 * util/mkisofs/eltorito.c: Likewise.
5135 * util/mkisofs/exclude.h: Likewise.
5136 * util/mkisofs/hash.c: Likewise.
5137 * util/mkisofs/iso9660.h: Likewise.
5138 * util/mkisofs/joliet.c: Likewise.
5139 * util/mkisofs/mkisofs.c: Likewise.
5140 * util/mkisofs/mkisofs.h: Likewise.
5141 * util/mkisofs/multi.c: Likewise.
5142 * util/mkisofs/name.c: Likewise.
5143 * util/mkisofs/rock.c: Likewise.
5144 * util/mkisofs/tree.c: Likewise.
5145 * util/mkisofs/write.c: Likewise.
5146 * video/efi_gop.c: Likewise.
5147
5148 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5151 size counting.
5152
5153 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5154
5155 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5156 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5157
5158 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5161 (GRUB_MOD_INIT(memrw)): Update help line.
5162
5163 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5166 Use grub_extcmd_t. All users updated.
5167 (options): New variable.
5168 (grub_cmd_read): Restructure for readability. Support "-v" option.
5169 (grub_cmd_write): Restructure for readability.
5170
5171 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5172
5173 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5174
5175 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5176
5177 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5178 with the actual contents of the correspondending make variable.
5179 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5180 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5181 specifying `*.lst' and `efiemu??.o'
5182
5183 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5184
5185 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5186 after function name.
5187 Noticed by Rene Engelhard <rene@debian.org>.
5188
5189 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5192 (options): New variable.
5193 (iospace): Likewise.
5194 (grub_lspci_iter): List IO spaces if "-i" was given.
5195 (grub_cmd_lspci): Parse options.
5196 (GRUB_MOD_INIT(lspci)): Use extcmd.
5197 (GRUB_MOD_FINI(lspci)): Likewise.
5198
5199 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5200
5201 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5202 `function' keyword.
5203 Patch by Tony Mancill <tmancill@debian.org>.
5204
5205 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5208 (grub_uhci_portstatus): Likewise.
5209 (grub_uhci_portstatus): Add necessary delay.
5210 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
5211
5212 2009-12-21 Carles Pina i Estany <carles@pina.cat>
5213
5214 * commands/acpi.c (options): Fix capitalizations and/or full stops.
5215 (GRUB_MOD_INIT): Likewise.
5216 * commands/boot.c (GRUB_MOD_INIT): Likewise.
5217 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
5218 * commands/echo.c (options): Fix capitalizations and/or full stops.
5219 * commands/efi/loadbios.c (enable_rom_area): Likewise.
5220 (enable_rom_area): Likewise.
5221 (GRUB_MOD_INIT): Likewise.
5222 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5223 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
5224 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5225 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
5226 * commands/hexdump.c (options): Likewise.
5227 * commands/i386/cpuid.c (options): Likewise.
5228 (GRUB_MOD_INIT): Likewise.
5229 * commands/i386/pc/drivemap.c (options): Likewise.
5230 (GRUB_MOD_INIT): Likewise.
5231 * commands/i386/pc/halt (options): Likewise.
5232 (GRUB_MOD_INIT): Likewise.
5233 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5234 * commands/i386/pc/pxecmd.c (options): Likewise.
5235 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
5236 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
5237 * commands/keystatus.c (options): Likewise.
5238 (GRUB_MOD_INIT): Likewise.
5239 * commands/loadenv.c (options): Likewise.
5240 * commands/ls.c (options): Likewise.
5241 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5242 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5243 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5244 * commands/parttool.c (helpmsg): Likewise.
5245 * commands/probe.c (options): Likewise.
5246 * commands/read.c (GRUB_MOD_INIT): Likewise.
5247 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
5248 * commands/search.c (options): Likewise.
5249 * commands/sleep.c (options): Likewise.
5250 * commands/test.c (GRUB_MOD_INIT): Likewise.
5251 * commands/true.c (GRUB_MOD_INIT): Likewise.
5252 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
5253 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
5254 * lib/arg.c (help_options): Likewise.
5255 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
5256 `$(XGETTEXT)'.
5257 * po/POTFILES: Add `commands/loadenv.c'.
5258
5259 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
5260
5261 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
5262 instead of specifying them explicit.
5263
5264 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5265
5266 * NEWS: Add grub-probe support for GNU/Hurd.
5267
5268 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5269
5270 * NEWS: gettext was added after 1.97.
5271
5272 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5273
5274 * util/mkisofs/msdos_partition.h: New file (based on
5275 include/grub/msdos_partition.h).
5276 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
5277 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
5278 (ld_options, main): Recognize --protective-msdos-label.
5279 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
5280 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
5281 (padblock_write): If `use_protective_msdos_label' is set, patch a
5282 protective DOS-style label in the output image.
5283
5284 * util/grub-mkrescue.in: Use --protective-msdos-label.
5285
5286 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5287
5288 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
5289 boot.
5290
5291 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5292
5293 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
5294 variables.
5295 (ld_options, main): Recognize `--embedded-boot'.
5296 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
5297 declarations.
5298 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
5299 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
5300 (padblock_write): Likewise. Rewrite to support embedded boot image.
5301
5302 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
5303 for BIOS-based disk boot instead of only ElTorito.
5304
5305 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5306
5307 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
5308 build (not needed for bootstrap).
5309
5310 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5311
5312 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
5313 from i386-pc build (not needed for bootstrap).
5314 Rewrite a pair of strings.
5315
5316 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5317
5318 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
5319
5320 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
5323
5324 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5325
5326 * kern/env.c (grub_env_context_open): Mark exported variable for
5327 reexport.
5328
5329 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5330
5331 * kern/env.c (grub_env_export): Create nonexistent variables before
5332 exporting.
5333
5334 2009-12-20 Carles Pina i Estany <carles@pina.cat>
5335
5336 * include/grub/auth.h: Include `<grub/i18n.h>'.
5337 (GRUB_GET_PASSWORD): Gettextizze string.
5338 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
5339 menu_text.c.
5340 (grub_utf8_to_ucs4_alloc): Fix indentation.
5341 (grub_print_ucs4): Likewise.
5342 (grub_getstringwidth): Likewise.
5343 (print_message_indented): New declaration.
5344 * normal/auth.c: Include `<grub/i18n.h>'.
5345 (grub_auth_check_authentication): Gettexttize string.
5346 * normal/cmdline.c: Include `<grub/i18n.h>'.
5347 (grub_cmdline_get): Gettextizze.
5348 * normal/color.c: Include `<grub/i18n.h>'.
5349 (grub_parse_color_name_pair): Gettexttize strings.
5350 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
5351 string (use `print_message_indented').
5352 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
5353 `include/grub/normal.h'.
5354 (print_message_indented): Renamed to ...
5355 (grub_print_message_indented): ... this. Remove `static' qualifer (now
5356 used in normal/main.c).
5357 (print_message): Use `grub_print_message_indented' instead of
5358 `print_message_indented'.
5359 (print_timeout): Likewise.
5360 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
5361 (grub_normal_print_device_info): Gettexttize strings.
5362 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
5363
5364 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
5367 of arguments. Return number of tokens and not arguments. All users
5368 updated.
5369
5370 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
5373 non-MSDOS paritions.
5374
5375 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * include/grub/types.h (UNUSED): Removed since it conflicts with
5378 NetBSD headers. All users changed to direct __attribute__ ((unused)).
5379 Reported by Grégoire Sutre.
5380
5381 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5382
5383 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
5384 (grub_print_ucs4_alloc): Likewise.
5385 (grub_getstringwidth): Likewise.
5386 * normal/main.c (grub_normal_init_page): Gettextize version string.
5387 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
5388 (getstringwidth): Renamed to ...
5389 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
5390 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
5391 (grub_print_ucs4): Remove `static' qualifer (now used in
5392 normal/main.c).
5393 * po/POTFILES: Add normal/main.c.
5394
5395 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5396
5397 * normal/menu_text.c (STANDARD_MARGIN): New macro.
5398 (print_message_indented): Add `margin_left' and `margin_right'
5399 parameters.
5400 (print_message): Update `print_message_indented' calls. Adds '\n' to the
5401 strings.
5402 (print_timeout): Use `print_message_indented' to print the message.
5403 Deletes `second_stage' parameter.
5404 (run_menu): Update `print_timeout' calls.
5405
5406 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 Fix console palette on OpenFirmware.
5409
5410 * term/ieee1275/ofconsole.c (MAX): Removed.
5411 (colors): Redone based on VGA palette.
5412 (grub_ofconsole_setcolor): Discard brightness bit since only 8
5413 colors are supported.
5414 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
5415
5416 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Fix potential EfiEmu double prepare.
5419
5420 * efiemu/main.c (prepared): New variable
5421 (grub_efiemu_unload): Set prepare to '0'.
5422 (grub_efiemu_prepare): Return if already prepared. Set prepared.
5423
5424 set_virtual_address_map support.
5425
5426 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
5427 prototype.
5428 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
5429 prototype.
5430 (grub_efiemu_crc32): Likewise.
5431 (grub_efiemu_crc64): Likewise.
5432 (grub_efiemu_set_virtual_address_map): Likewise.
5433 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
5434 New definition.
5435 (grub_autoefi_set_virtual_address_map): Likewise.
5436 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
5437 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
5438 Restructure flow to accomodate it.
5439 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
5440 (grub_efiemu_crc): Recompute CRC32.
5441 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
5442 (efiemu_ptv_relocated): ... this. Made global. All users updated.
5443 * efiemu/symbols.c (relocated_handle): New variable.
5444 (grub_efiemu_free_syms): Free relocated_handle.
5445 (grub_efiemu_alloc_syms): Allocate relocated_handle.
5446 (grub_efiemu_write_sym_markers): New function.
5447 (grub_efiemu_set_virtual_address_map): Likewise.
5448
5449 Newer XNU parameters.
5450
5451 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
5452 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
5453 (grub_xnu_fill_devicetree): New prototype.
5454 (grub_xnu_heap_real_start): New variable.
5455 * loader/xnu.c (get_name_ptr): New function.
5456 (grub_xnu_load_driver): Fill namelen and name.
5457
5458 64-bit xnu support.
5459
5460 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
5461 and 'loader/macho64.c'.
5462 * conf/i386-pc.rmk: Likewise.
5463 * conf/x86_64-efi.rmk: Likewise.
5464 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
5465 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
5466 * include/grub/macho.h (grub_macho_segment64): New structure.
5467 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
5468 (grub_macho_size32): ... to this.
5469 (grub_macho32_get_entry_point): Renamed from ...
5470 (grub_macho_get_entry_point32): ... to this.
5471 (grub_macho_contains_macho64): New prototype.
5472 (grub_macho_size64): Likewise.
5473 (grub_macho_get_entry_point64): Likewise.
5474 (grub_macho32_load): Renamed from ...
5475 (grub_macho_load32): ... to this.
5476 (grub_macho32_filesize): Renamed from ...
5477 (grub_macho_filesize32): ... to this.
5478 (grub_macho32_readfile): Renamed from ...
5479 (grub_macho_readfile32): ... to this.
5480 (grub_macho_filesize64): New prototype.
5481 (grub_macho_readfile64): Likewise.
5482 (grub_macho_parse32): Likewise.
5483 (grub_macho_parse64): Likewise.
5484 * loader/macho.c: Split into ...
5485 * loader/machoXX.c: ... and this. Replace 32 with XX.
5486 * loader/macho32.c: New file.
5487 * loader/macho64.c: Likewise.
5488 * loader/xnu.c (grub_xnu_is_64bit): New variable.
5489 (grub_cmd_xnu_kernel): Make 32-bit only.
5490 (grub_cmd_xnu_kernel64): New function.
5491 (grub_xnu_load_driver): Support Mach-O 64.
5492 (grub_cmd_xnu_mkext): Likewise.
5493 * util/grub.d/30_os-prober.in (osx_entry): New function.
5494 Generate entries for 64-bit boot too.
5495
5496 Eliminate ad-hoc tree format in XNU and EfiEmu.
5497
5498 * efiemu/main.c (grub_efiemu_prepare): Update comment.
5499 * efiemu/pnvram.c: Rewritten to use environment variables.
5500 All users updated.
5501
5502 Inline utf16_to_utf8.
5503
5504 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
5505 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
5506 All users updated.
5507 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
5508
5509 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
5510 * commands/usbtest.c (grub_usb_get_string): ... move here.
5511 (usb_print_str): Fix error handling.
5512 * include/grub/usb.h (grub_usb_get_string): Remove.
5513
5514 UTF-8 to UTF-16 transformation.
5515
5516 * conf/common.rmk (pkglib_MODULES): Add charset.mod
5517 (charset_mod_SOURCES): New variable.
5518 (charset_mod_CFLAGS): Likewise.
5519 (charset_mod_LDFLAGS): Likewise.
5520 * include/grub/utf.h: New file.
5521 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
5522
5523 Support for device properties.
5524
5525 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
5526 (grub_xnu_devprop_device_header): Likewise.
5527 (grub_xnu_devprop_device_descriptor): Likewise.
5528 (grub_xnu_devprop_add_device): New prototype.
5529 (grub_xnu_devprop_remove_device): Likewise.
5530 (grub_xnu_devprop_remove_property): Likewise.
5531 (grub_xnu_devprop_add_property_utf8): Likewise.
5532 (grub_xnu_devprop_add_property_utf16): Likewise.
5533 (grub_cpu_xnu_init): Likewise.
5534 (grub_cpu_xnu_fini): Likewise.
5535 (grub_cpu_xnu_unload): Likewise.
5536 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
5537 (property_descriptor): Likewise.
5538 (devices): New variable.
5539 (grub_xnu_devprop_remove_property): New function.
5540 (grub_xnu_devprop_add_device): Likewise.
5541 (grub_xnu_devprop_remove_device): Likewise.
5542 (grub_xnu_devprop_add_property): Likewise.
5543 (grub_xnu_devprop_add_property_utf8): Likewise.
5544 (grub_xnu_devprop_add_property_utf16): Likewise.
5545 (hextoval): Likewise.
5546 (grub_cpu_xnu_fill_devprop): Likewise.
5547 (grub_cmd_devprop_load): Likewise.
5548 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
5549 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
5550 (cmd_devprop_load): New variable.
5551 (grub_cpu_xnu_init): New function.
5552 (grub_cpu_xnu_fini): Likewise.
5553 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
5554 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
5555 (grub_cmd_xnu_devtree): Likewise.
5556 (hextoval): New function.
5557 (unescape): Likewise.
5558 (grub_xnu_fill_devicetree): Likewise.
5559
5560 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
5561 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
5562
5563 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 Workaround for broken ATI VBE.
5566
5567 * video/i386/pc/vbe.c (last_set_mode): New variable.
5568 (grub_vbe_set_video_mode): Set 'last_set_mode'.
5569 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
5570 (grub_video_vbe_setup): Don't check for reserved flag.
5571
5572 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
5573
5574 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
5575 the `find' command.
5576
5577 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 UUID support for HFS.
5580
5581 * fs/hfs.c (grub_hfs_uuid): New function.
5582 (grub_hfs_fs): New value .uuid.
5583 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
5584
5585 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
5586
5587 Fix a segfault with parsing unknown long options.
5588
5589 * util/grub-mkrelpath.c (options): Zero terminate it.
5590
5591 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5592
5593 * include/grub/misc.h (grub_puts): New declaration.
5594 (grub_puts_): Likewise.
5595 * kern/misc.c (grub_puts): New definition.
5596 (grub_puts_): Likewise.
5597
5598 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5599
5600 * util/grub-probe.c (probe): Improve error message.
5601
5602 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5603
5604 * loader/i386/multiboot_elfxx.c
5605 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
5606 initialization.
5607
5608 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Relocator framework
5611
5612 * loader/i386/xnu_helper.S: Removed. All users updated.
5613 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
5614 (relocator_mod_SOURCES): New variable.
5615 (relocator_mod_CFLAGS): Likewise.
5616 (relocator_mod_LDFLAGS): Likewise.
5617 (relocator_mod_ASFLAGS): Likewise.
5618 * conf/x86_64.rmk: Likewise.
5619 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
5620 (grub_multiboot_payload_entry_offset): Likewise.
5621 (grub_multiboot_forward_relocator): Likewise.
5622 (grub_multiboot_forward_relocator_end): Likewise.
5623 (grub_multiboot_backward_relocator): Likewise.
5624 (grub_multiboot_backward_relocator_end): Likewise.
5625 (grub_multiboot_payload_eip): New variable.
5626 (grub_multiboot_payload_orig): Likewise.
5627 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
5628 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
5629 * include/grub/i386/memory.h
5630 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
5631 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
5632 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
5633 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
5634 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
5635 * include/grub/i386/relocator.h: New file.
5636 * include/grub/x86_64/relocator.h: Likewise.
5637 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
5638 (XNU_RELOCATOR): New macro.
5639 (grub_xnu_launcher_start): Remove.
5640 (grub_xnu_launcher_end): Likewise.
5641 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
5642 (grub_xnu_heap_real_start): Remove.
5643 (grub_xnu_heap_start): Change to void *. All users updated.
5644 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
5645 * lib/i386/relocator.c: New file.
5646 * lib/i386/relocator_asm.S: Likewise.
5647 * lib/i386/relocator_backward.S: Likewise.
5648 * lib/mips/relocator.c: Likewise.
5649 * lib/mips/relocator_asm.S: Likewise.
5650 * lib/relocator.c: Likewise.
5651 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
5652 (entry): Removed.
5653 (playground): Likewise.
5654 (grub_multiboot_payload_orig): New variable.
5655 (grub_multiboot_payload_dest): Likewise.
5656 (grub_multiboot_payload_size): Likewise.
5657 (grub_multiboot_payload_eip): Likewise.
5658 (grub_multiboot_payload_esp): Likewise.
5659 (grub_multiboot_boot): Use grub_relocator32_boot.
5660 (grub_multiboot_unload): Free relocators.
5661 (grub_multiboot): Setup stack. Use relocators.
5662 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
5663 (grub_multiboot_load_elfXX): Use relocators.
5664 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
5665 (grub_multiboot_payload_size): Likewise.
5666 (grub_multiboot_payload_dest): Likewise.
5667 (grub_multiboot_payload_entry_offset): Likewise.
5668 (grub_multiboot_forward_relocator): Likewise.
5669 (grub_multiboot_backward_relocator): Likewise.
5670 (grub_multiboot_real_boot): Likewise.
5671 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
5672 (grub_xnu_entry_point): Likewise.
5673 (grub_xnu_arg1): Likewise.
5674 (grub_xnu_stack): Likewise.
5675 (grub_xnu_launch): Removed.
5676 (grub_xnu_boot_resume): New function.
5677 (grub_xnu_boot): Use relocators.
5678 * loader/i386/xnu_helper.S: Removed.
5679 * loader/xnu.c (grub_xnu_heap_start): New variable.
5680 (grub_xnu_heap_size): Likewise.
5681 (grub_xnu_heap_malloc): Use relocators.
5682 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
5683
5684 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
5687 anything.
5688
5689 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5690
5691 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
5692 GRUB_ERR_NONE before calling grub_env_set.
5693
5694 2009-12-12 Robert Millan <rmh@aybabtu.com>
5695
5696 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
5697 * genmk.rb (video): New variable.
5698 (CLEANFILES, VIDEOFILES): Add #{video}.
5699 (#{video}): New target rule.
5700 * genvideolist.sh: New file.
5701 * Makefile.in (pkglib_DATA): Add video.lst.
5702 (video.lst): New target rule.
5703 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
5704 `video.lst'.
5705 * util/grub.d/30_os-prober.in: Replace `vbe' with
5706 ${GRUB_VIDEO_BACKEND}.
5707
5708 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
5709
5710 * THANKS: Add David Miller.
5711
5712 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 libpciaccess support.
5715
5716 * Makefile.in (LIBPCIACCESS): New variable.
5717 (enable_grub_emu_pci): Likewise.
5718 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
5719 util/pci.c and commands/lspci.c.
5720 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
5721 * configure.ac (grub-emu-pci): New option.
5722 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
5723 (grub_pci_device_unmap_range): Likewise.
5724 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
5725 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
5726 (grub_pci_address_t) [!GRUB_UTIL]: New type.
5727 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
5728 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
5729 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
5730 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
5731 * include/grub/pciutils.h: New file.
5732 * util/pci.c: Likewise.
5733
5734 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
5735
5736 * util/misc.c: Don't include <errno.h> twice.
5737
5738 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
5739
5740 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
5741 name in an error message.
5742 (grub_biosdisk_rw): Likewise.
5743
5744 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 Eliminate NTFS 4Gib barrier.
5747
5748 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
5749 (read_run_data): Likewise.
5750 (grub_ntfs_read_run_list): Likewise.
5751 (grub_ntfs_read_block): Likewise.
5752 (grub_ntfs_iterate_dir): Likewise.
5753 (read_mft): Likewise.
5754 (read_data): Likewise.
5755 Use COM_LOG_LEN.
5756 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
5757 to avoid 64-bit division
5758 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
5759 (grub_ntfs_rlst): Use grub_disk_addr_t.
5760
5761 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 Eliminate grub-fstest 4Gib barrier.
5764
5765 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
5766 (read_file): Fix error reporting.
5767
5768 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 Eliminate hexdump 4Gib barrier.
5771
5772 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
5773 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
5774
5775 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
5778 Fixes amarsh bug.
5779
5780 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
5781
5782 Remove miscellaneous files in distclean target.
5783
5784 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
5785
5786 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
5787
5788 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
5789 if they're already set. This resolves the conflict between my
5790 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
5791 fixing the --grub-probe option again.
5792 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
5793 change on 2009-10-06, so that we now once again source
5794 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5795
5796 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
5797
5798 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
5799 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
5800 `util/devicemap.c'.
5801
5802 2009-12-08 Carles Pina i Estany <carles@pina.cat>
5803
5804 * include/grub/misc.h (grub_printf_): New declaration.
5805 * kern/misc.c (grub_printf_): New definition.
5806 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
5807 instead of `grub_printf' and `_'.
5808 * normal/menu_entry.c (store_completion): Likewise.
5809 (run): Likewise.
5810 (grub_menu_entry_run): Likewise.
5811 * normal/menu_text.c (grub_wait_after_message): Likewise.
5812 (notify_booting): Likewise.
5813 (notify_fallback): Likewise.
5814 (notify_execution_failure): Likewise.
5815
5816 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
5817
5818 * configure.ac: Check for vasprintf.
5819 * util/misc.c (asprintf): Move allocation from here ...
5820 (vasprintf): ... to here. New function.
5821 (xasprintf): New function.
5822 * include/grub/util/misc.h (vasprintf, xasprintf): Add
5823 prototypes.
5824 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5825 * util/grub-mkfont.c (write_font): Likewise.
5826 * util/grub-probe.c (probe): Likewise.
5827 * util/hostdisk.c (make_device_name): Likewise.
5828
5829 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
5830
5831 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
5832 anything even prefixed with 'cdrom' as a cdrom.
5833
5834 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
5835
5836 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
5837 mount points.
5838
5839 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5840
5841 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
5842 grub_gettext_msg_list.
5843 (grub_gettext_gettranslation_from_position): Return const char *
5844 and not char *.
5845 (grub_gettext_translate): Add the translated strings into a list,
5846 returns from the list if existing there.
5847 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
5848 (grub_gettext_delete_list): Delete the list.
5849 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
5850 lang environment variable is changed.
5851 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
5852
5853 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 Rename kernel.mod to kernel.img.
5856
5857 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
5858 (kernel_mod_EXPORTS): Rename to ...
5859 (kernel_img_EXPORTS): ... this.
5860 (kernel_mod_SOURCES): Rename to ...
5861 (kernel_img_SOURCES): ... this.
5862 (kernel_mod_HEADERS): Rename to ...
5863 (kernel_img_HEADERS): ... this. All users updated.
5864 (kernel_mod_CFLAGS): Rename to ...
5865 (kernel_img_CFLAGS): ... this.
5866 (kernel_mod_ASFLAGS): Rename to ...
5867 (kernel_img_ASFLAGS): ... this.
5868 (kernel_mod_LDFLAGS): Rename to ...
5869 (kernel_img_LDFLAGS): ... this.
5870 * conf/x86_64-efi.rmk: Likewise.
5871 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
5872 (read_kernel_image): ... this. All users updated.
5873 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
5874
5875 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5876
5877 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
5878 (print_spaces): New function.
5879 (grub_print_ucs4): New function.
5880 (getstringwidth): New function.
5881 (print_message_indented): New function.
5882 (print_message): Gettexttize strings using print_message_indented.
5883 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
5884 width.
5885 (get_entry_number): Gettextize and uses dynamic terminal width.
5886 (notify_booting, notify_fallback, notify_execution_failure):
5887 Gettextize.
5888 * normal/menu_entry.c (store_completion): Cleanup the gettextized
5889 string.
5890 (run): Likewise.
5891 (grub_menu_entry_run): Likewise.
5892 * PO/POTFILES: Add normal/menu_entry.c.
5893
5894 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
5897
5898 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5899
5900 * util/grub-install.in: Install gettext .mo files.
5901 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
5902
5903 2009-12-05 Carles Pina i Estany <carles@pina.cat>
5904
5905 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
5906 grub_dprintf.
5907
5908 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
5909
5910 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
5911 non-firmware-dependant one in realmode.S takes precedence.
5912
5913 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
5914
5915 * commands/halt.c: Replace misc arch-specific headers with
5916 `<grub/misc.h>'.
5917 * commands/reboot.c: Likewise.
5918 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
5919 `<grub/misc.h>'.
5920 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
5921 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
5922 (kernel_img_SOURCES): ... to here.
5923
5924 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
5925 * include/grub/i386/pc/init.h: Likewise.
5926 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5927 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5928
5929 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
5930
5931 * include/grub/i386/halt.h: Remove.
5932 * include/grub/i386/reboot.h: Likewise.
5933
5934 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
5935
5936 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
5937
5938 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
5939 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
5940 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
5941 "progname.h"
5942 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5943 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5944 (usage): Add missing comma in printf.
5945
5946 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
5947
5948 Use the same reboot approach on i386 coreboot and qemu as we do on
5949 BIOS.
5950
5951 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
5952 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
5953 * kern/i386/reboot.c: Remove.
5954 * include/grub/i386/reboot.h (grub_reboot): Export function.
5955 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
5956 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
5957 0xf000:0xfff0 instead of 0xffff:0x0000.
5958 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
5959 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
5960
5961 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
5962
5963 Fix $srcdir != $objdir build.
5964
5965 * Makefile.in (po/%.po): Rewrite as ...
5966 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
5967
5968 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
5969
5970 Fix GNU/Hurd grub-install crash.
5971 * util/grub-probe.c (probe): Try to access `path' only when it is not
5972 NULL.
5973
5974 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Correct module naming.
5977
5978 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5979 (GRUB_MOD_INIT(efi_uga)): ... to this
5980 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5981 (GRUB_MOD_FINI(efi_uga)): ... to this
5982 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5983 (GRUB_MOD_INIT(efi_gop)): ... to this
5984 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5985 (GRUB_MOD_FINI(efi_gop)): ... to this
5986
5987 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
5988
5989 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
5990 translatable.
5991 (usage): Translate `arg' strings using gettext().
5992 Thanks to Jordi Mallach for the suggestion.
5993
5994 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 GOP support. Based on patch from Bean
5997 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
5998
5999 * video/efi_gop.c: New file.
6000 * include/grub/efi/graphics_output.h: Likewise.
6001 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6002 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6003 variables.
6004 * conf/x86_64-efi.rmk: Likewise.
6005
6006 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 Rename efi_fb to efi_uga.
6009
6010 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6011 'efi_uga.mod'.
6012 (efi_fb_mod_SOURCES): Rename this ...
6013 (efi_uga_mod_SOURCES): ... to this.
6014 (efi_fb_mod_CFLAGS): Rename this ...
6015 (efi_uga_mod_CFLAGS): ... to this.
6016 (efi_fb_mod_LDFLAGS): Rename this ...
6017 (efi_uga_mod_LDFLAGS): ... to this.
6018 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6019 'efi_uga.mod'.
6020 (efi_fb_mod_SOURCES): Rename this ...
6021 (efi_uga_mod_SOURCES): ... to this.
6022 (efi_fb_mod_CFLAGS): Rename this ...
6023 (efi_uga_mod_CFLAGS): ... to this.
6024 (efi_fb_mod_LDFLAGS): Rename this ...
6025 (efi_uga_mod_LDFLAGS): ... to this.
6026 * video/efi_fb.c: Move this ...
6027 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6028
6029 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6030
6031 * po/README: New file. Explain our PO file workflow.
6032
6033 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6034
6035 * po/ChangeLog: Remove. Move relevant entries back to ...
6036 * ChangeLog: ... here.
6037 * po/ca.po: Remove (now handled by TLP).
6038 * po/id.po: Likewise.
6039 * po/zh_CN.po: Likewise.
6040 * Makefile.in (LINGUAS): Initialize in a way that supports
6041 empty set.
6042
6043 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6044
6045 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6046 reliing on po/LINGUAS.
6047 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6048 (po/%.po): ... this.
6049
6050 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6051
6052 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6053 (main): Use `program_name' instead of nonexistent `progname'.
6054
6055 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6056
6057 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6058 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6059
6060 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6061
6062 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6063 commit.
6064 * conf/i386-efi.rmk: Likewise.
6065 * conf/i386-ieee1275.rmk: Likewise.
6066 * conf/powerpc-ieee1275.rmk: Likewise.
6067 * conf/sparc64-ieee1275.rmk: Likewise.
6068 * conf/x86_64-efi.rmk: Likewise.
6069
6070 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6071
6072 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6073
6074 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6075
6076 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6077
6078 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6079
6080 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6081 (grub_mkdevicemap_SOURCES): New variable.
6082 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6083 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6084 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6085 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6086 (grub_mkdevicemap_SOURCES): Remove.
6087 * conf/i386-efi.rmk: Likewise.
6088 * conf/i386-ieee1275.rmk: Likewise.
6089 * conf/i386-pc.rmk: Likewise.
6090 * conf/powerpc-ieee1275.rmk: Likewise.
6091 * conf/sparc64-ieee1275.rmk: Likewise.
6092 * conf/x86_64-efi.rmk: Likewise.
6093 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6094 (usage): Fix strings to use `program_name'.
6095 (main): Initialize gettext.
6096 * util/grub-editenv.c: Likewise.
6097 * util/grub-emu.c: Likewise.
6098 * util/grub-fstest.c: Likewise.
6099 * util/grub-mkdevicemap.c: Likewise.
6100 * util/grub-mkfont.c: Likewise.
6101 * util/grub-mkrelpath.c: Likewise.
6102 * util/grub-pe2elf.c: Likewise.
6103 * util/grub-probe.c: Likewise.
6104 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6105 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6106 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6107
6108 * util/misc.c: Include `"progname.h"'.
6109 (progname): Remove variable.
6110 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6111
6112 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6113
6114 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6115 printf and print a newline after the menuentry header line.
6116 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6117
6118 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6119
6120 autoconf >= 2.60 support $(localedir).
6121
6122 * INSTALL: Note that autoconf 2.60 is required.
6123 * configure.ac (AC_PREREQ): Bump to 2.60.
6124 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6125 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6126
6127 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6128
6129 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6130 aclocal is run.
6131
6132 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6133
6134 * normal/main.c (grub_normal_read_line): Fix off-by-one
6135 buffer overflow.
6136
6137 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6138
6139 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6140 "parser.grub" in grub_command_execute() call.
6141
6142 2009-11-24 Carles Pina i Estany <carles@pina.cat>
6143
6144 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6145 * conf/i386-efi.rmk: Likewise.
6146 * conf/i386-ieee1275.rmk: Likewise.
6147 * conf/i386-pc.rmk: Likewise.
6148 * conf/powerpc-ieee1275.rmk: Likewise.
6149 * conf/sparc64-ieee1275.rmk: Likewise.
6150 * conf/x86_64-efi.rmk: Likewise.
6151 * gettext/gettex.c: Include <grub/i18n.h>.
6152 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6153 here ...
6154 * include/grub/i18n.h: ... to here
6155 * include/grub/i18n.h: ... to here.
6156 * kern/misc.c: Include <grub/i18n.h>
6157 (grub_gettext_dummy): Move above user.
6158
6159 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6160
6161 * util/Makefile.in (install-local): Convert a `for' into a normal
6162 shell expansion.
6163
6164 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6165
6166 * autogen.sh: Add automake call.
6167 * config.guess: Remove.
6168 * config.sub: Likewise.
6169 * install-sh: Likewise.
6170
6171 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6172
6173 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6174
6175 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6176
6177 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6178 function to a normal shell `for'.
6179
6180 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6181
6182 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6183
6184 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6185
6186 * util/grub-mkrelpath.c: New file.
6187 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6188 (grub_mkrelpath_SOURCES): New variable.
6189 * include/grub/util/misc.h: New function prototype.
6190 * util/misc.c (make_system_path_relative_to_its_root): New function.
6191
6192 * util/grub-mkconfig_lib.in (bindir): New variable.
6193 (grub_mkrelpath): Likewise.
6194 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6195
6196 * util/probe.c (probe): Make the file path relative to its root.
6197 Change a info message to use the GRUB path. Enable again the
6198 check if we can read the file with GRUB facilities.
6199
6200 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6201 to its root.
6202
6203 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6204
6205 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6206 platform.
6207
6208 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6209
6210 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6211 strncmp().
6212
6213 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6214
6215 * util/getroot.c (grub_util_is_dmraid): New function.
6216 (grub_util_get_dev_abstraction): Treat dmraid and multipath
6217 devices as normal ones, not as LVM.
6218
6219 2009-11-23 Carles Pina i Estany <carles@pina.cat>
6220
6221 * conf/common.rmk: Add grub-gettext_lib target and updates
6222 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
6223 LDFLAGS.
6224 * gettext/gettext.c: New file. (Reads mo files).
6225 * include/grub/file.h (grub_file_pread): New prototype.
6226 * include/grub/i18n.h (_): New prototype.
6227 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
6228 prototypes.
6229 * kern/misc.c (grub_gettext_dummy): New function.
6230 * normal/menu_text.c: Include <grub/i18n.h>.
6231 * normal/menu_text.c (print_timeout): Gettexttize string.
6232 * normal/menu_text.c (print_message): Gettexttize string.
6233 * po/POTFILES: Add `normal/menu_text.c'.
6234 * po/ca.po: Add new translations.
6235 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
6236 gettext module and defines locale_dir and lang in grub.cfg.
6237 * NEWS: Add gettext support.
6238
6239 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6240
6241 * util/hostdisk.c: Include `<grub/i18n.h>'.
6242 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
6243 (make_device_name): Rewrite using asprintf.
6244 (convert_system_partition_to_system_disk): Replace 0 with NULL.
6245 (find_system_device): If a device is not found, generate one just
6246 by reusing the OS path name.
6247 (read_device_map): Make it permissible for device.map not to exist.
6248
6249 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6250
6251 * script/sh/execute.c: Move from here ...
6252 * script/execute.c: ... to here. Update all users.
6253 * script/sh/function.c: Move from here ...
6254 * script/function.c: ... to here. Update all users.
6255 * script/sh/lexer.c: Move from here ...
6256 * script/lexer.c: ... to here. Update all users.
6257 * script/sh/main.c: Move from here ...
6258 * script/main.c: ... to here. Update all users.
6259 * script/sh/parser.y: Move from here ...
6260 * script/parser.y: ... to here. Update all users.
6261 * script/sh/script.c: Move from here ...
6262 * script/script.c: ... to here. Update all users.
6263
6264 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6265
6266 * configure.ac: Detect all `emu' platforms. Define
6267 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
6268 --enable-grub-emu logic. Disable include/grub/machine
6269 symlink on `emu' platforms.
6270
6271 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
6272 * gensymlist.sh.in: Likewise.
6273
6274 * include/grub/i386/coreboot/machine.h: Remove file.
6275 * include/grub/i386/efi/machine.h: Likewise.
6276 * include/grub/i386/ieee1275/machine.h: Likewise.
6277 * include/grub/i386/pc/machine.h: Likewise.
6278 * include/grub/i386/qemu/machine.h: Likewise.
6279 * include/grub/powerpc/ieee1275/machine.h: Likewise.
6280 * include/grub/sparc64/ieee1275/machine.h: Likewise.
6281 * include/grub/x86_64/efi/machine.h: Likewise.
6282
6283 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
6284 * commands/halt.c: Likewise.
6285 * commands/reboot.c: Likewise.
6286 * include/grub/autoefi.h: Likewise.
6287 * include/grub/i386/at_keyboard.h: Likewise.
6288 * include/grub/i386/kernel.h: Likewise.
6289 * include/grub/i386/loader.h: Likewise.
6290 * include/grub/i386/pc/memory.h: Likewise.
6291 * kern/dl.c: Likewise.
6292 * kern/i386/coreboot/init.c: Likewise.
6293 * loader/i386/bsd.c: Likewise.
6294 * loader/i386/linux.c: Likewise.
6295 * loader/multiboot_loader.c: Likewise.
6296 * term/i386/pc/serial.c: Likewise.
6297 * term/usb_keyboard.c: Likewise.
6298
6299 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
6300 `<grub/machine/machine.h>'
6301 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
6302 * util/misc.c: Remove `<grub/machine/machine.h>' and
6303 `<grub/machine/time.h>'.
6304
6305 * Makefile.in (enable_grub_emu): Remove variable.
6306 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
6307
6308 * conf/any-emu.rmk: New file.
6309 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
6310 (grub_emu_init.c): Move from here ...
6311 * conf/any-emu.rmk: ... to here.
6312
6313 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
6314 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
6315 * conf/any-emu.rmk: ... to here.
6316
6317 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6318
6319 * include/grub/parser.h (grub_parser_register): Document need
6320 of `name' parameter.
6321 * normal/main.c (grub_normal_read_line): Simplify prompt string.
6322 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
6323 "sh" to "grub".
6324
6325 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6326
6327 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
6328 `$(XGETTEXT)'.
6329 * include/grub/i18n.h (N_): New macro.
6330 * util/mkisofs/mkisofs.h: Likewise.
6331 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
6332 around N_().
6333 (usage): Use gettext() to translate help strings when printing them.
6334
6335 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6336
6337 Based on patch from Bean
6338 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6339
6340 * video/efi_fb.c: New file.
6341 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
6342 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6343 variables.
6344 * conf/x86_64-efi.rmk: Likewise.
6345
6346 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
6347
6348 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
6349 * util/i386/pc/grub-setup.c: Likewise.
6350
6351 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6352
6353 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
6354 <hurd/fs.h>
6355 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
6356 file_get_storage_info to implement grub_guess_root_device.
6357
6358 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6359
6360 * Makefile.in (target): Use make's builtin $(shell) function
6361 instead of calling directly $(SHELL) to create the locale directories,
6362 inside the $(foreach) function.
6363
6364 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6365
6366 * util/grub-mkrescue.in: Print an error and usage if output option
6367 has not been given.
6368
6369 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6370
6371 Patch from Loïc Minier <loic.minier@ubuntu.com>.
6372 * util/grub.d/30_os-prober.in: Cope with Linux entries where
6373 root and /boot are on different devices.
6374
6375 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6376
6377 Fix build for srcdir != objdir.
6378
6379 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
6380 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
6381 $(srcdir).
6382 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
6383 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
6384 reference for input.
6385
6386 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6387
6388 * util/grub-mkrescue.in: Use source directory direcly (without copiing
6389 or hardlinking it). Remove -J option, Joliet is not compatible with
6390 multiple source directories.
6391
6392 2009-11-21 Carles Pina i Estany <carles@pina.cat>
6393 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6394
6395 * util/grub-mkrescue.in: Recognize `--override-directory' option.
6396 (process_input_dir): New function. Process an arbitrary input
6397 directory.
6398 Misc adjustments to support both "override mode" and system-wide mode.
6399
6400 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6401
6402 * configure.ac (UNIFONT_BDF): Rename to ...
6403 (FONT_SOURCE): ... this. Update all users.
6404
6405 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6406
6407 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
6408 to the list of unifont files to look for.
6409
6410 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6411
6412 Patch from Joe Auricchio <jauricchio@gmail.com>
6413 * commands/minicmd.c (grub_mini_cmd_clear): New function.
6414 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
6415 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
6416
6417 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6418
6419 * Makefile.in (install-local): Add a missing backslash.
6420
6421 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6422
6423 * include/grub/x86_64/io.h: New file.
6424
6425 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6426
6427 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
6428 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
6429 Include `"progname.h"'.
6430 (main): Initialize gettext.
6431 * util/i386/pc/grub-setup.c: Gettexttize.
6432 * util/i386/pc/grub-mkimage.c: Likewise.
6433
6434 * Makefile.in (po/*.po): Redefine as ...
6435 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
6436
6437 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
6438
6439 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6440
6441 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
6442 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
6443 (program_name): Remove.
6444 (main): Initialize gettext support.
6445 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
6446 Include `<libintl.h>'.
6447 (_): New macro.
6448
6449 * util/mkisofs/eltorito.c: Gettexttize.
6450 * util/mkisofs/joliet.c: Likewise.
6451 * util/mkisofs/mkisofs.c: Likewise.
6452 * util/mkisofs/multi.c: Likewise.
6453 * util/mkisofs/rock.c: Likewise.
6454 * util/mkisofs/tree.c: Likewise.
6455 * util/mkisofs/write.c: Likewise.
6456
6457 * po/POTFILES: Update with new files.
6458
6459 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6460
6461 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
6462 * util/mkisofs/iso9660.h: Likewise.
6463 * util/mkisofs/joliet.c: Likewise.
6464 * util/mkisofs/mkisofs.c: Likewise.
6465 * util/mkisofs/mkisofs.h: Likewise.
6466 * util/mkisofs/rock.c: Likewise.
6467 * util/mkisofs/tree.c: Likewise.
6468 * util/mkisofs/write.c: Likewise.
6469
6470 * util/mkisofs/eltorito.c (rcsid): Remove.
6471 * util/mkisofs/hash.c: Likewise.
6472 * util/mkisofs/joliet.c: Likewise.
6473 * util/mkisofs/name.c: Likewise.
6474 * util/mkisofs/rock.c: Likewise.
6475 * util/mkisofs/tree.c: Likewise.
6476 * util/mkisofs/write.c: Likewise.
6477
6478 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6479
6480 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
6481 instead of static allocation.
6482 * util/mkisofs/match.h: Likewise.
6483
6484 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6485
6486 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
6487 and `util/grub.d/10_linux.in'.
6488 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
6489 translatable Shell files.
6490
6491 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6492
6493 * Makefile.in ($(srcdir)/aclocal.m4): New target.
6494
6495 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6496
6497 * INSTALL: Document Automake is needed for bootstrap.
6498 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
6499 * util/grub.d/10_kfreebsd.in (bindir): New variable.
6500 Add gettext initialization.
6501 (kfreebsd_entry): Make menuentry output translatable.
6502
6503 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6504
6505 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
6506 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
6507 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
6508 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
6509 (LINGUAS): Auto-generate using `po/LINGUAS'.
6510 * po/LINGUAS: New file.
6511
6512 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6513
6514 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
6515 other things).
6516 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
6517 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
6518 bindtextdomain() calls for gettext initialization.
6519
6520 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6521
6522 * gnulib/progname.c: New file (imported from Gnulib).
6523 * gnulib/progname.h: Likewise.
6524 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6525 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
6526 (usage): Replace `progname' with `program_name'.
6527 (main): Use set_program_name() for program name initialization.
6528
6529 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6530
6531 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
6532 from here ...
6533 * Makefile.in (CPPFLAGS): ... to here.
6534
6535 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6536
6537 * aclocal.m4: Move from here ...
6538 * acinclude.m4: ... to here.
6539 * autogen.sh: Add call to `aclocal'.
6540 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
6541
6542 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6543
6544 * Makefile.in (CLEANFILES): Add `po/*.mo'.
6545 (LINGUAS): New variable.
6546 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
6547 (install-local): Install MO files.
6548 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
6549 * include/grub/i18n.h: New file.
6550 * po/POTFILES: New file.
6551 * po/ca.po: New file.
6552 * util/grub.d/10_linux.in (bindir): New variable.
6553 Add gettext initialization.
6554 (linux_entry): Make menuentry output translatable.
6555 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
6556 (usage): Make --help output translatable.
6557 (main): Initialize gettext.
6558
6559 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6560
6561 * import_gcry.py: New file (written by Vladimir with minor
6562 adjustments).
6563 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
6564 ciphers.
6565 * INSTALL: Document that Python is required for bootstrap.
6566
6567 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6568
6569 Import ciphers from libgcrypt 1.4.4.
6570
6571 * lib/libgcrypt/cipher/ChangeLog
6572 * lib/libgcrypt/cipher/ac.c
6573 * lib/libgcrypt/cipher/arcfour.c
6574 * lib/libgcrypt/cipher/bithelp.h
6575 * lib/libgcrypt/cipher/blowfish.c
6576 * lib/libgcrypt/cipher/camellia-glue.c
6577 * lib/libgcrypt/cipher/camellia.c
6578 * lib/libgcrypt/cipher/camellia.h
6579 * lib/libgcrypt/cipher/cast5.c
6580 * lib/libgcrypt/cipher/cipher.c
6581 * lib/libgcrypt/cipher/crc.c
6582 * lib/libgcrypt/cipher/des.c
6583 * lib/libgcrypt/cipher/dsa.c
6584 * lib/libgcrypt/cipher/ecc.c
6585 * lib/libgcrypt/cipher/elgamal.c
6586 * lib/libgcrypt/cipher/hash-common.c
6587 * lib/libgcrypt/cipher/hash-common.h
6588 * lib/libgcrypt/cipher/hmac-tests.c
6589 * lib/libgcrypt/cipher/md.c
6590 * lib/libgcrypt/cipher/md4.c
6591 * lib/libgcrypt/cipher/md5.c
6592 * lib/libgcrypt/cipher/primegen.c
6593 * lib/libgcrypt/cipher/pubkey.c
6594 * lib/libgcrypt/cipher/rfc2268.c
6595 * lib/libgcrypt/cipher/rijndael-tables.h
6596 * lib/libgcrypt/cipher/rijndael.c
6597 * lib/libgcrypt/cipher/rmd.h
6598 * lib/libgcrypt/cipher/rmd160.c
6599 * lib/libgcrypt/cipher/rsa.c
6600 * lib/libgcrypt/cipher/seed.c
6601 * lib/libgcrypt/cipher/serpent.c
6602 * lib/libgcrypt/cipher/sha1.c
6603 * lib/libgcrypt/cipher/sha256.c
6604 * lib/libgcrypt/cipher/sha512.c
6605 * lib/libgcrypt/cipher/tiger.c
6606 * lib/libgcrypt/cipher/twofish.c
6607 * lib/libgcrypt/cipher/whirlpool.c
6608
6609 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6610
6611 Fix build for systems without error().
6612
6613 * gnulib/error.c: New file (imported from Gnulib).
6614 * gnulib/error.h: Likewise.
6615 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
6616 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
6617 (this variable is now used by error()).
6618
6619 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6620
6621 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
6622 instead of relying that char is signed.
6623
6624 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
6627 blocksize different from specified.
6628 (grub_pxefs_read): Likewise.
6629
6630 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
6631
6632 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
6633
6634 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
6635 (grub_ata_readwrite): Likewise. Update 2 format strings.
6636 (grub_atapi_read): Likewise.
6637
6638 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
6639 * conf/i386.rmk (pkglib_MODULES): ... to here ...
6640 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
6641 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
6642 (ata_mod_LDFLAGS): Move from here ...
6643 * conf/i386.rmk: ... to here ...
6644 * conf/x86_64-efi.rmk: ... and here.
6645 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
6646 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
6647
6648 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6649
6650 Relicense multiboot.h, with RMS' blessing.
6651
6652 * include/multiboot.h: Change to X11 license.
6653
6654 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
6655
6656 Support --version in grub-mkisofs.
6657
6658 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
6659 (OPTION_VERSION): New macro.
6660 (ld_options): Recognize --version.
6661 (usage): Move `program_name' from here ...
6662 (program_name): ... to here. Add `static' qualifier.
6663 (main): Recognize `OPTION_VERSION'.
6664
6665 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
6666
6667 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
6668 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
6669
6670 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6671
6672 Fix help2man generation for mkisofs.
6673
6674 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
6675 (usage): Send output to stdout (rather than stderr).
6676
6677 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6678
6679 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
6680 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6681 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
6682 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6683 (bin_SCRIPTS): Add `grub-mkfloppy'.
6684 (grub_mkfloppy_SOURCES): New variable.
6685
6686 * util/grub-mkrescue.in: New file.
6687 * util/i386/pc/grub-mkfloppy.in: New file.
6688
6689 * util/i386/coreboot/grub-mkrescue.in: Remove.
6690 * util/i386/pc/grub-mkrescue.in: Remove.
6691
6692 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6693
6694 * include/grub/multiboot.h (struct grub_multiboot_header): Move
6695 from here ...
6696 * include/multiboot.h (struct multiboot_header): ... to here. Update
6697 all users.
6698 * include/grub/multiboot.h (struct grub_multiboot_info): Move
6699 from here ...
6700 * include/multiboot.h (struct multiboot_info): ... to here. Update
6701 all users.
6702 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
6703 from here ...
6704 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
6705 Update all users.
6706 * include/grub/multiboot.h (struct grub_mod_list): Move
6707 from here ...
6708 * include/multiboot.h (struct multiboot_mod_list): ... to here.
6709 Update all users.
6710
6711 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6712
6713 * include/multiboot2.h (multiboot_word): Rename from this ...
6714 (multiboot2_word): ... to this. Update all users.
6715 (multiboot_header): Rename from this ...
6716 (multiboot2_header): ... to this. Update all users.
6717 (multiboot_tag_header): Rename from this ...
6718 (multiboot2_tag_header): ... to this. Update all users.
6719 (multiboot_tag_start): Rename from this ...
6720 (multiboot2_tag_start): ... to this. Update all users.
6721 (multiboot_tag_name): Rename from this ...
6722 (multiboot2_tag_name): ... to this. Update all users.
6723 (multiboot_tag_module): Rename from this ...
6724 (multiboot2_tag_module): ... to this. Update all users.
6725 (multiboot_tag_memory): Rename from this ...
6726 (multiboot2_tag_memory): ... to this. Update all users.
6727 (multiboot_tag_unused): Rename from this ...
6728 (multiboot2_tag_unused): ... to this. Update all users.
6729 (multiboot_tag_end): Rename from this ...
6730 (multiboot2_tag_end): ... to this. Update all users.
6731
6732 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6733
6734 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
6735 this platform we should support Multiboot1 first.
6736
6737 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6738 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
6739 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
6740
6741 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6742
6743 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
6744 of write calls (converting them to fwrite() if they aren't already).
6745 (get_torito_desc): Likewise.
6746 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
6747
6748 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6749
6750 * util/i386/pc/grub-install.in: Move from here ...
6751 * util/grub-install.in: ... to here. Update all users.
6752
6753 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
6754
6755 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
6756
6757 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6758
6759 Support for El Torito without floppy emulation.
6760
6761 * util/mkisofs/eltorito.c: Include `<errno.h>'.
6762 (init_boot_catalog): Improve error handling.
6763 (get_torito_desc): Don't use floppy emulation unless requested by
6764 user. Patch boot information table when requested via
6765 `-boot-info-table'.
6766 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
6767 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
6768 (use_boot_info_table): New variables.
6769 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
6770 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
6771 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
6772 `--eltorito-emul-floppy'.
6773 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
6774 and `OPTION_ELTORITO_EMUL_FLOPPY'.
6775 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
6776 (use_boot_info_table, get_731): New prototypes.
6777 * util/mkisofs/write.c (get_731): New function.
6778
6779 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
6780
6781 Fix the generation of the man page.
6782
6783 * util/pc/i386/grub-install.in: Source
6784 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6785
6786 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6787
6788 Large file support for grub-mkisofs.
6789
6790 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
6791 * util/mkisofs/mkisofs.c (next_extent, last_extent)
6792 (session_start): Upgrade type to `uint64_t'. Update all users.
6793 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
6794 (struct directory_entry): Upgrade type of `starting_block' and
6795 `size' to `uint64_t'. Update all users.
6796 (struct deferred): Remove unused structure.
6797 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
6798 Update all users.
6799 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
6800 file is larger than `UINT32_MAX'.
6801 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
6802 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
6803 return value.
6804 (struct deferred_write): Upgrade type of `extent' and `size' to
6805 `uint64_t'. Update all users.
6806 (last_extent_written): Upgrade type to `uint64_t'. Update all
6807 users.
6808 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
6809 Update all users. Upgrade type of `remain' to `int64_t' and
6810 `use' to `size_t'. Use error() to handle fread() errors.
6811 (write_files): Rely on write_one_file() rather than calling
6812 xfwrite() directly.
6813
6814 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
6815
6816 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
6817
6818 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6819
6820 * util/mkisofs/fnmatch.c: Remove.
6821 * util/mkisofs/getopt1.c: Likewise.
6822 * util/mkisofs/getopt.c: Likewise.
6823 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
6824 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
6825 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
6826 `gnulib/getopt1.c' and `gnulib/getopt.c'.
6827 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
6828
6829 * configure.ac: Detect `mingw32msvc' host_os.
6830 Check for lstat(), getuid() and getgid().
6831
6832 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
6833 instances of `u_char' with `uint8_t'.
6834
6835 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
6836 [!HAVE_GETUID] (getuid): New function (stub).
6837 [!HAVE_GETGID] (getgid): Likewise.
6838 [!HAVE_LSTAT] (lstat): Likewise.
6839 [!S_IROTH] (S_IROTH): New macro (dummy).
6840 [!S_IRGRP] (S_IRGRP): Likewise.
6841
6842 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6843
6844 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
6845 conditional expression).
6846
6847 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6848
6849 Import from Gnulib.
6850
6851 * gnulib/fnmatch.c: New file.
6852 * gnulib/fnmatch.h: Likewise.
6853 * gnulib/fnmatch_loop.c: Likewise.
6854 * gnulib/getopt.c: Likewise.
6855 * gnulib/getopt.h: Likewise.
6856 * gnulib/getopt1.c: Likewise.
6857 * gnulib/getopt_int.h: Likewise.
6858 * gnulib/gettext.h: Likewise.
6859
6860 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6861
6862 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
6863 * normal/handler.c (read_handler_list): Likewise.
6864
6865 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6866
6867 Misc cleanup.
6868
6869 * kern/command.c (grub_register_command_prio): Use
6870 grub_zalloc() instead of explicitly zeroing data.
6871 * kern/list.c: Include `<grub/mm.h>'.
6872 (grub_named_list_find): Replace `0' with `NULL'.
6873 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
6874 (fs_module_list): Change type to `grub_named_list_t'. Update all
6875 users.
6876 * normal/dyncmd.c (read_command_list): Add space between function
6877 call and parenthesis.
6878 * normal/handler.c (read_handler_list): Likewise.
6879
6880 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6881
6882 * normal/auth.c (punishment_delay): Moved from here ...
6883 (grub_auth_strcmp): ... to here (inside function).
6884
6885 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6886
6887 * include/grub/list.h (struct grub_named_list): Remove `const'
6888 qualifier from `name'.
6889 (struct grub_prio_list): Likewise.
6890
6891 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6892
6893 * normal/auth.c: Include `<grub/time.h>'.
6894 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
6895
6896 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6897
6898 * normal/auth.c (punishment_delay): New variable.
6899 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
6900 (grub_auth_check_authentication): Punish failed login attempts with
6901 an incremental (2^N) delay.
6902
6903 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6904
6905 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
6906 path with $(srcdir).
6907
6908 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
6911
6912 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6913
6914 * util/i386/coreboot/grub-mkrescue.in: New file.
6915 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
6916 variables.
6917
6918 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
6919 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
6920 * configure.ac: Add header and function checks to satisfy grub-mkisofs
6921 requirements.
6922 * util/mkisofs/defaults.h: New file.
6923 * util/mkisofs/eltorito.c: Likewise.
6924 * util/mkisofs/exclude.h: Likewise.
6925 * util/mkisofs/fnmatch.c: Likewise.
6926 * util/mkisofs/getopt.c: Likewise.
6927 * util/mkisofs/getopt1.c: Likewise.
6928 * util/mkisofs/hash.c: Likewise.
6929 * util/mkisofs/include/fctldefs.h: Likewise.
6930 * util/mkisofs/include/mconfig.h: Likewise.
6931 * util/mkisofs/include/prototyp.h: Likewise.
6932 * util/mkisofs/include/statdefs.h: Likewise.
6933 * util/mkisofs/iso9660.h: Likewise.
6934 * util/mkisofs/joliet.c: Likewise.
6935 * util/mkisofs/match.c: Likewise.
6936 * util/mkisofs/match.h: Likewise.
6937 * util/mkisofs/mkisofs.c: Likewise.
6938 * util/mkisofs/mkisofs.h: Likewise.
6939 * util/mkisofs/multi.c: Likewise.
6940 * util/mkisofs/name.c: Likewise.
6941 * util/mkisofs/rock.c: Likewise.
6942 * util/mkisofs/tree.c: Likewise.
6943 * util/mkisofs/write.c: Likewise.
6944
6945 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
6948 being insecure.
6949
6950 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6951
6952 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
6953 `grub-mkimage' (and use $0 when possible).
6954
6955 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6956
6957 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
6958 error message for excessively large memory map.
6959
6960 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6961
6962 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
6963 executable bit.
6964
6965 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6966
6967 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
6968 message for coreboot users.
6969
6970 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
6971
6972 Fix build with GNU gold.
6973
6974 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
6975 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
6976 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
6977 link addresses.
6978 * aclocal.m4: Likewise.
6979
6980 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
6981
6982 * configure.ac (AC_PREREQ): Bump to 2.59d.
6983 * INSTALL: Make it more clear when Autoconf and Ruby are
6984 needed and when to run `./autogen.sh'.
6985
6986 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6987
6988 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
6989 OSes.
6990
6991 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6992
6993 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
6994
6995 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6996
6997 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
6998 giving it to GNU Mach.
6999
7000 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7001
7002 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7003 GNU partition number to get internal GRUB partition number.
7004
7005 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7006
7007 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7008 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7009
7010 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7011
7012 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7013 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7014 case.
7015
7016 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
7017
7018 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7019
7020 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7021
7022 Fix build problem.
7023
7024 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7025 `-isystem=$(srcdir)/include'.
7026
7027 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7028
7029 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7030 checked (grub-install doesn't currently rely on it).
7031
7032 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7033
7034 Revert SVN r2660.
7035
7036 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7037 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7038 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7039 * conf/i386-ieee1275.rmk: Likewise.
7040 * conf/i386-pc.rmk: Likewise.
7041 * conf/powerpc-ieee1275.rmk: Likewise.
7042 * conf/sparc64-ieee1275.rmk: Likewise.
7043 * conf/x86_64-efi.rmk: Likewise.
7044
7045 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7046
7047 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7048
7049 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7050
7051 * include/grub/misc.h: Stop checking for APPLE_CC.
7052
7053 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7054
7055 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7056 doesn't cause an infinite call loop.
7057
7058 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
7059
7060 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7061 strings.
7062
7063 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7064
7065 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7066 variable.
7067 * Makefile.in: Likewise.
7068
7069 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7070
7071 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7072
7073 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7074
7075 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7076
7077 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7078
7079 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7080
7081 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7082
7083 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7084 from here ...
7085 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7086
7087 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7088
7089 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7090 in $(MAKEINFO) invocation. This makes it clear in output that
7091 errors are being ignored.
7092
7093 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7094
7095 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7096 from here ...
7097 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7098 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7099 * conf/i386-ieee1275.rmk: Likewise.
7100 * conf/i386-pc.rmk: Likewise.
7101 * conf/powerpc-ieee1275.rmk: Likewise.
7102 * conf/sparc64-ieee1275.rmk: Likewise.
7103 * conf/x86_64-efi.rmk: Likewise.
7104
7105 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7106
7107 * util/grub-editenv.c (main): If only a command is given, use
7108 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7109 (usage): FILENAME is now optional and has a default.
7110
7111 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7112
7113 Improve grub-mkconfig performance when there are several menu
7114 entries on a single filesystem.
7115
7116 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7117 prepare_grub_to_access_device.
7118 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7119 * util/grub.d/30_os-prober.in: Likewise.
7120
7121 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7122
7123 * util/grub.d/10_freebsd.in: Remove.
7124 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7125 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7126
7127 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7128
7129 * docs/grub.cfg: Fix example usage of *BSD loaders.
7130
7131 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7132
7133 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7134 grub_util_error() call.
7135
7136 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7137
7138 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7139 `reserved_first_sector' member.
7140 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7141 `reserved_first_sector' to 1.
7142 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7143 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7144 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7145 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7146 filesystems which begin at first sector.
7147 (options): New option --skip-fs-probe.
7148 (main): Handle --skip-fs-probe and pass it to setup().
7149
7150 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7151
7152 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7153 (memset): Fix function prototype.
7154
7155 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7156 2009-10-25 Vasily Averin <vvs@parallels.com>
7157
7158 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7159 `dirent.direntlen == 0'.
7160
7161 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7162
7163 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7164 `cpio'.
7165 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7166
7167 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7168
7169 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7170 `__trampoline_setup' and `__ucmpdi2'.
7171 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7172 that libgcc provides.
7173
7174 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7175
7176 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7177 * include/grub/sparc64/libgcc.h (memset): Likewise.
7178 * include/grub/misc.h (memset, memcmp): New function prototypes.
7179
7180 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7181
7182 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7183 `cpio'.
7184 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7185
7186 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7187
7188 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7189 * docs/grub.cfg: Compensate for recent change in multiboot
7190 loader (since 2009-08-14 it won't pass filename to payload).
7191 * util/grub.d/10_hurd.in: Likewise.
7192
7193 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
7194
7195 * config.guess: Update to latest version from config git
7196 repository.
7197 * config.sub: Likewise.
7198
7199 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7200
7201 Fix build on sparc64.
7202
7203 * configure.ac: Perform checks for libgcc symbols before
7204 adding `-nostdlib' to LDFLAGS.
7205
7206 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 Let user specify OpenBSD root device.
7209
7210 * loader/i386/bsd.c (openbsd_root): New variable.
7211 (openbsd_opts): New option 'root'.
7212 (OPENBSD_ROOT_ARG): New macro.
7213 (grub_openbsd_boot): Use 'openbsd_root'.
7214 (grub_cmd_openbsd): Fill 'openbsd_root'.
7215
7216 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7217
7218 * NEWS: Misc adjustments.
7219
7220 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
7223
7224 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7225
7226 * configure.ac: Bump version to 1.97.
7227
7228 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
7229
7230 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
7231 -mno-3dnow on x86 architectures. Some toolchains enable these
7232 features by default, but they rely on registers that aren't enabled
7233 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
7234
7235 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
7236
7237 Make entry text a bit more readable.
7238
7239 * util/grub.d/10_linux.in: Add `with' before `Linux'.
7240
7241 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
7244
7245 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
7248 operations.
7249
7250 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * configure.ac: Add missing dollar.
7253
7254 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
7257
7258 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
7259 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
7260 exports.
7261 * include/grub/sparc64/libgcc.h: Likewise. Use
7262 preprocessor conditionals.
7263
7264 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7265
7266 * conf/common.rmk (grub-dumpbios): Remove rule.
7267 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
7268 * util/grub-dumpbios.in: Remove file.
7269
7270 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7271
7272 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
7273 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
7274
7275 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
7276 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
7277 users.
7278
7279 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
7280 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
7281 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
7282 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
7283 users.
7284
7285 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
7286
7287 * term/tparm.c: Switch to GPLv3.
7288
7289 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7290
7291 * include/grub/i386/cpuid.h: Add header protection.
7292
7293 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7294
7295 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
7296
7297 * include/grub/i386/cpuid.h: New file.
7298 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
7299 (has_longmode): Rename to ...
7300 (grub_cpuid_has_longmode): ... this. Update all users. Remove
7301 `static' attribute.
7302 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
7303 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
7304 on a CPU that doesn't implement AMD64 instruction set.
7305
7306 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7307
7308 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
7309 that version.texi is rebuilt on version number changes.
7310
7311 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7312
7313 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
7314 Fixes bug #27602.
7315
7316 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7317
7318 * util/i386/pc/grub-install.in: Source
7319 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
7320 that the --grub-probe option will work.
7321 * util/sparc64/ieee1275/grub-install.in: Likewise.
7322
7323 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
7324
7325 * configure.ac: Bump version to 1.97~beta4.
7326
7327 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
7328
7329 Resync grub-mkdevicemap in x86_64-efi.
7330
7331 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
7332 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
7333 `util/devicemap.c'.
7334
7335 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
7336
7337 * util/grub-editenv.c (create_envblk_file): Write new block with a
7338 .new suffix and then rename it into place, to ensure atomic
7339 creation.
7340
7341 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
7342
7343 Do not automatically install headers.
7344
7345 * Makefile.in (include_DATA): Remove. Update all users.
7346
7347 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
7348
7349 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
7350 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
7351
7352 * util/osdetect.lua: Remove.
7353 * script/lua/lauxlib.c: Likewise.
7354 * script/lua/ldebug.c: Likewise.
7355 * script/lua/grub_main.c: Likewise.
7356 * script/lua/lauxlib.h: Likewise.
7357 * script/lua/ldebug.h: Likewise.
7358 * script/lua/ltablib.c: Likewise.
7359 * script/lua/liolib.c: Likewise.
7360 * script/lua/lstrlib.c: Likewise.
7361 * script/lua/lualib.h: Likewise.
7362 * script/lua/ldo.c: Likewise.
7363 * script/lua/ldump.c: Likewise.
7364 * script/lua/ldo.h: Likewise.
7365 * script/lua/loslib.c: Likewise.
7366 * script/lua/lundump.c: Likewise.
7367 * script/lua/grub_lib.c: Likewise.
7368 * script/lua/ldblib.c: Likewise.
7369 * script/lua/lundump.h: Likewise.
7370 * script/lua/lmem.c: Likewise.
7371 * script/lua/grub_lib.h: Likewise.
7372 * script/lua/lmathlib.c: Likewise.
7373 * script/lua/lstate.c: Likewise.
7374 * script/lua/ltm.c: Likewise.
7375 * script/lua/lvm.c: Likewise.
7376 * script/lua/lmem.h: Likewise.
7377 * script/lua/lstate.h: Likewise.
7378 * script/lua/ltm.h: Likewise.
7379 * script/lua/ltable.c: Likewise.
7380 * script/lua/lvm.h: Likewise.
7381 * script/lua/llex.c: Likewise.
7382 * script/lua/lgc.c: Likewise.
7383 * script/lua/grub_lua.h: Likewise.
7384 * script/lua/loadlib.c: Likewise.
7385 * script/lua/lfunc.c: Likewise.
7386 * script/lua/lopcodes.c: Likewise.
7387 * script/lua/lparser.c: Likewise.
7388 * script/lua/ltable.h: Likewise.
7389 * script/lua/llex.h: Likewise.
7390 * script/lua/lgc.h: Likewise.
7391 * script/lua/lfunc.h: Likewise.
7392 * script/lua/lbaselib.c: Likewise.
7393 * script/lua/lopcodes.h: Likewise.
7394 * script/lua/lparser.h: Likewise.
7395 * script/lua/lzio.c: Likewise.
7396 * script/lua/linit.c: Likewise.
7397 * script/lua/lobject.c: Likewise.
7398 * script/lua/llimits.h: Likewise.
7399 * script/lua/lstring.c: Likewise.
7400 * script/lua/lzio.h: Likewise.
7401 * script/lua/lapi.c: Likewise.
7402 * script/lua/lcode.c: Likewise.
7403 * script/lua/lua.h: Likewise.
7404 * script/lua/lobject.h: Likewise.
7405 * script/lua/lstring.h: Likewise.
7406 * script/lua/lapi.h: Likewise.
7407 * script/lua/lcode.h: Likewise.
7408 * script/lua/luaconf.h: Likewise.
7409
7410 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
7411
7412 * docs/grub.texi (Command-line and menu entry commands): Document
7413 date and echo commands.
7414
7415 2009-09-24 Pavel Roskin <proski@gnu.org>
7416
7417 * include/grub/kernel.h (struct grub_module_header): Remove
7418 `grub_module_header_types'. Make `type' unsigned. Make `size'
7419 32-bit on all platforms.
7420 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
7421 8-bit field. Use grub_host_to_target32() for `size'.
7422 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
7423 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
7424 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
7425
7426 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7427
7428 Fix "lost keypress" bug in at_keyboard.
7429
7430 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
7431 Checks for readyness of input buffer (without flushing it).
7432 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
7433 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
7434
7435 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7436
7437 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
7438 size check within GRUB_MACHINE_PCBIOS section.
7439
7440 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7441
7442 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
7443 return value.
7444 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
7445 KEYBOARD_ISREADY check.
7446 (grub_at_keyboard_checkkey): Rename to ...
7447 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
7448 Remove gratuitous cast.
7449
7450 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
7451
7452 * configure.ac: Call AC_PROG_MKDIR_P.
7453 * Makefile.in (docs/stamp-vti): Create docs directory. Create
7454 version.texi in $(builddir) rather than $(srcdir).
7455 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
7456 to makeinfo's @include search path.
7457
7458 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7459
7460 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
7461
7462 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7463
7464 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
7465 for `*.dpkg-new'.
7466
7467 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
7468
7469 Build info documentation. Some code borrowed from Automake.
7470
7471 * configure.ac: Check for makeinfo.
7472 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
7473 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
7474 docs/version.texi.
7475 (MOSTLYCLEANFILES): Add vti.tmp.
7476 (docs/version.texi, docs/stamp-vti): Update automatically.
7477 (docs/grub.info): Build info documentation. Use --force and ignore
7478 errors for now.
7479 (all-local): Add $(INFOS).
7480 (install-local): Install info files.
7481 (uninstall): Uninstall info files.
7482 * docs/version.texi: Remove from revision control. This file is
7483 automatically generated on build now.
7484 * gendistlist.sh: Add `*.info'.
7485
7486 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7487
7488 * kern/term.c: Fix indentation.
7489
7490 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7491
7492 * util/hostdisk.c: Fix a comment.
7493
7494 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
7495
7496 Fix regression introduced in r2539.
7497
7498 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
7499 to 0xA1.
7500
7501 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
7502
7503 * util/grub.d/30_os-prober.in: Don't throw away stderr from
7504 os-prober. Under normal operation, it does not print anything to
7505 stderr; if it does, we need to debug it, and throwing away stderr
7506 makes that excessively difficult.
7507
7508 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
7511
7512 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7513
7514 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
7515 AC_LANG_PROGRAM from autoconf.
7516 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
7517 prototypes (fixes warning).
7518
7519 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
7520 `--disable-werror' was used.
7521
7522 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7523
7524 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
7525 uninitialized `lastaddr'.
7526
7527 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
7530
7531 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7532
7533 * commands/test.c (get_fileinfo): Return immediately if
7534 grub_fs_probe fails.
7535
7536 2009-09-14 José Martínez <xosemp@gmail.com>
7537
7538 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
7539
7540 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7541
7542 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
7543 output.
7544
7545 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
7546
7547 * configure.ac: Remove --enable-grub-pe2elf. Only build
7548 grub-pe2elf when needed by the build system itself.
7549 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
7550
7551 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7552
7553 * configure.ac: Bump version to 1.97~beta3.
7554 * docs/version.texi: Likewise.
7555
7556 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7557
7558 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
7559 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
7560 from here ...
7561 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
7562 (grub_linux_setup_video): ... to here (with some adjustments).
7563
7564 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7565
7566 Fix memory corruption issue (spotted by Colin Watson).
7567
7568 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
7569 causing returned size to be stored in an incorrect memory location.
7570 Fix use of uninitialized value when storing the returned size.
7571
7572 2009-09-12 Yves Blusseau <blusseau@zetam.org>
7573
7574 Change clean rules to properly remove files
7575
7576 * genmk.rb: add new clean rules
7577 * Makefile.in (clean): add the new targets
7578 (mostlyclean): likewise
7579
7580 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7581
7582 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
7583 to grub_uint64_t.
7584 * fs/ntfs.c (init_file): Understand 64-bit sizes for
7585 non-resident files.
7586
7587 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7588
7589 * configure.ac: Don't look for help2man when cross-compiling. Fixes
7590 part of bug #27349.
7591
7592 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7593
7594 * util/grub-mkconfig.in: Make the created config mode 400 and
7595 print a warning if it fails.
7596
7597 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
7598
7599 * util/grub.d/40_custom.in: Ask user to type custom entries below
7600 comment, rather than below 'exec tail' line.
7601
7602 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7603
7604 * util/grub.d/40_custom.in: Make sure that the explanatory text is
7605 visible in grub.cfg.
7606
7607 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
7608
7609 * util/grub.d/40_custom.in: Make it a little clearer how to use this
7610 file.
7611
7612 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7613
7614 * docs/grub.cfg: Add an example menu entry for memtest86+.
7615
7616 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
7617
7618 * config.guess: Update to latest version from config git.
7619 * config.sub: Likewise.
7620
7621 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
7622
7623 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
7624 unknown-command case. Fixes bug #27320.
7625
7626 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
7627
7628 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
7629 `help' if the command exists.
7630
7631 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
7632
7633 * INSTALL: Require GCC 4.1.3 or later.
7634
7635 2009-09-06 Yves Blusseau <blusseau@zetam.org>
7636
7637 * Makefile.in (RMKFILES): add i386-qemu.rmk
7638 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
7639 $(srcdir)/stamp-h.in
7640
7641 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
7642
7643 * util/grub-probe.c (probe): Comment out buggy codepath, which
7644 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
7645 should be re-enabled after 1.97.
7646
7647 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
7648
7649 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
7650 find searches for.
7651
7652 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
7655 unnecessary calls to grub_error.
7656
7657 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
7658
7659 * NEWS: Mention `keystatus' and Unicode fonts.
7660
7661 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
7662
7663 * configure.ac: Bump version to 1.97~beta2.
7664 * docs/version.texi: Likewise.
7665
7666 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
7667
7668 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
7669 containing unwind information in some cases where it previously did
7670 not. Use -fno-dwarf2-cfi-asm if available to restore the old
7671 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
7672 discussion.
7673
7674 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
7675
7676 Embedding loadenv module into grub-emu
7677
7678 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
7679 commands/loadenv.c
7680 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
7681 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
7682 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
7683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
7684 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
7685 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
7686
7687 2009-09-03 Magnus Granberg <zorry@ume.nu>
7688
7689 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
7690 include -fPIE in the default specs.
7691 * configure.ac: Check if pie_possible is yes and add -fno-PIE
7692 to TARGET_CFLAGS.
7693
7694 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
7695
7696 * INSTALL: Note that GNU Bison 2.3 or later is required.
7697
7698 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
7699
7700 * kern/i386/pc/startup.S: Fix typo.
7701
7702 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
7705 according to GCS.
7706
7707 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7708
7709 * docs/grub.texi (Naming convention): Describe one-based partition
7710 numbering.
7711 (Device syntax): Likewise.
7712 (File name syntax): Likewise.
7713 (Block list syntax): Likewise.
7714 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
7715 menu.lst.
7716 (File name syntax): Likewise.
7717 (Command-line and menu entry commands): Document acpi, blocklist,
7718 crc, export, insmod, keystatus, ls, set, and unset commands.
7719
7720 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7721
7722 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
7723 to avoid implying that only one of --shift, --ctrl, or --alt may be
7724 used.
7725
7726 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
7727
7728 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
7729 rather than comparing against S_IFREG, which will almost never work.
7730
7731 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
7734 (write_blocklists): Likewise.
7735
7736 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
7737
7738 * script/lua/grub_lua.h (fputs): Supply a format string as the first
7739 argument to grub_printf.
7740
7741 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
7742
7743 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
7744 non GNU test.
7745
7746 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * kern/file.c (grub_file_read): Spelling fix
7749
7750 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
7753 loading of headers in some cases.
7754
7755 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
7756
7757 * configure.ac: Bump version to 1.97~beta1.
7758 * docs/version.texi: Likewise.
7759
7760 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * include/grub/i386/xnu.h: Add license header.
7763 include grub/err.h explicitly.
7764
7765 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7766
7767 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
7768 to `ufs' in the vfs.root.mountfrom kernel parameter.
7769
7770 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7771
7772 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
7773
7774 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
7775 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
7776
7777 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
7778 `ARRAY_SIZE' macro.
7779
7780 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 * kern/file.c (grub_file_read): Check offset.
7783 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
7784 * fs/jfs.c (grub_jfs_read_file): Likewise.
7785 * fs/ntfs.c (grub_ntfs_read): Likewise.
7786 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
7787 * fs/minix.c (grub_minix_read_file): Correct offset check.
7788 * fs/ufs.c (grub_ufs_read_file): Likewise.
7789
7790 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7791
7792 * term/i386/pc/console.c (bios_data_area): Cast
7793 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
7794
7795 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 1-bit optimised blitters.
7798
7799 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
7800 prototype.
7801 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7802 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7803 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7804 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7805 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7806 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7807 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
7808 function.
7809 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7810 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7811 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7812 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7813 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7814 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7815 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
7816 when possible.
7817 * video/video.c (grub_video_get_blit_format): Return
7818 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
7819
7820 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7821
7822 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
7823 the first argument to grub_printf.
7824
7825 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
7826 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
7827
7828 Add `getkeystatus' terminal method. Add a new `keystatus' command
7829 to query it.
7830
7831 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
7832 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
7833 modifier key bitmasks.
7834 (struct grub_term_input): Add `getkeystatus' member.
7835 (grub_getkeystatus): Add prototype.
7836 * kern/term.c (grub_getkeystatus): New function.
7837
7838 * include/grub/i386/pc/memory.h
7839 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
7840 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
7841 Data Area layout.
7842 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
7843 (grub_console_term_input): Set `getkeystatus' member.
7844 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
7845 constants.
7846 (grub_usb_keyboard_getreport): Likewise.
7847 (grub_usb_keyboard_checkkey): Likewise.
7848 (grub_usb_keyboard_getkeystatus): New function.
7849 (grub_usb_keyboard_term): Set `getkeystatus' member.
7850
7851 * commands/keystatus.c: New file.
7852 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
7853 (keystatus_mod_SOURCES): New variable.
7854 (keystatus_mod_CFLAGS): Likewise.
7855 (keystatus_mod_LDFLAGS): Likewise.
7856 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
7857 commands/keystatus.c.
7858 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7859 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7860 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7862 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7863 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7864
7865 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 Split befs.mod and afs.mod into *_be.mod and *.mod
7868
7869 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
7870 (grub_fstest_SOURCES): Likewise.
7871 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
7872 (afs_be_mod_SOURCES): New variable.
7873 (afs_be_mod_CFLAGS): Likewise.
7874 (afs_be_mod_LDFLAGS): Likewise.
7875 (befs_be_mod_SOURCES): Likewise.
7876 (befs_be_mod_CFLAGS): Likewise.
7877 (befs_be_mod_LDFLAGS): Likewise.
7878 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
7879 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7880 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7881 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7882 (grub_emu_SOURCES): Likewise.
7883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7884 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7885 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7886 * fs/afs_be.c: New file.
7887 * fs/befs_be.c: New file.
7888 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
7889 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
7890 (U16): Replaced with ...
7891 (grub_afs_to_cpu16): ...this. All users updated.
7892 (U32): Replaced with ...
7893 (grub_afs_to_cpu32): ...this. All users updated.
7894 (U64): Replaced with ...
7895 (grub_afs_to_cpu64): ...this. All users updated.
7896 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
7897 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
7898 (grub_afs_validate_sblock): Check only one endianness.
7899 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7900 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7901 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7902 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7903 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7904 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7905 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7906 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7907
7908 2009-08-26 Bean <bean123ch@gmail.com>
7909
7910 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
7911 64-bit number.
7912 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7913 (grub_xfs_inode_block): Change return type to grub_uint64_t.
7914 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
7915
7916 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 NetBSD memory map support.
7919
7920 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
7921 (grub_netbsd_btinfo_mmap_header): New structure.
7922 (grub_netbsd_btinfo_mmap_entry): Likewise.
7923 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
7924
7925 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 Enable bsd.mod on coreboot.
7928
7929 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
7930 (bsd_mod_SOURCES): New variable.
7931 (bsd_mod_CFLAGS): Likewise.
7932 (bsd_mod_LDFLAGS): Likewise.
7933 (bsd_mod_ASFLAGS): Likewise.
7934 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
7935 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
7936
7937 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 Cleanup NetBSD root support.
7940
7941 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
7942 grub_bsd_get_device.
7943 Fix typo.
7944
7945 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
7946
7947 * util/grub.d/00_header.in: Move check for the video backend of
7948 gfxterm from here ...
7949 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
7950 a suitable video backend.
7951
7952 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 Fix breakage in grub-setup.
7955
7956 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
7957 "msdos_partition_map".
7958
7959 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Fix breakage in normal/auth.c.
7962
7963 * normal/auth.c (grub_iswordseparator): New function.
7964
7965 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 Authentication support.
7968
7969 * commands/password.c: New file.
7970 * conf/common.rmk (pkglib_MODULES): Add password.mod.
7971 (password_mod_SOURCES): New variable.
7972 (password_mod_CFLAGS): Likewise.
7973 (password_mod_LDFLAGS): Likewise.
7974 (normal_mod_SOURCES): Add normal/auth.c.
7975 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
7976 normal/auth.c.
7977 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7978 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7979 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7982 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7983 * include/grub/auth.h: New file.
7984 * include/grub/err.h (grub_err_t): New enum value
7985 GRUB_ERR_ACCESS_DENIED.
7986 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
7987 'users'.
7988 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
7989 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
7990 users updated.
7991 * normal/auth.c: New file.
7992 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
7993 (grub_cmdline_run): Don't allow to go to command line without
7994 authentication.
7995 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
7996 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
7997 menuentry without superuser rights.
7998 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
7999 user isn't a superuser.
8000
8001 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 Save space by inlining misc.c functions.
8004
8005 * kern/misc.c (grub_iswordseparator): Made static.
8006 * kern/misc.c (grub_strcat): Moved from here ...
8007 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8008 * kern/misc.c (grub_strncat): Moved from here ...
8009 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8010 * kern/misc.c (grub_strcasecmp): Moved from here ...
8011 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8012 * kern/misc.c (grub_strncasecmp): Moved from here ...
8013 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8014 * kern/misc.c (grub_isalpha): Moved from here ...
8015 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8016 * kern/misc.c (grub_isdigit): Moved from here ...
8017 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8018 * kern/misc.c (grub_isgraph): Moved from here ...
8019 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8020 * kern/misc.c (grub_tolower): Moved from here ...
8021 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8022
8023 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * script/sh/function.c (grub_script_function_find): Cut error message
8026 not to flood terminal.
8027 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8028 limit.
8029 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8030
8031 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
8032
8033 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8034 `report' grub_uint8_t *.
8035 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8036 Use a 50-millisecond timeout rather than just repeating
8037 grub_usb_keyboard_getreport 50 times.
8038 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8039
8040 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 Rename *_partition_map to part_*
8043
8044 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8045 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8046 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8047 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8048 All users updated.
8049 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8050 All users updated.
8051 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8052 * util/grub-probe.c (probe_partmap): Don't transform partition name
8053 to get module name.
8054
8055 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Fix OpenBSD and NetBSD support.
8058
8059 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8060 memory address conflict.
8061 (OPENBSD_MMAP_ACPI): New definition.
8062 (OPENBSD_MMAP_NVS): Likewise.
8063 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8064 and OPENBSD_MMAP_NVS.
8065 Add memory map terminator
8066 Explicit cast when calling grub_unix_real_boot.
8067 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
8068
8069 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 Let user specify NetBSD root device.
8072
8073 * loader/i386/bsd.c (netbsd_root): New variable.
8074 (netbsd_opts): New option 'root'.
8075 (NETBSD_ROOT_ARG): New macro.
8076 (grub_netbsd_boot): Use 'netbsd_root'.
8077 (grub_bsd_unload): Free 'netbsd_root'.
8078 (grub_cmd_netbsd): Fill 'netbsd_root'.
8079
8080 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 Support for 64-bit NetBSD.
8083
8084 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8085 point when booting non-FreeBSD.
8086
8087 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 Support --no-smp and --no-acpi for NetBSD.
8090
8091 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8092 (NETBSD_AB_NOACPI): Likewise.
8093 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8094 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8095
8096 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8099 errors.
8100 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8101 errors. Call grub_error when needed.
8102
8103 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * commands/search.c (search_fs): Try searching without autoload first.
8106 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8107 filesystem module explicitly for faster booting.
8108
8109 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8110
8111 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8112
8113 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8114
8115 * util/grub.d/30_os-prober.in: Disable os-prober if
8116 `GRUB_DISABLE_OS_PROBER' was set to true.
8117
8118 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8119
8120 * partmap/pc.c: Rename to ...
8121 * partmap/msdos.c: ... this. Update all users.
8122 (grub_pc_partition_map): Rename to ...
8123 (grub_msdos_partition_map): ... this. Update all users.
8124
8125 * parttool/pcpart.c: Rename to ...
8126 * parttool/msdospart.c: ... this. Update all users.
8127
8128 * include/grub/pc_partition.h: Rename to ...
8129 * include/grub/msdos_partition.h: ... this. Update all users.
8130 (grub_pc_partition_bsd_entry): Rename to ...
8131 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8132 (grub_pc_partition_disk_label): Rename to ...
8133 (grub_msdos_partition_disk_label): ... this. Update all users.
8134 (grub_pc_partition_entry): Rename to ...
8135 (grub_msdos_partition_entry): ... this. Update all users.
8136 (grub_pc_partition_mbr): Rename to ...
8137 (grub_msdos_partition_mbr): ... this. Update all users.
8138 (grub_pc_partition): Rename to ...
8139 (grub_msdos_partition): ... this. Update all users.
8140 (grub_pc_partition_is_empty): Rename to ...
8141 (grub_msdos_partition_is_empty): ... this. Update all users.
8142 (grub_pc_partition_is_extended): Rename to ...
8143 (grub_msdos_partition_is_extended): ... this. Update all users.
8144 (grub_pc_partition_is_bsd): Rename to ...
8145 (grub_msdos_partition_is_bsd): ... this. Update all users.
8146
8147 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8148 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8149 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8150 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8151 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8152 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8153 (gpt_mod_LDFLAGS): Rename to ...
8154 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8155 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8156 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8157 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8158 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8159 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8160 (part_gpt_mod_LDFLAGS): ... this.
8161 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8162 `pcpart.mod' to `msdospart.mod'.
8163 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8164 to ...
8165 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8166 (msdospart_mod_LDFLAGS): ... this.
8167
8168 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8171 (openbsd_opts): Likewise.
8172 (netbsd_opts): Likewise.
8173 (freebsd_flags): Added 0 terminator.
8174 (openbsd_flags): Likewise.
8175 (netbsd_flags): Likewise.
8176 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8177 (grub_cmd_freebsd): Transformed into extended command.
8178 (grub_cmd_openbsd): Likewise.
8179 (grub_cmd_netbsd): Likewise.
8180 (cmd_freebsd): Changed type to grub_extcmd_t.
8181 (cmd_openbsd): Likewise.
8182 (cmd_netbsd): Likewise.
8183 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8184 grub_cmd_openbsd as extended commands.
8185 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8186 cmd_netbsd and cmd_openbsd
8187
8188 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8191
8192 2009-08-21 Pavel Roskin <proski@gnu.org>
8193
8194 * Makefile.in (install-local): When checking if a file is in the
8195 build directory, use "test -e" to detect symlinks.
8196
8197 * Makefile.in (install-local): Remove all files in
8198 $(DESTDIR)$(pkglibdir) before installing new files there.
8199
8200 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8201
8202 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8203 grub-mkelfimage.
8204
8205 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8206
8207 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8208 explicitly specified by the user.
8209
8210 2009-08-18 Pavel Roskin <proski@gnu.org>
8211
8212 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8213 grub_uint8_t pointer for data.
8214 * include/grub/fbutil.h (struct grub_video_fbblit_info):
8215 Likewise.
8216 * video/fb/fbutil.c: Remove unnecessary casts.
8217
8218 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8219
8220 VBE cleanup.
8221
8222 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
8223 (grub_vbe_set_video_mode): Save active mode info
8224 only after setting the mode.
8225 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
8226 second argument.
8227
8228 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8229
8230 Rename variables for clarity.
8231
8232 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
8233 (active_vbe_mode_info): ... this. All users updated.
8234 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
8235 All users updated.
8236 (initial_mode): Rename to ...
8237 (initial_vbe_mode): ... this. All users updated.
8238 (mode_in_use): Rename to ..
8239 (vbe_mode_in_use): ... this. All users updated.
8240 (mode_list): Rename to ..
8241 (vbe_mode_list): ... this. All users updated.
8242 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
8243 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
8244 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
8245 'mode_list_size' to 'vbe_mode_list_size'.
8246 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
8247 'best_mode_info' to 'best_vbe_mode_info' and
8248 'best_mode' to 'best_vbe_mode'
8249
8250 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8251
8252 Remove duplicate grub_video_fb_get_video_ptr.
8253
8254 * include/grub/fbutil.h (get_data_ptr): Rename to ...
8255 (grub_video_fb_get_video_ptr): ... this.
8256 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
8257 * video/fb/fbutil.c: Add comment about addressing.
8258 (get_data_ptr): Rename to ...
8259 (grub_video_fb_get_video_ptr): ... this. All users updated.
8260 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
8261
8262 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8263
8264 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
8265 grub_dprintf() that was just added.
8266
8267 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8268
8269 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
8270 (DEFAULT_VIDEO_MODE): Remove macros.
8271 (grub_linux_boot): Remove assumption that Linux has FB support,
8272 and use "text" as default video mode.
8273
8274 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
8277 grub_dprintf.
8278 * fs/fat.c (grub_fat_read_data): Likewise.
8279
8280 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
8283 payload.
8284 (grub_module): Likewise.
8285
8286 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
8289 mbi->cmdline but free playground.
8290
8291 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 Handle group offset on UFS1.
8294
8295 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
8296 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
8297
8298 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 Split ufs.mod into ufs1.mod and ufs2.mod.
8301
8302 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
8303 (grub_fstest_SOURCES): Likewise.
8304 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
8305 (ufs_mod_SOURCES): Remove.
8306 (ufs_mod_CFLAGS): Likewise.
8307 (ufs_mod_LDFLAGS): Likewise.
8308 (ufs1_mod_SOURCES): New variable.
8309 (ufs1_mod_CFLAGS): Likewise.
8310 (ufs1_mod_LDFLAGS): Likewise.
8311 (ufs2_mod_SOURCES): New variable.
8312 (ufs2_mod_CFLAGS): Likewise.
8313 (ufs2_mod_LDFLAGS): Likewise.
8314 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
8315 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8316 Likewise.
8317 (grub_emu_SOURCES): Likewise.
8318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8320 (grub_setup_SOURCES): Likewise.
8321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8322 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
8323 (grub_setup_SOURCES): Likewise.
8324 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8325 Likewise.
8326 * fs/ufs2.c: New file.
8327 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
8328
8329 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 Framebuffer split.
8332
8333 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
8334 subsystem at the end.
8335 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
8336 (video_fb_mod_SOURCES): New variable.
8337 (video_fb_mod_CFLAGS): Likewise.
8338 (video_fb_mod_LDFLAGS): Likewise.
8339 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
8340 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
8341 * video/i386/pc/vbeblit.c: Moved from here ...
8342 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
8343 * video/i386/pc/vbefill.c: Moved from here ...
8344 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
8345 * video/i386/pc/vbeutil.c: Moved from here ...
8346 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
8347 * include/grub/i386/pc/vbeblit.h: Moved from here ...
8348 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
8349 * include/grub/i386/pc/vbefill.h: Moved from here ...
8350 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
8351 * include/grub/i386/pc/vbeutil.h: Moved from here ...
8352 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
8353 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
8354 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
8355 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
8356 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
8357 (grub_video_adapter): Added 'get_info_and_fini'.
8358 (grub_video_get_info_and_fini): New prototype.
8359 (grub_video_set_mode): make modestring const char *.
8360 * loader/i386/linux.c (grub_linux_setup_video): Use
8361 grub_video_get_info_and_fini.
8362 (grub_linux_boot): Move modesetting just before booting.
8363 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
8364 grub_video_get_info_and_fini.
8365 * video/i386/pc/vbe.c: Moved framebuffer part ...
8366 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
8367 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
8368 grub_video_fbstd_colors and grub_video_fb_set_palette.
8369 (grub_video_vbe_init): Clear 'framebuffer' variable and use
8370 grub_video_fb_init.
8371 (grub_video_vbe_fini): Use grub_video_fb_fini.
8372 (grub_video_vbe_setup): Use framebuffer.render_target instead of
8373 render_target and use grub_video_fb_set_active_render_target and
8374 grub_video_fb_set_palette.
8375 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
8376 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
8377 (grub_video_vbe_adapter): Use framebuffer.
8378 * video/video.c (grub_video_get_info_and_fini): New function.
8379 (grub_video_set_mode): Make modestring const char *.
8380 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
8381 values are already initialised.
8382
8383 2009-08-14 Pavel Roskin <proski@gnu.org>
8384
8385 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
8386 ABS and APPLE_CC.
8387 * boot/i386/pc/diskboot.S: Likewise.
8388 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
8389 sectors allow compilation on MacOSX.
8390 * conf/i386-pc.rmk: Enable unconditional compilation of
8391 lnxboot.img.
8392
8393 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
8394
8395 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
8396 * util/grub.d/00_header.in: Enter interruptible sleep if
8397 GRUB_HIDDEN_TIMEOUT is set.
8398
8399 2009-08-13 Yves Blusseau <blusseau@zetam.org>
8400
8401 * include/grub/symbol.h: Add the LOCAL macro.
8402 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
8403 starting with "L_".
8404
8405 2009-08-13 Pavel Roskin <proski@gnu.org>
8406
8407 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
8408 any modern compilers we support.
8409
8410 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
8411 Use local labels starting with "L_" so that Apple assembler
8412 knows they are local.
8413
8414 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
8415
8416 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
8417 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
8418 (bsd_kernel_types): ... this enum.
8419
8420 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
8421 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
8422 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
8423
8424 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
8425 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
8426 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
8427 messages.
8428
8429 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8430
8431 * util/grub-dumpdevtree: Moved from here ...
8432 * util/i386/efi/grub-dumpdevtree: ... to here.
8433 (hexify): New function. Converts a string to its hex version.
8434 Generate hex versions of "efi" and "device-properties" by calling
8435 hexify() on the ASCII strings rather than by hardcoding numbers.
8436
8437 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8438
8439 * fs/jfs.c: Update copyright year.
8440
8441 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8442
8443 * util/grub.d/00_header.in: Fix a comment.
8444 * util/grub.d/10_linux.in: Likewise.
8445 * util/grub.d/10_windows.in: Likewise.
8446 * util/grub.d/10_hurd.in: Likewise.
8447
8448 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8449
8450 * util/grub-mkconfig.in: Allow the user to specify the used font
8451 with GRUB_FONT.
8452
8453 2009-08-08 Pavel Roskin <proski@gnu.org>
8454
8455 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
8456 available, xfs.mod needs it now.
8457
8458 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
8459 the "g" modifier in sed when the intention is to strip something
8460 once. This fixes comparison of kernels with multiple dashes.
8461
8462 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
8463 on it. Add missing space before closing bracket. Fix
8464 misleading formatting.
8465
8466 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8467
8468 * docs/grub.texi: Major overhaul. Remove all sections that are
8469 specific to GRUB Legacy, or mostly composed of Legacy-specific
8470 information.
8471
8472 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8473
8474 * docs/version.texi: New file. Provides version information for
8475 grub.texi.
8476
8477 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8478
8479 * docs/grub.texi: Update CVS information to SVN.
8480 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
8481
8482 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8483
8484 * util/grub-mkconfig.in: Remove a wrong `fi'.
8485
8486 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8487
8488 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
8489 (grub_jfs_uuid): New function.
8490 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
8491
8492 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8493
8494 * util/grub-mkconfig_lib.in (font_path): Move the functionality
8495 of it to ...
8496 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
8497 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
8498
8499 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8500
8501 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
8502 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
8503 Update all users.
8504
8505 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
8506 not just "vmlinu[zx]".
8507 Moved from here ...
8508 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
8509 all users.
8510
8511 * util/grub.d/10_linux.in (find_latest): Moved from here ...
8512 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
8513 all users.
8514
8515 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8516
8517 * util/grub.d/10_freebsd.in: Use an absolute device path for
8518 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
8519
8520 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
8521
8522 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
8523 handling of multiple abstraction modules.
8524
8525 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
8526
8527 Fix a bug resulting in black screen when loading Linux using a
8528 packed video mode.
8529
8530 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
8531 function.
8532
8533 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
8534 (grub_vbe_bios_getset_dac_palette_width): New function.
8535 (grub_vbe_bios_get_dac_palette_width)
8536 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
8537 grub_vbe_bios_getset_dac_palette_width()).
8538
8539 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
8540 check for return status.
8541 (grub_vbe_get_video_mode_info): When getting information for a packed
8542 mode (<= 8 bpp), obtain DAC palette width using
8543 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
8544 {red,green,blue}_mark_size.
8545
8546 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
8547
8548 * commands/search.c (options): Fix help output to match actual code.
8549
8550 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
8553 of homegrown code.
8554
8555 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
8558 on XFS or ReiserFS.
8559
8560 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 Support Apple partition map with sector size different from 512 bytes.
8563
8564 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
8565 (apple_partition_map_iterate): Respect 'aheader.blocksize'
8566 and 'apart.partmap_size'.
8567
8568 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8569 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
8570
8571 Fix cpuid command.
8572
8573 * commands/i386/cpuid.c (options): New variable.
8574 (grub_cmd_cpuid): Return real error.
8575 (GRUB_MOD_INIT(cpuid)): Declare options.
8576
8577 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
8580 valid.
8581
8582 2009-07-31 Bean <bean123ch@gmail.com>
8583
8584 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
8585 log2_inode.
8586 (grub_fshelp_node): Move inode field to the end.
8587 (grub_xfs_data): Remove inode field.
8588 (grub_xfs_inode_block): Calculate inode size using sblock.
8589 (grub_xfs_inode_offset): Likewise.
8590 (grub_xfs_read_inode): Calculate inode size using sblock.
8591 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
8592 (grub_xfs_iterate_dir): Calculate inode size using sblock.
8593 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
8594 to match inode size.
8595 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
8596 not accessible when data is null.
8597 (grub_xfs_open): Likewise.
8598
8599 2009-07-31 Bean <bean123ch@gmail.com>
8600
8601 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
8602 Don't change pv->disk if it's already set.
8603
8604 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
8605 (grub_raid_register): ... here.
8606 (grub_raid_rescan): Removed.
8607
8608 * include/grub/raid.h (grub_raid_rescan): Removed.
8609
8610 * util/grub-fstest.c: Remove include file <grub/raid.h>.
8611 (fstest): Replace grub_raid_rescan with module fini function followed
8612 by init function.
8613
8614 * util/grub-probe.c: Add include file <grub/raid.h>.
8615 (probe_raid_level): New function.
8616 (probe): Detect abstraction by walking the disk device, support two
8617 level of abstraction (LVM on RAID) when detecting partition map.
8618
8619 2009-07-31 Pavel Roskin <proski@gnu.org>
8620
8621 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
8622 to grub_zalloc(), it was erroneous.
8623 Reported by Bean <bean123ch@gmail.com>
8624
8625 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
8628 embedding zone, not only the first one.
8629
8630 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
8631
8632 * term/gfxterm.c (clear_char): New function.
8633 (grub_virtual_screen_setup): Use clear_char.
8634 (scroll_up): Likewise.
8635 (grub_virtual_screen_cls): Likewise.
8636
8637 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
8638
8639 * util/deviceiter.c (get_acceleraid_disk_name): New static
8640 function.
8641 (grub_util_iterate_devices): Handle Accelraid devices.
8642 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
8643
8644 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
8645
8646 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
8647 separator for the suggested gfxpayload string (';' collides with the
8648 parser and needs escaping).
8649
8650 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
8653 Clear direction flag before jumping to OS.
8654 (grub_multiboot2_real_boot): Likewise.
8655
8656 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
8657
8658 * util/i386/pc/grub-install: Fix parsing of --disk-module
8659 option.
8660
8661 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
8662
8663 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
8664 when embedding.
8665
8666 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
8667
8668 * util/grub-mkconfig.in (package_version): New variable.
8669 Use it do display the version.
8670
8671 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
8672
8673 * kern/file.c (grub_file_open): Revert to previous check with
8674 grub_errno.
8675
8676 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
8679 from help line. It's out of sync with code.
8680
8681 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
8684 entries on failed boot.
8685
8686 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
8687
8688 * kern/file.c (grub_file_open): Fix an error check.
8689
8690 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
8693 partition map couldn't be identified.
8694
8695 2009-07-23 Pavel Roskin <proski@gnu.org>
8696
8697 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
8698 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
8699 case of little endian words becomes just an optimization.
8700 Respect const modifier.
8701 (md5_final): Use code that doesn't depend on endianness.
8702
8703 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
8704 to avoid loss of upper bits if align is unsigned and shorter
8705 than addr.
8706
8707 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 UUID support for UFS
8710
8711 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
8712 (grub_ufs_uuid): New function.
8713 (grub_ufs_fs): add .uuid
8714
8715 2009-07-21 Pavel Roskin <proski@gnu.org>
8716
8717 * kern/dl.c (grub_dl_check_header): Make static.
8718
8719 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
8720
8721 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
8722 add drivemap for Vista. It breaks Windows 7.
8723
8724 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
8727 128 bytes
8728
8729 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 Add BFS support
8732
8733 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
8734 (grub_fstest_SOURCES): Likewise.
8735 (pkglib_MODULES): Add befs.mod.
8736 (befs_mod_SOURCES): New variable.
8737 (befs_mod_CFLAGS): Likewise.
8738 (befs_mod_LDFLAGS): Likewise.
8739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8740 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8741 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8742 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8743 (grub_setup_SOURCES): Likewise.
8744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8745 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8746 (grub_setup_SOURCES): Likewise.
8747 * fs/befs.c: New file.
8748 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
8749 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
8750 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
8751 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
8752 (B_KEY_INDEX_ALIGN): New declaration.
8753 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
8754 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
8755 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
8756 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
8757 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
8758 (grub_afs_mount) [MODE_BFS]: Likewise.
8759 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
8760 (grub_afs_fs): Use GRUB_AFS_FSNAME
8761 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
8762 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
8763 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
8764 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
8765
8766 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
8767
8768 * util/getroot.c (find_root_device): Add support for MacOSX.
8769 * util/hostdisk.c: Likewise.
8770
8771 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * font/font.c (find_glyph): Check whether a font is present to avoid
8774 segmentation fault.
8775
8776 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
8777
8778 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
8779
8780 2009-07-20 Pavel Roskin <proski@gnu.org>
8781
8782 * configure.ac: Trim excessively wordy excuses.
8783
8784 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 Add symlink, mtime and label support to AtheFS.
8787
8788 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
8789 (grub_afs_iterate_dir): Handle symlinks.
8790 (grub_afs_open): Use grub_afs_read_symlink.
8791 (grub_afs_dir): Likewise.
8792 Pass mtime.
8793 (grub_afs_label): New function.
8794 (grub_afs_fs): Add grub_afs_label.
8795 (grub_afs_read_symlink): New function.
8796
8797 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 Fix AtheFS support.
8800
8801 * fs/afs.c: Fix comments style.
8802 (grub_afs_blockrun): Declare as packed.
8803 (grub_afs_datastream): Likewise.
8804 (grub_afs_bnode): Likewise.
8805 (grub_afs_btree): Likewise.
8806 (grub_afs_sblock): Likewise.
8807 Declare `name' as char.
8808 (grub_afs_inode): Declare as packed.
8809 Change void *vnode to grub_uint32_t unused.
8810 (grub_afs_iterate_dir): Check that key_size is positive.
8811 (grub_afs_mount): Don't read superblock twice.
8812 (grub_afs_dir): Don't free node in case of error,
8813 grub_fshelp_find_file already handles this.
8814 (grub_afs_open): Likewise.
8815
8816 2009-07-19 Pavel Roskin <proski@gnu.org>
8817
8818 * Makefile.in: Remove LIBLZO and enable_lzo.
8819 * conf/i386-pc.rmk: Remove lzo support.
8820 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
8821 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
8822 support.
8823 * kern/i386/pc/lzo1x.S: Remove.
8824 * kern/i386/pc/startup.S: Remove lzo support.
8825 * util/i386/pc/grub-mkimage.c: Likewise.
8826
8827 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
8830 * fs/xfs.c (grub_xfs_dir): Likewise.
8831 * fs/afs.c (grub_afs_dir): Likewise.
8832 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8833 (grub_iso9660_open): Likewise.
8834 * fs/jfs.c (grub_jfs_open): Likewise.
8835 * fs/ext2.c (grub_ext2_dir): Likewise.
8836 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
8837 * script/sh/lexer.c (grub_script_yylex): Likewise.
8838
8839 2009-07-16 Pavel Roskin <proski@gnu.org>
8840
8841 * configure.ac: Never add "-c" to CFLAGS.
8842
8843 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
8844
8845 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
8846 grub_cv_cc_efiemu should be used.
8847
8848 * configure.ac: Typo fixes.
8849
8850 * kern/mm.c (grub_zalloc): New function.
8851 (grub_debug_zalloc): Likewise.
8852 * include/grub/mm.h: Declare grub_zalloc() and
8853 grub_debug_zalloc().
8854 * util/misc.c (grub_zalloc): New function.
8855 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
8856 instead of grub_malloc(), remove unneeded initializations.
8857 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
8858 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
8859 * commands/parttool.c (grub_cmd_parttool): Likewise.
8860 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8861 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
8862 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
8863 * disk/usbms.c (grub_usbms_finddevs): Likewise.
8864 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
8865 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
8866 (grub_cmd_efiemu_pnvram): Likewise.
8867 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
8868 * fs/iso9660.c (grub_iso9660_mount): Likewise.
8869 (grub_iso9660_iterate_dir): Likewise.
8870 * fs/jfs.c (grub_jfs_opendir): Likewise.
8871 * fs/ntfs.c (list_file): Likewise.
8872 (grub_ntfs_mount): Likewise.
8873 * kern/disk.c (grub_disk_open): Likewise.
8874 * kern/dl.c (grub_dl_load_core): Likewise.
8875 * kern/elf.c (grub_elf_file): Likewise.
8876 * kern/env.c (grub_env_context_open): Likewise.
8877 (grub_env_set): Likewise.
8878 (grub_env_set_data_slot): Likewise.
8879 * kern/file.c (grub_file_open): Likewise.
8880 * kern/fs.c (grub_fs_blocklist_open): Likewise.
8881 * loader/i386/multiboot.c (grub_module): Likewise.
8882 * loader/xnu.c (grub_xnu_create_key): Likewise.
8883 (grub_xnu_create_value): Likewise.
8884 * normal/main.c (grub_normal_add_menu_entry): Likewise.
8885 (read_config_file): Likewise.
8886 * normal/menu_entry.c (make_screen): Likewise.
8887 * partmap/sun.c (sun_partition_map_iterate): Likewise.
8888 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
8889 * script/sh/script.c (grub_script_parse): Likewise.
8890 * video/bitmap.c (grub_video_bitmap_create): Likewise.
8891 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8892 * video/readers/png.c (grub_png_output_byte): Likewise.
8893 (grub_video_reader_png): Likewise.
8894
8895 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 Enable all targets that can be built by default
8898
8899 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
8900 grub-mkfont and grub-fstest if they can be built
8901
8902 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 Fix hang and segmentation fault in grub-emu-usb
8905
8906 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
8907 * util/usb.c (grub_libusb_devices): likewise
8908 (grub_libusb_init): rename to ...
8909 (GRUB_MOD_INIT (libusb)):...this
8910 (grub_libusb_fini): rename to ..
8911 (GRUB_MOD_FINI (libusb)):...this
8912 * disk/usbms.c (grub_usbms_transfer): fix retry logic
8913 * include/grub/disk.h (grub_raid_init): removed, it's useless
8914 (grub_raid_fini): likewise
8915 (grub_lvm_init): likewise
8916 (grub_lvm_fini): likewise
8917 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
8918 by grub_init_all
8919
8920 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 Fix libusb
8923
8924 * Makefile.in (LIBUSB): new macro
8925 * genmk.rb (Utility/print_tail): new method
8926 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
8927 (top level): call util.print_tail at the end.
8928
8929 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Make FreeBSD accept zpool.cache
8932
8933 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
8934 type is /boot/zfs/zpool.cache
8935
8936 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 Fix 64-bit efiemu
8939
8940 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
8941 correct wrong typedef
8942 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
8943
8944 2009-07-15 Pavel Roskin <proski@gnu.org>
8945
8946 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
8947 * kern/disk.c (struct grub_disk_cache): Likewise.
8948
8949 * commands/probe.c (options): Typo fix.
8950
8951 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
8952 Increase to 0x5a to accommodate FAT32. Adjust other offsets
8953 accordingly.
8954 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
8955
8956 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
8957 the end of "Error" to make the message more readable.
8958
8959 * boot/i386/pc/boot.S (kernel_segment): Remove.
8960 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
8961 for destination.
8962
8963 * boot/i386/pc/boot.S (boot_version): Remove.
8964 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8965 Remove.
8966
8967 * include/grub/i386/pc/boot.h: Sort all offsets.
8968 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
8969 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
8970 * boot/i386/pc/boot.S: Assert location of every offset listed in
8971 include/grub/i386/pc/boot.h.
8972
8973 2009-07-13 Pavel Roskin <proski@gnu.org>
8974
8975 * include/grub/i386/coreboot/machine.h: Rename
8976 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
8977 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
8978 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
8979
8980 * kern/dl.c: Force native word size to suppress warnings when
8981 compiling grub-emu.
8982
8983 * kern/device.c (grub_device_iterate): Change struct part_ent to
8984 hold the name, not a pointer to it. Use one grub_malloc() per
8985 partition, not two. Free partition_name if grub_malloc() fails.
8986 Set ents to NULL only before grub_partition_iterate() is called.
8987
8988 2009-07-11 Bean <bean123ch@gmail.com>
8989
8990 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
8991 childname.
8992
8993 2009-07-10 Bean <bean123ch@gmail.com>
8994 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
8995
8996 * kern/ieee1275/openfw.c (grub_children_iterate)
8997 (grub_devalias_iterate): Fix size evaluation for property or path
8998 strings, which was broken since r2132.
8999
9000 2009-07-07 Pavel Roskin <proski@gnu.org>
9001
9002 * commands/search.c (search_file): Merge into ...
9003 (search_fs): ... this. Accept search type as argument.
9004 (grub_cmd_search): Pass search type to search_fs().
9005
9006 * include/grub/util/console.h: New file.
9007 * util/console.c: Use it instead of grub/machine/console.h.
9008 * util/grub-emu.c: Likewise.
9009
9010 * lib/arg.c (find_long_option): Remove.
9011 (find_long): Add `len' argument, make `s' const char *.
9012 (grub_arg_parse): Parse long options in place, not in a
9013 temporary buffer.
9014
9015 2009-07-06 Pavel Roskin <proski@gnu.org>
9016
9017 * commands/search.c (search_fs): Fix potential NULL pointer
9018 dereference.
9019
9020 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9021 function pointer.
9022
9023 2009-07-06 Daniel Mierswa <impulze@impulze.org>
9024
9025 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9026 comparison.
9027
9028 2009-07-05 Pavel Roskin <proski@gnu.org>
9029
9030 * include/grub/i386/linux.h (struct linux_kernel_params):
9031 Restore padding3, it's still needed.
9032
9033 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9034 FreeBSD.
9035 * util/osdetect.lua: Likewise.
9036
9037 2009-07-05 Bean <bean123ch@gmail.com>
9038
9039 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9040
9041 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9042 (grub_lua_getenv): Likewise.
9043 (grub_lua_setenv): Likewise.
9044 (save_errno): New function.
9045 (push_result): Likewise.
9046 (grub_lua_enum_device): Likewise.
9047 (grub_lua_enum_file): Likewise.
9048 (grub_lua_file_open): Likewise.
9049 (grub_lua_file_close): Likewise.
9050 (grub_lua_file_seek): Likewise.
9051 (grub_lua_file_read): Likewise.
9052 (grub_lua_file_getline): Likewise.
9053 (grub_lua_file_getsize): Likewise.
9054 (grub_lua_file_getpos): Likewise.
9055 (grub_lua_file_eof): Likewise.
9056 (grub_lua_file_exist): Likewise.
9057 (grub_lua_add_menu): Likewise.
9058
9059 * script/lua/grub_lua.h (isupper): New inline function.
9060 (islower): Likewise.
9061 (ispunct): Likewise.
9062 (isxdigit): Likewise.
9063 (strcspn): Change to normal function.
9064 (strpbkr): New function declaration.
9065 (memchr): Likewise.
9066
9067 * script/lua/grub_main.c (scan_str): New function.
9068 (strcspn): Likewise.
9069 (strpbrk): Likewise.
9070 (memchr): Likewise.
9071
9072 * script/lua/linit.c (lualibs): Enable the string library.
9073
9074 * util/osdetect.lua: New file.
9075
9076 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9077
9078 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9079 `capabilities' member.
9080
9081 2009-07-02 Pavel Roskin <proski@gnu.org>
9082
9083 * genparttoollist.sh: Add missing newline at the end.
9084
9085 2009-07-01 Pavel Roskin <proski@gnu.org>
9086
9087 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9088
9089 * util/hostdisk.c (open_device): Remove `const' from
9090 `sysctl_size', as sysctlbyname() can change it (in this case it
9091 doesn't actually happen).
9092
9093 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9094 using signed long int constants.
9095
9096 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9097 constant to avoid a warning on FreeBSD.
9098
9099 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9100 where it's needed.
9101
9102 * Makefile.in: Install include/grub/machine symlink.
9103
9104 * Makefile.in: When installing symlinks, use "cp -fR", which
9105 works on FreeBSD and MacOSX.
9106 From Yves Blusseau <cl7m42e02@sneakemail.com>
9107
9108 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9109 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9110
9111 * util/misc.c: Move grub_reboot() and grub_halt() ...
9112 * util/grub-emu.c: ... here. Make main_env static.
9113 * include/grub/util/misc.h: Remove main_env.
9114
9115 * kern/mm.c: Use correct format to print size_t.
9116
9117 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9118 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9119 * kern/powerpc/dl.c: Likewise.
9120 * kern/sparc64/dl.c: Likewise.
9121 * kern/x86_64/dl.c: Likewise.
9122
9123 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9124
9125 Fix grub-emu build on sparc64-ieee1275.
9126
9127 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
9128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9129
9130 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9131
9132 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9133 (grub_reboot, grub_halt): New functions.
9134
9135 * util/i386/pc/misc.c: Delete. Update all users.
9136 * util/sparc64/ieee1275/misc.c: Likewise.
9137 * util/powerpc/ieee1275/misc.c: Likewise.
9138
9139 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9140
9141 * conf/i386.rmk (setjmp_mod_SOURCES)
9142 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9143 * conf/common.rmk (setjmp_mod_SOURCES)
9144 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9145 to use $(target_cpu).
9146 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9147 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9148 * conf/powerpc-ieee1275.rmk: Likewise.
9149 * conf/sparc64-ieee1275.rmk: Likewise.
9150
9151 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9152 $(target_cpu) for kern/$(target_cpu)/dl.c.
9153 * conf/i386-efi.rmk: Likewise.
9154 * conf/i386-ieee1275.rmk: Likewise.
9155 * conf/x86_64-efi.rmk: Likewise.
9156 * conf/i386-coreboot.rmk: Likewise.
9157 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9158 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9159 kern/$(target_cpu)/cache.S.
9160 * conf/sparc64-ieee1275.rmk: Likewise.
9161
9162 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9163
9164 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9165 type to `grub_uint8_t', and adjust `padding9' accordingly.
9166
9167 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9168
9169 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9170
9171 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9172 assembly in final jump, using register constraints.
9173
9174 (grub_linux_boot): For text mode, initialize `have_vga' using
9175 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9176
9177 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9178 right before the final jump.
9179
9180 Set `video_mode' to 0x3.
9181
9182 Document initialization of `video_page', `video_mode' and
9183 `video_ega_bx'.
9184
9185 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9186
9187 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9188 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
9189 and set GRUB_LINUX_FLAG_QUIET appropriately.
9190
9191 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9192
9193 Fix build on Debian / sparc.
9194
9195 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9196
9197 2009-06-28 Pavel Roskin <proski@gnu.org>
9198
9199 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9200 fix a warning.
9201
9202 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9203
9204 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9205
9206 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9207 `err'.
9208
9209 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9210
9211 Revert r2338.
9212
9213 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
9214 file can't be opened. grub_file_open() is already supposed to set
9215 grub_errno / grub_errmsg appropriately.
9216 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9217
9218 2009-06-27 Pavel Roskin <proski@gnu.org>
9219 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9220
9221 * include/grub/dl.h: Include grub/elf.h.
9222 (struct grub_dl): Add symtab field.
9223 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
9224 GRUB_MODULES_MACHINE_READONLY.
9225 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
9226 of the header for read-only modules.
9227 (grub_dl_unload): Free mod->symtab for read-only modules.
9228 * kern/i386/dl.c: Use mod->symtab.
9229 * kern/powerpc/dl.c: Likewise.
9230 * kern/sparc64/dl.c: Likewise.
9231 * kern/x86_64/dl.c: Likewise.
9232
9233 * conf/i386-qemu.rmk: New file.
9234 * kern/i386/qemu/startup.S: Likewise.
9235 * kern/i386/qemu/mmap.c: Likewise.
9236 * boot/i386/qemu/boot.S: Likewise.
9237 * include/grub/i386/qemu/time.h: Likewise.
9238 * include/grub/i386/qemu/serial.h: Likewise.
9239 * include/grub/i386/qemu/kernel.h: Likewise.
9240 * include/grub/i386/qemu/console.h: Likewise.
9241 * include/grub/i386/qemu/boot.h: Likewise.
9242 * include/grub/i386/qemu/init.h: Likewise.
9243 * include/grub/i386/qemu/machine.h: Likewise.
9244 * include/grub/i386/qemu/loader.h: Likewise.
9245 * include/grub/i386/qemu/memory.h: Likewise.
9246
9247 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
9248 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
9249 [qemu] (pkglib_IMAGES): Add `boot.img'.
9250 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
9251 [qemu] (boot_img_FORMAT): New variables.
9252 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
9253 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
9254 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
9255 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9256 [qemu] (kernel_img_FORMAT): New variables.
9257
9258 * configure.ac: Recognise `i386-qemu'.
9259
9260 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
9261 (for no compression).
9262 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
9263 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
9264 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
9265 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
9266 ifdefs).
9267
9268 2009-06-27 Pavel Roskin <proski@gnu.org>
9269
9270 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
9271 read.
9272 * efiemu/prepare32.c: Likewise.
9273 * efiemu/prepare64.c: Likewise.
9274
9275 2009-06-26 Pavel Roskin <proski@gnu.org>
9276
9277 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
9278 * include/grub/elf.h: Define symbols without "32" or "64" based
9279 on GRUB_TARGET_WORDSIZE.
9280 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
9281 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
9282 ELF definitions.
9283 * efiemu/loadcore64.c: Likewise.
9284 * loader/i386/bsd32.c: Likewise.
9285 * loader/i386/bsd64.c: Likewise.
9286 * kern/dl.c: Remove own ELF definitions.
9287 * util/i386/efi/grub-mkimage.c: Likewise.
9288
9289 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
9290
9291 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
9292 segment 0x0 unconditionally, because the reference generated by
9293 GAS is an absolute address.
9294
9295 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9296
9297 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
9298 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
9299
9300 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9301
9302 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
9303 indexes. Check for -f explicitly.
9304 (search_file): Improve error message.
9305 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
9306
9307 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9308
9309 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
9310 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
9311
9312 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9313
9314 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
9315 * conf/i386-ieee1275.rmk: Likewise.
9316 * conf/i386-coreboot.rmk: Likewise.
9317
9318 * kern/i386/pc/startup.S (grub_stop): Remove function.
9319 * kern/i386/ieee1275/startup.S: Likewise.
9320 * kern/i386/coreboot/startup.S: Likewise.
9321 * kern/i386/misc.S (grub_stop): New function.
9322
9323 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9324
9325 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
9326 * kern/i386/realmode.S (real_to_prot): ... to here.
9327
9328 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9329
9330 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
9331 with `kernel.img'.
9332 (kernel_elf_SOURCES): Rename to ...
9333 (kernel_img_SOURCES): ... this.
9334 (kernel_elf_HEADERS): Rename to ...
9335 (kernel_img_HEADERS): ... this. Update all users.
9336 (kernel_elf_ASFLAGS): Rename to ...
9337 (kernel_img_ASFLAGS): ... this.
9338 (kernel_elf_CFLAGS): Rename to ...
9339 (kernel_img_CFLAGS): ... this.
9340 (kernel_elf_LDFLAGS): Rename to ...
9341 (kernel_img_LDFLAGS): ... this.
9342 * conf/i386-coreboot.rmk: Likewise.
9343 * conf/powerpc-ieee1275.rmk: Likewise.
9344
9345 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
9346 with "kernel.img".
9347
9348 2009-06-21 Pavel Roskin <proski@gnu.org>
9349
9350 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
9351 to match nested functions.
9352 * loader/sparc64/ieee1275/linux.c: Likewise.
9353
9354 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
9355
9356 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9357
9358 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
9359 all i386 platforms.
9360
9361 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9362
9363 Fix asm file handling on ELF, and remove workarounds.
9364
9365 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
9366 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
9367 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
9368 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
9369
9370 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 Load BSD ELF modules
9373
9374 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
9375 and loader/i386/bsd64.c
9376 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
9377 (FREEBSD_MODTYPE_ELF_MODULE): New definition
9378 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
9379 (grub_freebsd_load_elfmodule32): New declaration
9380 (grub_freebsd_load_elfmoduleobj64): Likewise
9381 (grub_freebsd_load_elf_meta32): Likewise
9382 (grub_freebsd_load_elf_meta64): Likewise
9383 (grub_freebsd_add_meta): Likewise
9384 (grub_freebsd_add_meta_module): Likewise
9385 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
9386 (grub_freebsd_add_meta_module): Likewise and move module-specific
9387 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
9388 (grub_cmd_freebsd): Add elf-kernel specific parts
9389 based on grub_freebsd_add_meta_module
9390 (grub_cmd_freebsd_module): Add type parsing moved from
9391 grub_freebsd_add_meta_module
9392 (grub_cmd_freebsd_module_elf): New function
9393 (cmd_freebsd_module_elf): New variable
9394 (GRUB_MOD_INIT): Register freebsd_module_elf
9395 * loader/i386/bsd32.c: New file
9396 * loader/i386/bsd64.c: Likewise
9397 * loader/i386/bsdXX.c: Likewise
9398 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
9399 (grub_elf64_load): Likewise
9400 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
9401 All users updated
9402 (grub_elf64_load_hook_t): Likewise
9403
9404 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
9405
9406 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
9407 variable.
9408 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
9409 don't write a menu entry for recovery mode.
9410
9411 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9412
9413 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
9414 after it's no longer needed.
9415
9416 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9417
9418 * include/grub/i386/loader.h (grub_linux_prot_size)
9419 (grub_linux_tmp_addr, grub_linux_real_addr)
9420 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
9421 GRUB_MACHINE_PCBIOS.
9422 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
9423 common grub_util_info() call to ...
9424 (generate_image): ... here.
9425 Fix use of uninitialized memory, comparison of signed with
9426 unsigned integers and memory leak.
9427 Remove bogus module address message.
9428
9429 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
9432 grub_raid_register
9433 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
9434
9435 2009-06-19 Pavel Roskin <proski@gnu.org>
9436
9437 * configure.ac: Remove stray AC_MSG_CHECKING.
9438
9439 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * disk/scsi.c (grub_scsi_open): use continue instead of big if
9442
9443 2009-06-18 Pavel Roskin <proski@gnu.org>
9444
9445 * conf/common.rmk: Add fs_file.mod.
9446 * disk/fs_file.c: New file.
9447 * include/grub/disk.h (enum grub_disk_dev_id): Add
9448 GRUB_DISK_DEVICE_FILE_ID.
9449
9450 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 Fix build with Apple's toolchain. Part 2
9453
9454 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
9455 a fake start
9456
9457 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 Fix build with Apple's toolchain. Part 1
9460
9461 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
9462 for long calls
9463 * configure.ac: remove a leftover AC_MSG_RESULT
9464 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
9465 Apple's toolchain
9466
9467 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 Fix warnings
9470
9471 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
9472 (decomp_block): initialize ch
9473 use grub_memcpy instead of memcpy
9474
9475 2009-06-17 Pavel Roskin <proski@gnu.org>
9476
9477 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
9478 version, use declarations needed to use vga_text as the startup
9479 console.
9480
9481 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
9482 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
9483 the kernel.
9484 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
9485 and grub_at_keyboard_fini(), it's done on module load and
9486 unload.
9487
9488 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
9489
9490 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
9491 file can't be found.
9492 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9493
9494 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 Fix newline handling
9497
9498 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
9499 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
9500 (grub_script_yylex): don't segfault on unterminated script
9501 newline terminates command and variable
9502
9503 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 avoid double grub_adjust_range call. Bug reported by David Simner
9506
9507 * kern/disk.c (grub_disk_write): change to raw disk access before
9508 calling disk_read
9509
9510 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
9511
9512 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
9513 spaces, for the benefit of help2man.
9514 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9515
9516 2009-06-16 Pavel Roskin <proski@gnu.org>
9517
9518 * kern/i386/halt.c: Include grub/machine/init.h.
9519 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
9520
9521 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
9522
9523 * util/grub.d/30_os-prober.in: Use ${root} in the generated
9524 drivemap menuentry.
9525
9526 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
9527
9528 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
9529 `echo' command.
9530
9531 2009-06-16 Pavel Roskin <proski@gnu.org>
9532
9533 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
9534 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
9535 save %dx, we only need %dl and we never change it.
9536 * boot/i386/pc/cdboot.S: Don't set the root drive.
9537 * boot/i386/pc/pxeboot.S: Likewise.
9538 * include/grub/i386/pc/boot.h: Remove
9539 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
9540 GRUB_BOOT_MACHINE_DRIVE_CHECK.
9541 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
9542 * kern/i386/pc/init.c (make_install_device): Remove references
9543 to grub_root_drive.
9544 * kern/i386/pc/startup.S: Likewise.
9545 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
9546
9547 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 xnu_uuid command
9550
9551 * commands/xnu_uuid.c: new file
9552 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
9553 (xnu_uuid_mod_SOURCES): new variable
9554 (xnu_uuid_mod_CFLAGS): likewise
9555 (xnu_uuid_mod_LDFLAGS): likewise
9556 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9557 * conf/i386-ieee1275.rmk: likewise
9558 * conf/i386-pc.rmk: likewise
9559 * conf/powerpc-ieee1275.rmk: likewise
9560 * conf/sparc64-ieee1275.rmk: likewise
9561 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
9562
9563 2009-06-16 Pavel Roskin <proski@gnu.org>
9564
9565 * configure.ac: Avoid '==' in test command, it's not portable.
9566
9567 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 Probe command
9570
9571 * commands/probe.c: new file
9572 * conf/common.rmk (pkglib_MODULES): add probe.mod
9573 (probe_mod_SOURCES): new variable
9574 (probe_mod_CFLAGS): likewise
9575 (probe_mod_LDFLAGS): likewise
9576 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9577 * conf/i386-ieee1275.rmk: likewise
9578 * conf/i386-pc.rmk: likewise
9579 * conf/powerpc-ieee1275.rmk: likewise
9580 * conf/sparc64-ieee1275.rmk: likewise
9581
9582 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 Fix handling of string like \"hello\" and "a
9585 b"
9586
9587 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
9588 (grub_script_yylex): fix parsing of quoting, escaping and newline
9589
9590 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
9593 handling
9594
9595 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
9596
9597 * util/grub-mkconfig.in: Fix parsing of --output option.
9598
9599 2009-06-12 Pavel Roskin <proski@gnu.org>
9600
9601 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
9602 genmk.rb don't need to be generated or installed.
9603
9604 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 * commands/i386/pc/drivemap_int13h.S: add more comments
9607
9608 2009-06-11 Pavel Roskin <proski@gnu.org>
9609
9610 * Makefile.in (uninstall): Uninstall manuals.
9611
9612 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
9613 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
9614 and update-grub_lib in two places.
9615 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
9616
9617 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
9618 a compiler warning.
9619
9620 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
9621 `entry_lo' to fix variable shadowing.
9622
9623 2009-06-11 Christian Franke <franke@computer.org>
9624
9625 * kern/misc.c (__enable_execute_stack): Add missing return type
9626 to prevent gcc warning.
9627
9628 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9629
9630 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
9631
9632 2009-06-11 Pavel Roskin <proski@gnu.org>
9633
9634 * Makefile.in: Don't rely on any scripts being executable.
9635 Always use $(SHELL) to run shell scripts.
9636
9637 * configure.ac: Always define ___main if using -nostdlib. This
9638 fixes tests on Cygwin.
9639
9640 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
9641
9642 UDF fix
9643
9644 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
9645 is in bytes and not in blocks
9646
9647 2009-06-11 Pavel Roskin <proski@gnu.org>
9648
9649 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
9650 warning.
9651
9652 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
9653
9654 * util/grub.d/30_os-prober.in: Fix a comment. Source
9655 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
9656 to set the root device. Place drivemap command in the generated
9657 chain entry.
9658
9659 2009-06-11 Pavel Roskin <proski@gnu.org>
9660
9661 * configure.ac: Remove host_m32. Issues with 64-bit utilities
9662 have long been resolved.
9663
9664 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
9665
9666 * util/grub.d/10_linux.in: Capitalise "Linux".
9667
9668 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
9669
9670 2009-06-11 Pavel Roskin <proski@gnu.org>
9671
9672 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
9673 fix a gcc warning and ensure that the function won't ever exit.
9674
9675 * kern/i386/ieee1275/init.c: Add missing prototype for
9676 grub_stop_floppy().
9677
9678 * loader/ieee1275/multiboot2.c [__i386__]: Include
9679 grub/cpu/multiboot.h.
9680
9681 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
9682 casts to short - they are not portable and cause warnings. Fix
9683 use of uninitialized values in input_buf. Use ARRAY_SIZE.
9684
9685 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 Drivemap fixes
9688
9689 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
9690 new function
9691 (grub_get_root_biosnumber_saved): new variable
9692 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
9693 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
9694 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
9695 %dx after the call if necessary
9696 * conf/common.rmk (pkglib_MODULES): remove boot.mod
9697 (boot_mod_SOURCES): remove
9698 (boot_mod_CFLAGS): remove
9699 (boot_mod_LDFLAGS): remove
9700 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
9701 (boot_mod_SOURCES): new variable
9702 (boot_mod_CFLAGS): likewise
9703 (boot_mod_LDFLAGS): likewise
9704 * conf/i386-efi.rmk: likewise
9705 * conf/i386-ieee1275.rmk: likewise
9706 * conf/i386-pc.rmk: likewise
9707 * conf/powerpc-ieee1275.rmk: likewise
9708 * conf/sparc64-ieee1275.rmk: likewise
9709 * conf/x86_64-efi.rmk: likewise
9710 * include/grub/i386/pc/biosnum.h: new file
9711 * lib/i386/pc/biosnum.c: likewise
9712 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
9713 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
9714 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
9715
9716 2009-06-10 Pavel Roskin <proski@gnu.org>
9717
9718 * io/gzio.c (test_header): Don't reuse one buffer for all data.
9719 Use separate variables. Read only the file size at the end, but
9720 not the checksum that we don't use.
9721
9722 * kern/file.c (grub_file_read): Use void pointer for the buffer.
9723 Adjust all callers.
9724
9725 * kern/ieee1275/openfw.c: Remove libc includes.
9726 * kern/ieee1275/cmain.c: Likewise.
9727 * include/grub/ieee1275/ieee1275.h: Likewise.
9728
9729 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
9730 compiler warnings.
9731
9732 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
9733
9734 * Makefile.in: Remove all trailing whitespace.
9735 * conf/i386-pc.rmk: Likewise.
9736 * conf/powerpc-ieee1275.rmk: Likewise.
9737 * conf/sparc64-ieee1275.rmk: Likewise.
9738 * docs/grub.texi: Likewise.
9739 * docs/texinfo.tex: Likewise.
9740 * disk/fs_uuid.c: Likewise.
9741 * disk/lvm.c: Likewise.
9742 * disk/scsi.c: Likewise.
9743 * disk/ata.c: Likewise.
9744 * disk/ieee1275/ofdisk.c: Likewise.
9745 * disk/i386/pc/biosdisk.c: Likewise.
9746 * disk/host.c: Likewise.
9747 * disk/raid.c: Likewise.
9748 * disk/efi/efidisk.c: Likewise.
9749 * disk/usbms.c: Likewise.
9750 * disk/memdisk.c: Likewise.
9751 * disk/loopback.c: Likewise.
9752 * kern/powerpc/dl.c: Likewise.
9753 * kern/device.c: Likewise.
9754 * kern/dl.c: Likewise.
9755 * kern/sparc64/dl.c: Likewise.
9756 * kern/ieee1275/ieee1275.c: Likewise.
9757 * kern/term.c: Likewise.
9758 * kern/fs.c: Likewise.
9759 * kern/i386/dl.c: Likewise.
9760 * kern/i386/pc/startup.S: Likewise.
9761 * kern/i386/pc/init.c: Likewise.
9762 * kern/i386/pc/mmap.c: Likewise.
9763 * kern/i386/pc/lzo1x.S: Likewise.
9764 * kern/i386/ieee1275/init.c: Likewise.
9765 * kern/i386/realmode.S: Likewise.
9766 * kern/i386/tsc.c: Likewise.
9767 * kern/partition.c: Likewise.
9768 * kern/corecmd.c: Likewise.
9769 * kern/file.c: Likewise.
9770 * kern/efi/efi.c: Likewise.
9771 * kern/efi/init.c: Likewise.
9772 * kern/efi/mm.c: Likewise.
9773 * kern/main.c: Likewise.
9774 * kern/err.c: Likewise.
9775 * kern/env.c: Likewise.
9776 * kern/disk.c: Likewise.
9777 * kern/generic/millisleep.c: Likewise.
9778 * kern/generic/rtc_get_time_ms.c: Likewise.
9779 * kern/misc.c: Likewise.
9780 * kern/parser.c: Likewise.
9781 * genmk.rb: Likewise.
9782 * configure.ac: Likewise.
9783 * boot/i386/pc/diskboot.S: Likewise.
9784 * boot/i386/pc/pxeboot.S: Likewise.
9785 * boot/i386/pc/boot.S: Likewise.
9786 * boot/i386/pc/lnxboot.S: Likewise.
9787 * boot/i386/pc/cdboot.S: Likewise.
9788 * parttool/pcpart.c: Likewise.
9789 * video/readers/tga.c: Likewise.
9790 * video/video.c: Likewise.
9791 * video/bitmap.c: Likewise.
9792 * lib/envblk.c: Likewise.
9793 * lib/i386/setjmp.S: Likewise.
9794 * fs/xfs.c: Likewise.
9795 * fs/afs.c: Likewise.
9796 * fs/fat.c: Likewise.
9797 * fs/ntfs.c: Likewise.
9798 * fs/udf.c: Likewise.
9799 * fs/affs.c: Likewise.
9800 * fs/iso9660.c: Likewise.
9801 * fs/hfs.c: Likewise.
9802 * fs/fshelp.c: Likewise.
9803 * fs/ext2.c: Likewise.
9804 * fs/jfs.c: Likewise.
9805 * fs/reiserfs.c: Likewise.
9806 * fs/hfsplus.c: Likewise.
9807 * fs/minix.c: Likewise.
9808 * fs/cpio.c: Likewise.
9809 * fs/sfs.c: Likewise.
9810 * fs/ufs.c: Likewise.
9811 * efiemu/prepare.c: Likewise.
9812 * efiemu/loadcore_common.c: Likewise.
9813 * efiemu/runtime/efiemu.sh: Likewise.
9814 * efiemu/runtime/efiemu.S: Likewise.
9815 * efiemu/runtime/efiemu.c: Likewise.
9816 * efiemu/pnvram.c: Likewise.
9817 * efiemu/main.c: Likewise.
9818 * efiemu/i386/pc/cfgtables.c: Likewise.
9819 * efiemu/i386/loadcore64.c: Likewise.
9820 * efiemu/i386/loadcore32.c: Likewise.
9821 * efiemu/loadcore.c: Likewise.
9822 * efiemu/symbols.c: Likewise.
9823 * efiemu/mm.c: Likewise.
9824 * include/grub/autoefi.h: Likewise.
9825 * include/grub/datetime.h: Likewise.
9826 * include/grub/term.h: Likewise.
9827 * include/grub/hfs.h: Likewise.
9828 * include/grub/lvm.h: Likewise.
9829 * include/grub/i386/tsc.h: Likewise.
9830 * include/grub/i386/linux.h: Likewise.
9831 * include/grub/i386/xnu.h: Likewise.
9832 * include/grub/i386/efiemu.h: Likewise.
9833 * include/grub/i386/pc/biosdisk.h: Likewise.
9834 * include/grub/i386/pc/memory.h: Likewise.
9835 * include/grub/i386/pc/vbe.h: Likewise.
9836 * include/grub/parttool.h: Likewise.
9837 * include/grub/video.h: Likewise.
9838 * include/grub/memory.h: Likewise.
9839 * include/grub/fs.h: Likewise.
9840 * include/grub/partition.h: Likewise.
9841 * include/grub/xnu.h: Likewise.
9842 * include/grub/efi/api.h: Likewise.
9843 * include/grub/efi/pe32.h: Likewise.
9844 * include/grub/efi/memory.h: Likewise.
9845 * include/grub/multiboot.h: Likewise.
9846 * include/grub/usbdesc.h: Likewise.
9847 * include/grub/multiboot2.h: Likewise.
9848 * include/grub/acpi.h: Likewise.
9849 * include/grub/efiemu/efiemu.h: Likewise.
9850 * include/grub/disk.h: Likewise.
9851 * include/grub/ieee1275/ieee1275.h: Likewise.
9852 * include/grub/net.h: Likewise.
9853 * include/grub/machoload.h: Likewise.
9854 * include/grub/macho.h: Likewise.
9855 * include/multiboot.h: Likewise.
9856 * genmoddep.awk: Likewise.
9857 * normal/main.c: Likewise.
9858 * normal/menu_entry.c: Likewise.
9859 * normal/menu_viewer.c: Likewise.
9860 * normal/completion.c: Likewise.
9861 * normal/cmdline.c: Likewise.
9862 * normal/misc.c: Likewise.
9863 * normal/datetime.c: Likewise.
9864 * bus/usb/usbtrans.c: Likewise.
9865 * bus/usb/ohci.c: Likewise.
9866 * bus/usb/uhci.c: Likewise.
9867 * bus/usb/usb.c: Likewise.
9868 * mmap/efi/mmap.c: Likewise.
9869 * mmap/i386/pc/mmap_helper.S: Likewise.
9870 * mmap/i386/pc/mmap.c: Likewise.
9871 * mmap/i386/mmap.c: Likewise.
9872 * mmap/i386/uppermem.c: Likewise.
9873 * mmap/mmap.c: Likewise.
9874 * commands/acpi.c: Likewise.
9875 * commands/echo.c: Likewise.
9876 * commands/blocklist.c: Likewise.
9877 * commands/loadenv.c: Likewise.
9878 * commands/usbtest.c: Likewise.
9879 * commands/boot.c: Likewise.
9880 * commands/parttool.c: Likewise.
9881 * commands/search.c: Likewise.
9882 * commands/cat.c: Likewise.
9883 * commands/i386/pc/play.c: Likewise.
9884 * commands/i386/pc/drivemap.c: Likewise.
9885 * commands/i386/pc/vbeinfo.c: Likewise.
9886 * commands/i386/pc/acpi.c: Likewise.
9887 * commands/i386/pc/vbetest.c: Likewise.
9888 * commands/ls.c: Likewise.
9889 * commands/cmp.c: Likewise.
9890 * commands/test.c: Likewise.
9891 * commands/efi/acpi.c: Likewise.
9892 * commands/gptsync.c: Likewise.
9893 * commands/help.c: Likewise.
9894 * partmap/amiga.c: Likewise.
9895 * partmap/apple.c: Likewise.
9896 * partmap/acorn.c: Likewise.
9897 * partmap/pc.c: Likewise.
9898 * partmap/sun.c: Likewise.
9899 * partmap/gpt.c: Likewise.
9900 * script/sh/lexer.c: Likewise.
9901 * script/sh/function.c: Likewise.
9902 * font/font.c: Likewise.
9903 * font/font_cmd.c: Likewise.
9904 * loader/powerpc/ieee1275/linux.c: Likewise.
9905 * loader/efi/chainloader.c: Likewise.
9906 * loader/multiboot_loader.c: Likewise.
9907 * loader/macho.c: Likewise.
9908 * loader/i386/multiboot.c: Likewise.
9909 * loader/i386/linux.c: Likewise.
9910 * loader/i386/pc/linux.c: Likewise.
9911 * loader/i386/pc/multiboot2.c: Likewise.
9912 * loader/i386/pc/chainloader.c: Likewise.
9913 * loader/i386/pc/xnu.c: Likewise.
9914 * loader/i386/bsd_trampoline.S: Likewise.
9915 * loader/i386/efi/linux.c: Likewise.
9916 * loader/i386/multiboot_elfxx.c: Likewise.
9917 * loader/i386/bsd_helper.S: Likewise.
9918 * loader/i386/bsd.c: Likewise.
9919 * loader/i386/linux_trampoline.S: Likewise.
9920 * loader/i386/xnu_helper.S: Likewise.
9921 * loader/i386/xnu.c: Likewise.
9922 * loader/i386/bsd_pagetable.c: Likewise.
9923 * loader/i386/multiboot_helper.S: Likewise.
9924 * loader/xnu.c: Likewise.
9925 * loader/xnu_resume.c: Likewise.
9926 * io/gzio.c: Likewise.
9927 * term/efi/console.c: Likewise.
9928 * term/terminfo.c: Likewise.
9929 * term/ieee1275/ofconsole.c: Likewise.
9930 * term/i386/pc/serial.c: Likewise.
9931 * term/i386/pc/vesafb.c: Likewise.
9932 * term/i386/pc/vga.c: Likewise.
9933 * term/usb_keyboard.c: Likewise.
9934 * term/gfxterm.c: Likewise.
9935 * aclocal.m4: Likewise.
9936 * util/lvm.c: Likewise.
9937 * util/grub.d/30_os-prober.in: Likewise.
9938 * util/grub.d/10_hurd.in: Likewise.
9939 * util/console.c: Likewise.
9940 * util/grub-macho2img.c: Likewise.
9941 * util/grub-probe.c: Likewise.
9942 * util/hostfs.c: Likewise.
9943 * util/i386/pc/grub-mkimage.c: Likewise.
9944 * util/i386/pc/grub-setup.c: Likewise.
9945 * util/i386/efi/grub-mkimage.c: Likewise.
9946 * util/grub-mkconfig.in: Likewise.
9947 * util/raid.c: Likewise.
9948 * util/resolve.c: Likewise.
9949 * util/grub-mkdevicemap.c: Likewise.
9950 * util/grub-emu.c: Likewise.
9951 * util/getroot.c: Likewise.
9952 * util/hostdisk.c: Likewise.
9953 * util/usb.c: Likewise.
9954 * util/grub-editenv.c: Likewise.
9955 * util/misc.c: Likewise.
9956
9957 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
9958
9959 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
9960 `genparttoollist.sh'.
9961 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
9962 Add `*.sh' to the list find searches for and change `mdate.sh'
9963 to `mdate-sh'.
9964
9965 2009-06-10 Pavel Roskin <proski@gnu.org>
9966
9967 * include/grub/multiboot2.h: Provide compatibility defines for
9968 multiboot2.h.
9969 * include/multiboot2.h: Include stdint.h only if needed, using
9970 angle brackets.
9971 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
9972 grub/multiboot2.h.
9973 * loader/ieee1275/multiboot2.c: Likewise.
9974 * loader/multiboot2.c: Likewise.
9975 * loader/multiboot_loader.c: Likewise.
9976
9977 * configure.ac: Use -nostdlib when probing for the target. It
9978 should not be required to have libc for the target.
9979
9980 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
9981 they fail without libc headers for the target.
9982 * include/grub/powerpc/libgcc.h: Use weak attribute for all
9983 exports.
9984 * include/grub/sparc64/libgcc.h: Likewise. Don't use
9985 preprocessor conditionals.
9986
9987 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
9988 build system doesn't need to be aware of the tar.c internals.
9989
9990 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
9991
9992 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
9993
9994 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
9995
9996 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
9997 disk limit to 26 for IDE, Virtio, Xen and SCSI.
9998
9999 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
10000
10001 * util/i386/pc/grub-install.in: Change the error message if UUIDs
10002 aren't available if ata.mod gets used.
10003
10004 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
10005
10006 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
10007 initialising controller.
10008 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10009
10010 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10011
10012 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10013 to choose between ata and biosdisk module on i386-pc.
10014
10015 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
10016
10017 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10018 Subclass and Programming Interface fields in terms of the 3 byte
10019 Class Code register.
10020 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10021
10022 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10023 interface is OHCI. Add grub_dprintf for symmetry with
10024 bus/usb/uhci.c.
10025 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10026 interface is UHCI. Add interf variable for programming
10027 interface. Print interface with class/subclass.
10028
10029 * bus/usb/ohci.c: Set interf with correct field.
10030
10031 * bus/usb/uhci.c: Remove unneeded doubled lines.
10032 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10033 Remove whitespace inside comment.
10034
10035 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10036
10037 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10038 as fallback an equivalent option without depth.
10039
10040 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 Not fail if unable to retrieve C/H/S on LBA disks
10043
10044 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
10045 if unable to retrieve C/H/S on LBA disks
10046
10047 2009-06-08 Pavel Roskin <proski@gnu.org>
10048
10049 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10050 about aliasing.
10051
10052 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10053
10054 * Makefile.in (uninstall): Remove all $lib_DATA files.
10055
10056 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 Bugfix: install on partitionless device
10059
10060 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10061 is a whole disk
10062
10063 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10064
10065 * Makefile.in (uninstall): Remove all $include_DATA files.
10066
10067 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10068
10069 * commands/true.c: New file. Implement the true and false commands.
10070 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10071 (true_mod_SOURCES): New variable.
10072 (true_mod_CFLAGS): Likewise.
10073 (true_mod_LDFLAGS): Likewise.
10074
10075 2009-06-05 Colin D Bennett <colin@gibibit.com>
10076
10077 Optimized font character lookup using binary search instead of linear
10078 search. Fonts now are required to have the character index ordered by
10079 code point.
10080
10081 * font/font.c (load_font_index): Verify that fonts have ordered
10082 character indices.
10083 (find_glyph): Use binary search instead of linear search to find a
10084 character in a font.
10085
10086 2009-06-05 Michael Scherer <misc@mandriva.org>
10087
10088 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10089 uses case sensitive btree.
10090 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10091 only for case insensitive filesystems.
10092
10093 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10096 * conf/common.rmk (search_mod_CFLAGS): likewise
10097
10098 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
10101 compensate a compiler bug
10102
10103 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
10106 instead of '\b'
10107
10108 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 Definitions for creating asm symbols with Apple's CC
10111
10112 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10113 [APPLE_CC] (VARIABLE): likewise
10114
10115 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 Disable lnxboot.img when compiled
10118 with Apple's CC
10119
10120 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10121 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10122 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10123 [! APPLE_CC] (CODE_LENG): skip
10124 [! APPLE_CC] (setup_sects): likewise
10125 [! APPLE_CC]: skip filling
10126
10127 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 Address in trampolines based on 32-bit registers when compiled
10130 with Apple's CC
10131
10132 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
10133 for addresses
10134 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10135
10136 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10139
10140 * kern/misc.c [APPLE_CC] (memcpy): new function
10141 [APPLE_CC] (memmove): likewise
10142 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
10143 (memcpy): define alias conditionally on !APPLE_CC
10144 (memset): likewise
10145 (abort): likewise
10146 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10147 APPLE_CC are defined
10148 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10149 (grub_assert_fail): make prototype conditional
10150
10151 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10154
10155 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10156 grub-macho2img
10157 (CLEANFILES): add grub-macho2img
10158 (grub_macho2img_SOURCES): new variable
10159 * kern/i386/pc/startup.S (bss_start): new variable
10160 (bss_end): likewise
10161 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10162 * util/grub-macho2img.c: new file
10163
10164 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 Use objconv when compiling with Apple's CC
10167
10168 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10169 (efiemu64.o): likewise
10170 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10171 when compiling with Apple's CC
10172 (efiemu64_s.o): likewise
10173 * configure.ac: check for objconv when compiling with Apple's CC
10174 * genmk.rb: use objconv for modules when compiled with Apple's CC
10175
10176 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 Define segment as well as section when compiling with
10179 Apple's CC
10180
10181 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10182 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10183 (efiemu_convert_pointer): likewise
10184 (efiemu_set_virtual_address_map): likewise
10185 (efiemu_convert_pointer): likewise
10186 (efiemu_getcrc32): likewise
10187 (init_crc32_table): likewise
10188 (reflect): likewise
10189 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10190 (GRUB_MOD_DEP): likewise
10191
10192 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 Allow a compilation without -mcmodel=large
10195
10196 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10197 when compiled without -mcmodel=large
10198 (filter_memory_map): remove memory post 4 GiB when compiled
10199 without -mcmodel=large
10200 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
10201 TARGET_CFLAGS when -mcmodel=large isn't supported
10202
10203 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 Remove nested functions in efiemu core
10206
10207 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
10208
10209 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10212
10213 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
10214 temporary storage
10215 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
10216 using Apple's CC
10217 (grub_cpu_is_tsc_supported): likewise
10218 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
10219
10220 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 Absolute addressing through constant with Apple's cc
10223
10224 * kern/i386/pc/startup.S: Define necessary constants
10225 and address through it when using ABS with Apple's CC
10226 * boot/i386/pc/diskboot.S: likewise
10227 * boot/i386/pc/boot.S: likewise
10228 * boot/i386/pc/lnxboot.S: likewise
10229 * boot/i386/pc/cdboot.S: likewise
10230 * mmap/i386/pc/mmap_helper.S: likewise
10231 * commands/i386/pc/drivemap_int13h.S: likewise
10232
10233 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 Check if compiler is apple cc
10236
10237 * Makefile.in (ASFLAGS): new variable
10238 (TARGET_ASFLAGS): likewise
10239 (TARGET_MODULE_FORMAT): likewise
10240 (TARGET_APPLE_CC): likewise
10241 (OBJCONV): likewise
10242 (TARGET_IMG_CFLAGS): likewise
10243 (TARGET_CPPFLAGS): add includedir
10244 * configure.ac: call grub_apple_cc and grub_apple_target_cc
10245 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
10246 Check for linker script only if compiler isn't Apple's CC
10247 (TARGET_MODULE_FORMAT): set
10248 (TARGET_APPLE_CC): likewise
10249 (TARGET_ASFLAGS): likewise
10250 (ASFLAGS): likewise
10251 Check for objcopy only if compiler isn't Apple's CC
10252 Check for BSS symbol only if compiler isn't Apple's CC
10253 * genmk.rb: adapt nm options if we use Apple's utils
10254 * aclocal.m4 (grub_apple_cc): new test
10255 (grub_apple_target_cc): likewise
10256
10257 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 Simplify sed expressions and improve awk
10260
10261 * Makefile.in (install-local): simplify sed expression
10262 * gencmdlist.sh: likewise
10263 * genmoddep.awk: avoid adding module as a dependency of itself
10264
10265 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 Add missing start symbols
10268
10269 * boot/i386/pc/boot.S: add start
10270 * boot/i386/pc/pxeboot.S: likewise
10271
10272 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 Fix wrong assumptions with grub-mkimage on EFI
10275
10276 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
10277 (relocate_addresses): consider both r_addend and value at offset
10278 (make_mods_section): zerofill modinfo and header
10279 (convert_elf): write prefix here
10280
10281 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Use .asciz instead of .string
10284
10285 * i386/pc/diskboot.S: use .asciz instead of .string
10286 * i386/pc/boot.S: likewise
10287 * include/grub/dl.h (GRUB_MOD_DEP): likewise
10288 (GRUB_MOD_NAME): likewise
10289
10290 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 gfxpayload support
10293
10294 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
10295 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
10296 (grub_video_setup): remove
10297 (grub_video_set_mode): new prototype
10298 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
10299 (vid_mode): remove
10300 (linux_vesafb_res): compile only on PCBIOS
10301 (grub_linux_boot): support gfxpayload
10302 * loader/i386/pc/xnu.c (video_hook): new function
10303 (grub_xnu_set_video): support gfxpayload
10304 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
10305 (DEFAULT_VIDEO_HEIGHT): likewise
10306 (DEFAULT_VIDEO_FLAGS): likewise
10307 (DEFAULT_VIDEO_MODE): new definition
10308 (video_hook): new function
10309 (grub_gfxterm_init): use grub_video_set_mode
10310 * util/grub.d/30_os-prober.in: remove explicit modesetting before
10311 loading xnu
10312 * video/video.c (grub_video_setup): removed
10313 (grub_video_set_mode): new function based on grub_gfxterm_init and
10314 grub_video_setup
10315
10316 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 Avoid calling biosdisk in drivemap
10319
10320 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
10321 (revparse_biosdisk): likewise
10322 (list_mappings): derive name from id directly
10323 (grub_cmd_drivemap): use tryparse_diskstring
10324
10325 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 Script fixes
10328
10329 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
10330 (grub_lexer_param): add tokenonhold
10331 (grub_script_create_cmdline): remove cmdline. All callers updated
10332 (grub_script_function_create): make functionname
10333 grub_script_arg. All callers updated
10334 (grub_script_execute_argument_to_string): new prototype
10335 * kern/parser.c (state_transitions): reorder
10336 (grub_parser_cmdline_state): fix a bug and make more compact
10337 * script/sh/execute.c (grub_script_execute_argument_to_string):
10338 make global
10339 (grub_script_execute_cmdline): use new format
10340 * script/sh/function.c (grub_script_function_create): make functionname
10341 grub_script_arg. All callers updated
10342 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
10343 (grub_script_yylex): remove
10344 (grub_script_yylex2): renamed to ...
10345 (grub_script_yylex): ...renamed
10346 parse the expressions like a${b}c
10347 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
10348 (GRUB_PARSER_TOKEN_VAR): remove
10349 (GRUB_PARSER_TOKEN_NAME): likewise
10350 ("if"): declare as typeless
10351 ("while"): likewise
10352 ("function"): likewise
10353 ("else"): likewise
10354 ("then"): likewise
10355 ("fi"): likewise
10356 (text): remove
10357 (argument): likewise
10358 (script): accept empty scripts and make exit on error
10359 (arguments): use GRUB_PARSER_TOKEN_ARG
10360 (function): likewise
10361 (command): move error handling to script
10362 (menuentry): move grub_script_lexer_ref before
10363 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
10364 argument. All callers updated
10365
10366 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10367
10368 Prevent GRUB from probing floppies during boot.
10369
10370 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
10371 * commands/search.c (options): Add --no-floppy.
10372 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
10373 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
10374 --no-floppy when searching for UUIDs.
10375
10376 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10377
10378 Simplify the code duplication in commands/search.c.
10379
10380 * commands/search.c (search_label, search_fs_uuid): Merge into ...
10381 (search_fs): ... this. Update all users.
10382
10383 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
10384
10385 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
10386
10387 2009-05-28 Pavel Roskin <proski@gnu.org>
10388
10389 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
10390 Remove the original symlink explicitly.
10391
10392 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
10393 just one slash. That's how grub_fshelp_find_file() does it.
10394
10395 2009-05-26 Pavel Roskin <proski@gnu.org>
10396
10397 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
10398 to `str'.
10399
10400 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
10401 possibly unused.
10402
10403 2009-05-25 Christian Franke <franke@computer.org>
10404
10405 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
10406 register.
10407 (grub_atapi_identify): Add wait after drive select.
10408 (grub_ata_identify): Do more strict status register check before
10409 calling grub_atapi_identify (). Suppress error message if status
10410 register is 0x00 after command failure. Add status register
10411 check after PIO read to avoid bogus identify due to stuck DRQ.
10412 Thanks to Pavel Roskin for testing.
10413 (grub_device_initialize): Remove unsafe status register check.
10414 Thanks to 'phcoder' for problem report and patch.
10415 Prevent sign extension in debug message.
10416
10417 2009-05-23 Colin D Bennett <colin@gibibit.com>
10418
10419 Cleaned up `include/grub/normal.h'. Grouped prototypes by
10420 definition file, and functions defined in `normal/menu.c' have had
10421 their prototypes moved to `include/grub/menu.h' for consistency.
10422
10423 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
10424 from normal.h.
10425 (grub_menu_get_entry): Likewise.
10426 (grub_menu_get_timeout): Likewise.
10427 (grub_menu_set_timeout): Likewise.
10428 (grub_menu_execute_entry): Likewise.
10429 (grub_menu_execute_with_fallback): Likewise.
10430 (grub_menu_entry_run): Likewise.
10431
10432 * include/grub/normal.h: Re-ordered and grouped function
10433 prototypes by file that the function is defined in.
10434 (grub_menu_execute_callback): Removed; moved to menu.h.
10435 (grub_menu_get_entry): Likewise.
10436 (grub_menu_get_timeout): Likewise.
10437 (grub_menu_set_timeout): Likewise.
10438 (grub_menu_execute_entry): Likewise.
10439 (grub_menu_execute_with_fallback): Likewise.
10440 (grub_menu_entry_run): Likewise.
10441 (grub_menu_addentry): Renamed from this ...
10442 (grub_normal_add_menu_entry): ... to this.
10443
10444 * normal/main.c (grub_menu_addentry): Renamed from this ...
10445 (grub_normal_add_menu_entry): ... to this.
10446
10447 * script/sh/execute.c (grub_script_execute_menuentry): Update
10448 reference to renamed grub_menu_addentry function.
10449
10450 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
10451
10452 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
10453
10454 2009-05-22 Pavel Roskin <proski@gnu.org>
10455
10456 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
10457 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
10458 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
10459 compiling for the i386 targets, but not for the utilities.
10460
10461 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
10462 to grub_uint8_t.
10463 (grub_root_drive): Likewise.
10464 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
10465 remove alignment.
10466 (grub_root_drive): Change size to byte.
10467 (grub_start_addr): Remove.
10468 (grub_end_addr): Likewise.
10469 (grub_apm_bios_info): Likewise.
10470
10471 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
10472
10473 * normal/i386: Remove.
10474 * normal/powerpc: Likewise.
10475 * normal/sparc64: Likewise.
10476 * normal/x86_64: Likewise.
10477
10478 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
10481 * loader/i386/linux_trampoline.S: Fix indentation
10482 * loader/i386/xnu_helper.S: Likewise
10483
10484 2009-05-18 Colin D Bennett <colin@gibibit.com>
10485
10486 Display error messages when parsing a Lua statement fails.
10487 Previously, executing a syntactically invalid statement like
10488 ")foo" or "bar;" would silently fail.
10489
10490 * script/lua/grub_main.c (handle_lua_error): New function.
10491 (grub_lua_parse_line): Improved reporting of Lua parser and
10492 execution errors.
10493
10494 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 Remove -Werror which causes build to fail on some systems
10497
10498 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
10499 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
10500 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
10501
10502 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 trampoline for linux on 64-bit platform
10505
10506 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
10507 loader/i386/efi/linux_trampoline.S
10508 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
10509 declaration
10510 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
10511 here
10512 * loader/i386/linux_trampoline.S: moved here
10513 * loader/i386/efi/linux.c (allocate_pages): reserve space for
10514 trampoline
10515 (jumpvector): removed
10516 (grub_linux_trampoline_start): new declaration
10517 (grub_linux_trampoline_end): likewise
10518 (grub_linux_boot): use trampoline when on 64-bit platform
10519 * loader/i386/linux.c: likewise
10520
10521 2009-05-16 Pavel Roskin <proski@gnu.org>
10522
10523 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
10524 const to avoid a warning.
10525 (grub_lua_setenv): Likewise.
10526 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
10527 lmsg to fix a warning.
10528
10529 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10530
10531 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
10532 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10533 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
10534 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10535 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10536 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10537 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10538 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10539
10540 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10541
10542 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
10543
10544 2009-05-16 Bean <bean123ch@gmail.com>
10545
10546 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
10547 (lua_mod_SOURCES): New variable.
10548 (lua_mod_CFLAGS): Likewise.
10549 (lua_mod_LDFLAGS): Likewise.
10550
10551 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
10552 (setjmp_mod_SOURCES): New variable.
10553 (setjmp_mod_CFLAGS): Likewise.
10554 (setjmp_LDFLAGS): Likewise.
10555
10556 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
10557 (setjmp_mod_SOURCES): New variable.
10558 (setjmp_mod_CFLAGS): Likewise.
10559 (setjmp_LDFLAGS): Likewise.
10560
10561 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10562 (setjmp_mod_SOURCES): New variable.
10563 (setjmp_mod_CFLAGS): Likewise.
10564 (setjmp_LDFLAGS): Likewise.
10565
10566 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10567 (setjmp_mod_SOURCES): New variable.
10568 (setjmp_mod_CFLAGS): Likewise.
10569 (setjmp_LDFLAGS): Likewise.
10570
10571 * normal/i386/setjmp.S: Moved from here ...
10572 * lib/i386/setjmp.S: ... Moved here
10573 * normal/x86_64/setjmp.S: Moved from here ...
10574 * lib/x86_64/setjmp.S: ... Moved here
10575 * normal/powerpc/setjmp.S: Moved from here ...
10576 * lib/powerpc/setjmp.S: ... Moved here
10577 * normal/sparc64/setjmp.S: Moved from here ...
10578 * lib/sparc64/setjmp.S: ... Moved here
10579
10580 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
10581 returns_twice in mingw.
10582
10583 * script/lua/grub_lib.c: New file.
10584 * script/lua/grub_lib.h: Likewise.
10585 * script/lua/grub_lua.h: Likewise.
10586 * script/lua/grub_main.c: Likewise.
10587 * script/lua/lapi.c: Likewise.
10588 * script/lua/lapi.h: Likewise.
10589 * script/lua/lauxlib.c: Likewise.
10590 * script/lua/lauxlib.h: Likewise.
10591 * script/lua/lbaselib.c: Likewise.
10592 * script/lua/lcode.c: Likewise.
10593 * script/lua/lcode.h: Likewise.
10594 * script/lua/ldblib.c: Likewise.
10595 * script/lua/ldebug.c: Likewise.
10596 * script/lua/ldebug.h: Likewise.
10597 * script/lua/ldo.c: Likewise.
10598 * script/lua/ldo.h: Likewise.
10599 * script/lua/ldump.c: Likewise.
10600 * script/lua/lfunc.c: Likewise.
10601 * script/lua/lfunc.h: Likewise.
10602 * script/lua/lgc.c: Likewise.
10603 * script/lua/lgc.h: Likewise.
10604 * script/lua/linit.c: Likewise.
10605 * script/lua/liolib.c: Likewise.
10606 * script/lua/llex.c: Likewise.
10607 * script/lua/llex.h: Likewise.
10608 * script/lua/llimits.h: Likewise.
10609 * script/lua/lmathlib.c: Likewise.
10610 * script/lua/lmem.c: Likewise.
10611 * script/lua/lmem.h: Likewise.
10612 * script/lua/loadlib.c: Likewise.
10613 * script/lua/lobject.c: Likewise.
10614 * script/lua/lobject.h: Likewise.
10615 * script/lua/lopcodes.c: Likewise.
10616 * script/lua/lopcodes.h: Likewise.
10617 * script/lua/loslib.c: Likewise.
10618 * script/lua/lparser.c: Likewise.
10619 * script/lua/lparser.h: Likewise.
10620 * script/lua/lstate.c: Likewise.
10621 * script/lua/lstate.h: Likewise.
10622 * script/lua/lstring.c: Likewise.
10623 * script/lua/lstring.h: Likewise.
10624 * script/lua/lstrlib.c: Likewise.
10625 * script/lua/ltable.c: Likewise.
10626 * script/lua/ltable.h: Likewise.
10627 * script/lua/ltablib.c: Likewise.
10628 * script/lua/ltm.c: Likewise.
10629 * script/lua/ltm.h: Likewise.
10630 * script/lua/lua.h: Likewise.
10631 * script/lua/luaconf.h: Likewise.
10632 * script/lua/lualib.h: Likewise.
10633 * script/lua/lundump.c: Likewise.
10634 * script/lua/lundump.h: Likewise.
10635 * script/lua/lvm.c: Likewise.
10636 * script/lua/lvm.h: Likewise.
10637 * script/lua/lzio.c: Likewise.
10638 * script/lua/lzio.h: Likewise.
10639
10640 2009-05-16 Bean <bean123ch@gmail.com>
10641
10642 * include/grub/kernel.h (grub_module_header_types): Add type
10643 OBJ_TYPE_CONFIG.
10644
10645 * kern/main.c (grub_load_config): New function.
10646 (grub_main): Call grub_load_config to read boot config.
10647
10648 * grub-mkimage (generate_image): New parameter config_path.
10649 (options): New option --config.
10650 (main): Parse --config option, and pass it to generate_image.
10651
10652 2009-05-14 Christian Franke <franke@computer.org>
10653
10654 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
10655 This fixes build on Cygwin.
10656
10657 2009-05-14 Pavel Roskin <proski@gnu.org>
10658
10659 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
10660 jump. This saves two bytes, so the typical case of 2 swapped
10661 drives would fit 32 bytes.
10662
10663 2009-05-13 Pavel Roskin <proski@gnu.org>
10664
10665 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
10666 grub_uint32_t to avoid a warning.
10667
10668 * loader/i386/linux.c (allocate_pages): When assigning
10669 real_mode_mem, cast through grub_size_t to fix a warning. The
10670 code already makes sure that the value would fit a pointer.
10671 (grub_linux_setup_video): Cast render_target->data to
10672 grub_size_t to fix a warning.
10673
10674 2009-05-13 Javier Martín <lordhabbit@gmail.com>
10675
10676 * commands/i386/pc/drivemap.c: New file - implement drivemap
10677 command.
10678 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
10679 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
10680
10681 2009-05-13 Pavel Roskin <proski@gnu.org>
10682
10683 * util/i386/pc/grub-setup.c (setup): Remove unused variable
10684 embedding_area_exists.
10685
10686 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
10687
10688 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
10689 it easier to understand / work with.
10690 Improve warning messages for cases where there's no embedding area,
10691 or when it is too small (or core.img too large).
10692
10693 2009-05-13 Pavel Roskin <proski@gnu.org>
10694
10695 * loader/i386/pc/multiboot2.c: Add necessary includes for
10696 grub_multiboot2_real_boot().
10697
10698 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
10699 PX record is always little-endian. We only need the lower 2
10700 bytes of the mode.
10701
10702 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
10703 facilitate code reuse.
10704 (grub_cpio_mount): Use "struct head", not a char buffer. This
10705 fixes a warning reported by gcc 4.4.
10706
10707 * kernel/disk.c (grub_disk_read): Use void pointer for the
10708 buffer.
10709 (grub_disk_write): Use const void pointer for the buffer.
10710 Adjust all callers. Remove unnecessary casts.
10711
10712 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
10713
10714 * util/i386/pc/grub-install.in: Update copyright year.
10715
10716 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 gptsync
10719
10720 * commands/gptsync.c: new file
10721 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
10722 (gptsync_mod_SOURCES): new variable
10723 (gptsync_mod_CFLAGS): likewise
10724 (gptsync_mod_LDFLAGS): likewise
10725 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
10726 new definition
10727 (GRUB_PC_PARTITION_TYPE_HFS): likewise
10728 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
10729 * conf/i386-ieee1275.rmk: likewise
10730 * conf/i386-pc.rmk: likewise
10731 * conf/powerpc-ieee1275.rmk: likewise
10732
10733 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 Fixed grub-emu
10736
10737 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
10738 (grub_dl_ref): likewise
10739
10740 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
10741
10742 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
10743 split in two functions (one for msdos and one for gpt).
10744
10745 2009-05-08 Pavel Roskin <proski@gnu.org>
10746
10747 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
10748 not modified.
10749
10750 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
10751 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
10752 Initialize them with -1. Add sanity check for bad1. Eliminate
10753 nerr variable.
10754
10755 2009-05-08 David S. Miller <davem@davemloft.net>
10756
10757 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
10758
10759 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
10760
10761 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
10762 existence.
10763
10764 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
10765
10766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
10767 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
10768
10769 2009-05-05 David S. Miller <davem@davemloft.net>
10770
10771 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
10772
10773 2009-05-05 Pavel Roskin <proski@gnu.org>
10774
10775 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
10776 of grub_dl_ref() and grub_dl_unref().
10777 * commands/parttool.c: Remove preprocessor conditionals around
10778 grub_dl_ref() and grub_dl_unref().
10779 * fs/affs.c: Likewise.
10780 * fs/afs.c: Likewise.
10781 * fs/cpio.c: Likewise.
10782 * fs/ext2.c: Likewise.
10783 * fs/fat.c: Likewise.
10784 * fs/hfs.c: Likewise.
10785 * fs/hfsplus.c: Likewise.
10786 * fs/iso9660.c: Likewise.
10787 * fs/jfs.c: Likewise.
10788 * fs/minix.c: Likewise.
10789 * fs/ntfs.c: Likewise.
10790 * fs/reiserfs.c: Likewise.
10791 * fs/sfs.c: Likewise.
10792 * fs/udf.c: Likewise.
10793 * fs/ufs.c: Likewise.
10794 * fs/xfs.c: Likewise.
10795 * include/grub/dl.h: Likewise.
10796 * loader/xnu.c: Likewise.
10797
10798 2009-05-04 Pavel Roskin <proski@gnu.org>
10799
10800 * commands/acpi.c: Remove unused variable my_mod.
10801 * partmap/amiga.c: Likewise.
10802 * partmap/apple.c: Likewise.
10803 * partmap/gpt.c: Likewise.
10804 * partmap/pc.c: Likewise.
10805 * partmap/sun.c: Likewise.
10806 * term/gfxterm.c: Likewise.
10807 * term/i386/pc/vesafb.c: Likewise.
10808 * term/i386/pc/vga.c: Likewise.
10809
10810 2009-05-04 David S. Miller <davem@davemloft.net>
10811
10812 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
10813 pointer args to grub_ieee1275_get_property().
10814
10815 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
10816
10817 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
10818 devices, and do not traverse down under controller nodes.
10819
10820 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
10821 (grub_ofdisk_open): Use it to un-escape "," characters.
10822 * kern/disk.c (find_part_sep): New.
10823 (grub_disk_open): Use it to find the first non-escaped ','
10824 character in the disk name.
10825 * util/ieee1275/devicemap.c (escape_of_path): New.
10826 (grub_util_emit_devicemap_entry): Use it.
10827 * util/sparc64/ieee1275/grub-install.in: Update script to
10828 strip partition specifiers properly by not triggering on
10829 '\' escaped ',' characters.
10830
10831 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10832
10833 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
10834 to 0x300.
10835 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
10836 resolutions.
10837 (linux_vesafb_modes): Add a lot of additional modes to the list (based
10838 on documentation from Wikipedia).
10839
10840 2009-05-04 Pavel Roskin <proski@gnu.org>
10841
10842 * disk/ata.c: Spelling fixes.
10843 * disk/raid.c: Likewise.
10844 * disk/usbms.c: Likewise.
10845 * disk/dmraid_nvidia.c: Likewise.
10846 * kern/ieee1275/openfw.c: Likewise.
10847 * kern/ieee1275/init.c: Likewise.
10848 * kern/ieee1275/cmain.c: Likewise.
10849 * boot/i386/pc/cdboot.S: Likewise.
10850 * video/readers/png.c: Likewise.
10851 * video/i386/pc/vbe.c: Likewise.
10852 * fs/udf.c: Likewise.
10853 * fs/hfs.c: Likewise.
10854 * fs/reiserfs.c: Likewise.
10855 * efiemu/runtime/efiemu.c: Likewise.
10856 * efiemu/main.c: Likewise.
10857 * efiemu/mm.c: Likewise.
10858 * include/grub/elf.h: Likewise.
10859 * include/grub/xnu.h: Likewise.
10860 * include/grub/usbdesc.h: Likewise.
10861 * include/grub/usb.h: Likewise.
10862 * include/grub/script_sh.h: Likewise.
10863 * include/grub/lib/LzmaEnc.h: Likewise.
10864 * include/grub/efiemu/efiemu.h: Likewise.
10865 * include/grub/command.h: Likewise.
10866 * normal/menu.c: Likewise.
10867 * normal/main.c: Likewise.
10868 * normal/datetime.c: Likewise.
10869 * bus/usb/uhci.c: Likewise.
10870 * mmap/i386/uppermem.c: Likewise.
10871 * mmap/mmap.c: Likewise.
10872 * commands/acpi.c: Likewise.
10873 * commands/test.c: Likewise.
10874 * partmap/apple.c: Likewise.
10875 * font/font.c: Likewise.
10876 * loader/sparc64/ieee1275/linux.c: Likewise.
10877 * loader/macho.c: Likewise.
10878 * loader/i386/bsd_trampoline.S: Likewise.
10879 * loader/i386/bsd.c: Likewise.
10880 * loader/xnu.c: Likewise.
10881 * term/i386/pc/vesafb.c: Likewise.
10882 * term/usb_keyboard.c: Likewise.
10883 * util/resolve.c: Likewise.
10884 * util/getroot.c: Likewise.
10885
10886 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
10887
10888 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
10889
10890 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10891
10892 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
10893 build error.
10894
10895 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10896
10897 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
10898 parameter only available on BIOS.
10899
10900 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 Removed wrong semicolon in declaration
10903
10904 * grub/misc.h (grub_dprintf): remove semicolon
10905
10906 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10907
10908 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
10909 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
10910 is done by grub_cmd_linux() now).
10911 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
10912 restore video to text mode.
10913 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
10914 indicates lack of "vga=" parameter. "vga=0" is mapped to
10915 `GRUB_LINUX_VID_MODE_NORMAL'.
10916
10917 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
10918
10919 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
10920 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
10921 and `normal/script.c'. Add `kern/rescue_reader.c',
10922 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
10923 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
10924 `grub_script.tab.c'.
10925
10926 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10930 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10931
10932 * Makefile.in: Remove duplicated 2008 in Copyright line.
10933
10934 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10935
10936 * util/misc.c (grub_util_warn): New function. Emits a warning
10937 unconditionally.
10938 * include/grub/util/misc.h (grub_util_warn): New declaration.
10939
10940 * util/i386/pc/grub-install.in: Understand --force and pass it down
10941 to grub-setup.
10942
10943 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
10944 down to setup().
10945 (setup): Improve error messages and add warnings when requested to
10946 install in odd layouts. Refuse to install using blocklists unless
10947 --force was set.
10948
10949 2009-05-04 martin f. krafft <madduck@madduck.net>
10950
10951 * disk/raid.c (grub_raid_scan_device): Improve debug message.
10952
10953 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 Updated copyright year
10956
10957 * fs/hfsplus.c: updated copyright year
10958
10959 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 HFS+ UUID
10962
10963 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
10964 in the space previously used by unused3
10965 (grub_hfsplus_uuid): new function
10966 (grub_hfsplus_fs): added uuid field
10967
10968 2009-05-03 Pavel Roskin <proski@gnu.org>
10969
10970 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
10971 suppress warnings. It's no longer needed.
10972 * disk/host.c: Likewise.
10973 * disk/ata_pthru.c: Likewise.
10974 * disk/loopback.c: Likewise.
10975 * hook/datehook.c: Likewise.
10976 * parttool/pcpart.c: Likewise.
10977 * fs/i386/pc/pxe.c: Likewise.
10978 * fs/ntfscomp.c: Likewise.
10979 * efiemu/main.c: Likewise.
10980 * mmap/mmap.c: Likewise.
10981 * commands/crc.c: Likewise.
10982 * commands/hexdump.c: Likewise.
10983 * commands/hdparm.c: Likewise.
10984 * commands/acpi.c: Likewise.
10985 * commands/echo.c: Likewise.
10986 * commands/minicmd.c: Likewise.
10987 * commands/blocklist.c: Likewise.
10988 * commands/memrw.c: Likewise.
10989 * commands/loadenv.c: Likewise.
10990 * commands/usbtest.c: Likewise.
10991 * commands/lsmmap.c: Likewise.
10992 * commands/boot.c: Likewise.
10993 * commands/parttool.c: Likewise.
10994 * commands/configfile.c: Likewise.
10995 * commands/search.c: Likewise.
10996 * commands/ieee1275/suspend.c: Likewise.
10997 * commands/cat.c: Likewise.
10998 * commands/i386/pc/pxecmd.c: Likewise.
10999 * commands/i386/pc/play.c: Likewise.
11000 * commands/i386/pc/halt.c: Likewise.
11001 * commands/i386/pc/vbeinfo.c: Likewise.
11002 * commands/i386/pc/vbetest.c: Likewise.
11003 * commands/lspci.c: Likewise.
11004 * commands/date.c: Likewise.
11005 * commands/handler.c: Likewise.
11006 * commands/ls.c: Likewise.
11007 * commands/test.c: Likewise.
11008 * commands/cmp.c: Likewise.
11009 * commands/efi/loadbios.c: Likewise.
11010 * commands/efi/fixvideo.c: Likewise.
11011 * commands/halt.c: Likewise.
11012 * commands/help.c: Likewise.
11013 * commands/reboot.c: Likewise.
11014 * hello/hello.c: Likewise.
11015 * script/sh/main.c: Likewise.
11016 * loader/xnu.c: Likewise.
11017 * term/terminfo.c: Likewise.
11018 * term/i386/pc/serial.c: Likewise.
11019 * term/usb_keyboard.c: Likewise.
11020
11021 2009-05-03 David S. Miller <davem@davemloft.net>
11022
11023 * normal/menu.c: Include grub/parser.h
11024
11025 2009-05-03 Pavel Roskin <proski@gnu.org>
11026
11027 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11028 not char*.
11029 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11030 Suggested by Javier Martín <lordhabbit@gmail.com>
11031
11032 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11033 efiemu??.o doesn't exist.
11034 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11035 copying.
11036
11037 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 FreeBSD 64-bit support
11040
11041 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
11042 and loader/i386/bsd_trampoline.S
11043 (bsd_mod_ASFLAGS): new variable
11044 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11045 (FREEBSD_MODTYPE_KERNEL64): likewise
11046 (grub_bsd64_trampoline_start): likewise
11047 (grub_bsd64_trampoline_end): likewise
11048 (grub_bsd64_trampoline_selfjump): likewise
11049 (grub_bsd64_trampoline_gdt): likewise
11050 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11051 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11052 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11053 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
11054 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11055 of "attrib" member
11056 * loader/i386/bsd_pagetable.c: new file
11057 * loader/i386/bsd_trampoline.S: likewise
11058 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11059 (ALIGN_VAR): likewise
11060 (entry_hi): new variable
11061 (kern_end_mdofs): likewise
11062 (is_64bit): likewise
11063 (grub_freebsd_add_meta): use ALIGN_VAR
11064 (grub_e820_mmap): new declaration
11065 (grub_freebsd_add_mmap): new function
11066 (grub_freebsd_add_meta_module): support 64 bit kernels
11067 (grub_freebsd_list_modules): use ALIGN_VAR
11068 (gdt_descriptor): new declaration
11069 (grub_freebsd_boot): support 64 bit kernels
11070 (grub_bsd_elf64_hook): new function
11071 (grub_bsd_load_elf): support elf64
11072
11073 2009-05-03 Bean <bean123ch@gmail.com>
11074
11075 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11076 after we get the result of if statement.
11077
11078 2009-05-03 Bean <bean123ch@gmail.com>
11079
11080 * Makefile.in (enable_efiemu): New variable.
11081
11082 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11083 set.
11084 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11085 path.
11086 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11087 path, add -mno-red-zone option.
11088 (efiemu64_s.o): Likewise.
11089 (efiemu64.o): Use macro $^ for source file.
11090
11091 * configure.ac (--enable-efiemu): New option.
11092
11093 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 xnu support
11096
11097 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11098 (pkglib_MODULES): add xnu.mod
11099 (xnu_mod_SOURCES): new variable
11100 (xnu_mod_CFLAGS): likewise
11101 (xnu_mod_LDFLAGS): likewise
11102 (xnu_mod_ASFLAGS): likewise
11103 * conf/i386-pc.rmk: likewise
11104 * conf/x86_64-efi.rmk: likewise
11105 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
11106 new declaration
11107 * include/grub/i386/macho.h: new file
11108 * include/grub/i386/xnu.h: likewise
11109 * include/grub/macho.h: likewise
11110 * include/grub/machoload.h: likewise
11111 * include/grub/x86_64/macho.h: likewise
11112 * include/grub/x86_64/xnu.h: likewise
11113 * include/grub/xnu.h: likewise
11114 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11115 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11116 * loader/i386/efi/xnu.c: new file
11117 * loader/i386/pc/xnu.c: likewise
11118 * loader/i386/xnu.c: likewise
11119 * loader/i386/xnu_helper.S: likewise
11120 * loader/macho.c: likewise
11121 * loader/xnu.c: likewise
11122 * loader/xnu_resume.c: likewise
11123 * util/grub-dumpdevtree: likewise
11124 * include/grub/i386/pit.h: include grub/err.h
11125 (grub_pit_wait): export
11126 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
11127
11128 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 Efiemu
11131
11132 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
11133 _linux_efi, linux_efi.
11134 new files in grub-emu
11135 new targets efiemu32.o and efiemu64.o
11136 * loader/linux_normal_efiemu.c: likewise
11137 * loader/i386/efi/linux.c: added preliminary efiemu support
11138 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
11139 files to copy
11140 * include/grub/autoefi.h: new file
11141 * include/grub/i386/efiemu.h: likewise
11142 * include/grub/i386/pc/efiemu.h: likewise
11143 * include/grub/efi/api.h: add LL suffix when necessary
11144 new definitions relating to tables
11145 * include/grub/efiemu/efiemu.h: new file
11146 * include/grub/efiemu/runtime.h: likewise
11147 * efiemu/prepare.c: likewise
11148 * efiemu/loadcore_common.c: likewise
11149 * efiemu/loadcore64.c: likewise
11150 * efiemu/runtime/efiemu.sh: likewise
11151 * efiemu/runtime/efiemu.S: likewise
11152 * efiemu/runtime/efiemu.c: likewise
11153 * efiemu/runtime/config.h: likewise
11154 * efiemu/prepare32.c: likewise
11155 * efiemu/main.c: likewise
11156 * efiemu/modules/pnvram.c: likewise
11157 * efiemu/modules/i386: likewise
11158 * efiemu/modules/i386/pc: likewise
11159 * efiemu/modules/acpi.c: likewise
11160 * efiemu/i386/pc/cfgtables.c: likewise
11161 * efiemu/i386/loadcore64.c: likewise
11162 * efiemu/i386/loadcore32.c: likewise
11163 * efiemu/prepare64.c: likewise
11164 * efiemu/loadcore.c: likewise
11165 * efiemu/symbols.c: likewise
11166 * efiemu/mm.c: likewise
11167 * efiemu/loadcore32.c: likewise
11168
11169 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 ACPI spoofing
11172
11173 * commands/acpi.c: new file
11174 * commands/i386/pc/acpi.c: likewise
11175 * commands/efi/acpi.c: likewise
11176 * include/grub/acpi.h: likewise
11177 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11178 (acpi_mod_SOURCES): new variable
11179 (acpi_mod_CFLAGS): likewise
11180 (acpi_mod_LDFLAGS): likewise
11181 * conf/i386-efi.rmk: likewise
11182 * conf/x86_64-efi.rmk: likewise
11183
11184 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 Missing part from mmap patch
11187
11188 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11189 (grub_mmap_unregister)
11190 (grub_mmap_free_and_unregister): use grub_mmap_register
11191
11192 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 Mmap services
11195
11196 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11197 * loader/i386/linux.c (find_mmap_size): likewise
11198 (allocate_pages): likewise
11199 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11200 (grub_fill_multiboot_mmap): likewise
11201 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11202 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11203 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11204 (OPENBSD_MMAP_RESERVED): likewise
11205 * include/grub/i386/pc/memory.h: include grub/memory.h
11206 (grub_lower_mem): removed
11207 (grub_upper_mem): likewise
11208 (GRUB_MACHINE_MEMORY_ACPI): new definition
11209 (GRUB_MACHINE_MEMORY_NVS): likewise
11210 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11211 (GRUB_MACHINE_MEMORY_HOLE): likewise
11212 (grub_machine_mmap_register): likewise
11213 (grub_machine_mmap_unregister): likewise
11214 (grub_machine_get_upper): likewise
11215 (grub_machine_get_lower): likewise
11216 (grub_machine_get_post64): likewise
11217 * include/grub/i386/efi/memory.h: new file
11218 * include/grub/x86_64/efi/memory.h: likewise
11219 * include/grub/efi/memory.h: likewise
11220 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
11221 (mmap_mod_SOURCES): new variable
11222 (mmap_mod_LDFLAGS): likewise
11223 (mmap_mod_ASFLAGS): likewise
11224 * conf/i386-coreboot.rmk: likewise
11225 * conf/i386-ieee1275.rmk: likewise
11226 * conf/i386-efi.rmk: likewise
11227 * conf/x86_64-efi.rmk: likewise
11228 * include/grub/types.h (UINT_TO_PTR): new macro
11229 (PTR_TO_UINT32): likewise
11230 (PTR_TO_UINT64): likewise
11231 * include/grub/memory.h: new file
11232 * mmap/i386/pc/mmap.c: likewise
11233 * mmap/i386/pc/mmap_helper.S: likewise
11234 * mmap/i386/uppermem.c: likewise
11235 * mmap/mmap.c: likewise
11236 * mmap/efi/mmap.c: likewise
11237 * kern/i386/coreboot/init.c (grub_machine_init): don't use
11238 grub_upper_mem
11239 * kern/i386/pc/init.c (grub_lower_mem): removed variable
11240 (grub_upper_mem): likewise
11241 (grub_machine_init): don't use grub_upper_mem,
11242 make grub_lower_mem local
11243 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
11244 grub_mmap_iterate and grub_mmap_get_upper
11245 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
11246
11247 2009-05-02 Bean <bean123ch@gmail.com>
11248
11249 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
11250 script/sh/parser.y.
11251 (pkglib_MODULES): Add normal.mod and sh.mod.
11252 (normal_SOURCES): New variable.
11253 (normal_mod_CFLAGS): Likewise.
11254 (normal_mod_LDFLAGS): Likewise.
11255 (sh_mod_SOURCES): Likewise.
11256 (sh_mod_CFLAGS): Likewise.
11257 (sh_mod_LDFLAGS): Likewise.
11258
11259 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
11260 script/sh/lexer.c_DEPENDENCIES.
11261 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
11262 kern/rescue_reader.c and kern/rescue_parser.c.
11263 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
11264 (grub_emu_SOURCES): Change source files.
11265 (pkglib_MODULES): Remove normal.mod.
11266 (normal_SOURCES): Removed.
11267 (normal_mod_CFLAGS): Likewise.
11268 (normal_mod_LDFLAGS): Likewise.
11269 * conf/i386-coreboot.rmk: Likewise.
11270 * conf/i386-efi.rmk: Likewise.
11271 * conf/i386-ieee1276.rmk: Likewise.
11272 * conf/powerpc-ieee1275.rmk: Likewise.
11273 * conf/sparc64-ieee1275.rmk: Likewise.
11274 * conf/x86_64-efi.rmk: Likewise.
11275
11276 * include/grub/command.h (grub_command_execute): New inline function.
11277
11278 * include/grub/menu.h (grub_menu_entry): Removed commands field.
11279
11280 * include/grub/normal.h: Remove <grub/setjmp.h>.
11281 (grub_fs_module_list): Moved to normal/autofs.c.
11282 (grub_exit_env): Removed.
11283 (grub_command_execute): Likewise.
11284 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
11285 parameter script.
11286 (read_command_list): New function declaration.
11287 (read_fs_list): Likewise.
11288
11289 * include/parser.h: Include <grub/reader.h>.
11290 (grub_parser_split_cmdline): Change type of getline parameter.
11291 (grub_parser): New structure.
11292 (grub_parser_class): New variable.
11293 (grub_parser_execute): New function declaration.
11294 (grub_register_rescue_parser): Likewise.
11295 (grub_parser_register): New inline function.
11296 (grub_parser_unregister): Likewise.
11297 (grub_parser_get_current): Likewise.
11298 (grub_parser_set_current): Likewise.
11299
11300 * include/grub/reader.h: New file.
11301 * kern/reader.c: Likewise.
11302 * kern/rescue_parser.c: Likewise.
11303 * kern/rescue_reader.c: Likewise.
11304 * normal/autofs.c: Likewise.
11305 * normal/dyncmd.c: Likewise.
11306
11307 * include/grub/rescue.h: Removed.
11308 * normal/command.h: Likewise.
11309
11310 * include/grub/script.h: Moved to ...
11311 * include/grub/script_sh.h: ... Moved here.
11312 * normal/execute.c: Moved to ...
11313 * script/sh/execute.c: ... Moved here.
11314 * normal/function.c: Moved to ...
11315 * script/sh/function.c: ... Moved here.
11316 * normal/lexer.c: Moved to ...
11317 * script/sh/lexer.c: ... Moved here.
11318 * normal/parser.y: Moved to ...
11319 * script/sh/parser.y: ... Moved here.
11320 * normal/script.c: Moved to ...
11321 * script/sh/script.c: ... Moved here.
11322
11323 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
11324 <grub/reader.h>.
11325 (grub_exit_env): Removed.
11326 (fs_module_list): Moved to normal/autofs.c.
11327 (grub_file_getline): Don't handle comment here.
11328 (free_menu): Skip removed field entry->commands.
11329 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
11330 script parameter.
11331 (read_config_file): Removed nested parameter, change getline function.
11332 (grub_enter_normal_mode): Removed.
11333 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
11334 (read_command_list): Likewise.
11335 (autoload_fs_module): Moved to normal/autofs.c.
11336 (read_fs_list): Likewise.
11337 (reader_nested): New variable.
11338 (grub_normal_execute): Run parser.sh to switch to sh parser.
11339 (grub_cmd_rescue): Removed.
11340 (cmd_normal): Removed.
11341 (grub_cmd_normal): Unregister itself at the beginning. Don't register
11342 rescue command.
11343 (grub_cmdline_run): New function.
11344 (grub_normal_reader_init): Likewise.
11345 (grub_normal_read_line): Likewise.
11346 (grub_env_write_pager): Likewise.
11347 (cmdline): New variable.
11348 (grub_normal_reader): Likewise.
11349 (GRUB_MOD_INIT): Register normal reader and set as current, register
11350 pager hook, register normal command with grub_register_command_prio,
11351 so that it won't show up in command.lst.
11352 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
11353 grub_fs_autoload_hook.
11354
11355 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
11356 (grub_menu_execute_entry): Replace grub_script_execute with
11357 grub_parser_execute, change parameter to grub_command_execute.
11358
11359 * normal/menu_text.c: Remove <grub/script.h>.
11360
11361 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
11362 and <grub/parser.h>.
11363 (run): Change editor_getline to use new parser interface. Change
11364 parameter to grub_command_execute.
11365
11366 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
11367 <grub/reader.h> and <grub/parser.h>.
11368 (grub_load_normal_mode): Execute normal command.
11369 (grub_main): Call grub_register_core_commands,
11370 grub_register_rescue_parser and grub_register_rescue_reader, use
11371 grub_reader_loop to enter input loop.
11372
11373 * kern/parser.c (grub_parser_split_cmdline): Change type of
11374 getline parameter.
11375 (grub_parser_class): New variable.
11376 (grub_parser_execute): New function.
11377
11378 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
11379 * loader/multiboot2.c: Likewise.
11380 * loader/sparc64/ieee1275/linux.c: Likewise.
11381
11382 * util/grub-emu.c (read_command_list): New dummy function.
11383
11384 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11385
11386 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
11387 count to 16 for CCISS and IDA.
11388
11389 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11390
11391 * normal/menu_text.c (grub_wait_after_message): Print a newline
11392 after waiting for user input.
11393
11394 * loader/i386/linux.c: Include `<grub/normal.h>'.
11395 (grub_cmd_linux): Improve the error message about `ask' mode, by
11396 waiting for user input so it's not missed (we can do this, since
11397 user requested interaction).
11398
11399 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 Added missing lst to grub-mkrescue
11402
11403 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
11404 and ${input_dir}/parttool.lst
11405
11406 2009-04-30 David S. Miller <davem@davemloft.net>
11407
11408 * util/hostdisk.c (device_is_wholedisk): New function.
11409 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
11410 zero only if device_is_wholedisk() returns true.
11411
11412 * util/hostdisk.c (convert_system_partition_to_system_disk):
11413 Handle virtual disk devices named /dev/vdiskX as found on sparc
11414 and powerpc.
11415
11416 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
11417 lettered partition specifier is found, convert to numbered.
11418
11419 2009-04-29 David S. Miller <davem@davemloft.net>
11420
11421 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
11422 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11423
11424 * normal/command.c: Add missing newline at end of file.
11425
11426 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
11427 warnings.
11428 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
11429 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
11430 grub_ofdisk_read): Likewise, and deal similarly with the fact that
11431 ihandles have a 32-bit type but need to be stored in a "void *".
11432
11433 2009-04-28 Pavel Roskin <proski@gnu.org>
11434
11435 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
11436 not disk. Adjust all dependencies.
11437 (grub_fs_uuid_close): Use grub_device_close(), not
11438 grub_disk_close().
11439
11440 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
11441 parent's partition, don't copy it by reference, as it gets freed
11442 on close.
11443
11444 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 Preboot hooks support
11447
11448 * commands/boot.c (struct grub_preboot_t): new declaration
11449 (preboots_head): new variable
11450 (preboots_tail): likewise
11451 (grub_loader_register_preboot_hook): new function
11452 (grub_loader_unregister_preboot_hook): likewise
11453 (grub_loader_set): launch preboot hooks
11454 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
11455 (grub_loader_register_preboot_hook): new declaration
11456 (grub_loader_unregister_preboot_hook): likewise
11457
11458 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 Warning fix
11461
11462 * disk/scsi.c (grub_scsi_open): added missing cast when
11463 calling grub_dprintf
11464
11465 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 Bug and warning fixes
11468
11469 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
11470 declaration
11471 * commands/test.c (test_parse): fixed bug with file tests and corrected
11472 declaration of find_file
11473
11474 2009-04-26 Pavel Roskin <proski@gnu.org>
11475
11476 * Makefile.in: Don't install empty manual pages if help2man is
11477 missing. Use help2man option for output, not shell redirection.
11478
11479 2009-04-26 David S. Miller <davem@davemloft.net>
11480
11481 * util/grub-mkdevicemap.c (make_device_map): Add missing
11482 NESTED_FUNC_ATTR to process_device().
11483
11484 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 Test command
11487
11488 * commands/test.c: rewritten to use bash-like test
11489
11490 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Parttool autoloading and improvements
11493
11494 * Makefile.in (pkglib_DATA): add parttool.lst
11495 (parttool.lst): new target
11496 * genmk.rb: generate parttool-*
11497 (CLEANFILES): add #{parttool}
11498 (PARTTOOLFILES): new variable
11499 * genparttoollist.sh: new file
11500 * parttool/pcpart.c (grub_pcpart_boot): more feedback
11501 (grub_pcpart_type): likewise
11502 * commands/parttool.c (helpmsg): new variable
11503 (grub_cmd_parttool): output help if not enough arguments are supplied
11504 autoload modules
11505 (GRUB_MOD_INIT(parttool)): use helpmsg
11506
11507 2009-04-24 David S. Miller <davem@davemloft.net>
11508
11509 Avoiding opening same device multiple times in device iterator.
11510
11511 * kern/device.c: (grub_device_iterate): Define struct part_ent,
11512 and use it to build a list of partitions in iterate_disk() and
11513 iterate_partition().
11514
11515 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
11516 on disk->data.
11517
11518 * disk/ieee1275/nand.c (grub_nand_iterate): Return
11519 grub_devalias_iterate() result instead of unconditional 0.
11520 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
11521 Also, capture hook return value, either directly or via
11522 grub_children_iterate(), and propagate to caller.
11523 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
11524 grub_children_iterate): Return value is now 'int' instead of
11525 'grub_err_t'.
11526 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
11527 like a proper iterator, stopping when hooks return non-zero.
11528 (grub_devalias_iterate): Likewise.
11529
11530 2009-04-23 David S. Miller <davem@davemloft.net>
11531
11532 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
11533
11534 2009-04-22 David S. Miller <davem@davemloft.net>
11535
11536 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
11537 is larger than address_cells, use that value for address_cells too.
11538
11539 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
11540 IEEE1275_MAX_PATH_LEN): Define.
11541 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
11542 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
11543 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
11544 'devtype'. Explicitly NULL terminate devalias expansion.
11545
11546 * util/sparc64/ieee1275/misc.c: New file.
11547 * util/sparc64/ieee1275/grub-setup.c: New file.
11548 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
11549 * util/sparc64/ieee1275/grub-mkimage.c: New file.
11550 * util/sparc64/ieee1275/grub-install.in: New file.
11551 * util/ieee1275/ofpath.c: New file.
11552 * util/ieee1275/devicemap.c: New file.
11553 * util/devicemap.c: New file.
11554 * util/deviceiter.c: New file.
11555 * kern/sparc64/ieee1275/init.c: New file.
11556 * include/grub/util/ofpath.h: New file.
11557 * include/grub/util/deviceiter.h: New file.
11558 * util/grub-mkdevicemap.c: Include deviceiter.h.
11559 Implement using grub_util_emit_devicemap_entry and
11560 grub_util_iterate_devices.
11561 * conf/i386-corebook.rmk: Build util/deviceiter.c and
11562 util/devicemap.c into grub-mkdevicemap
11563 * conf/i386-efi.rmk: Likewise.
11564 * conf/i386-ieee1275.rmk: Likewise.
11565 * conf/i386-pc.rmk: Likewise.
11566 * conf/powerpc-ieee1275.rmk: Likewise.
11567 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
11568 images and installation utilities. Build kernel as image
11569 instead of as elf binary. Use common rules as much as possible.
11570
11571 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11572
11573 Correct GPT definition
11574
11575 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11576 of "attrib" member
11577
11578 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
11579
11580 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
11581
11582 2009-04-19 David S. Miller <davem@davemloft.net>
11583
11584 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
11585 (grub_rescue_cmd_linux): Rename to...
11586 (grub_cmd_linux): and fix prototype.
11587 (grub_rescue_cmd_initrd): Rename to...
11588 (grub_cmd_initrd): and fix prototype.
11589 (cmd_linux, cmd_initrd): New.
11590 (GRUB_MOD_INIT(linux)): Use grub_register_command().
11591 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
11592
11593 2009-04-17 Pavel Roskin <proski@gnu.org>
11594
11595 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
11596 format.
11597 (grub_ohci_transfer): Likewise.
11598
11599 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
11600
11601 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
11602 return without a value. Fix inconsistent indentation.
11603
11604 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
11605 match struct grub_fs.
11606
11607 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
11608 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
11609 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11610 * commands/lspci.c (grub_lspci_iter): Likewise.
11611
11612 2009-04-16 Bean <bean123ch@gmail.com>
11613
11614 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
11615 value.
11616
11617 2009-04-15 Pavel Roskin <proski@gnu.org>
11618
11619 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
11620 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
11621 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
11622 definitions.
11623
11624 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
11625
11626 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
11627 that no multiple data or metadata areas are supported and `Unknown
11628 metadata header'.
11629
11630 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 Move loader out of the kernel
11633
11634 * kern/loader.c: moved to ...
11635 * commands/boot.c: ... moved here
11636 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
11637 * commands/boot.c (grub_cmd_boot): moved here. All users updated
11638 * include/grub/kernel.h (grub_machine_fini): export
11639 * include/grub/loader.h (grub_loader_is_loaded): update declaration
11640 (grub_loader_set): likewise
11641 (grub_loader_unset): likewise
11642 (grub_loader_boot): likewise
11643 * conf/common.rmk: new module boot.mod
11644 (pkglib_MODULES): add boot.mod
11645 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
11646 (grub_emu_SOURCES): likewise
11647 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
11648 (grub_emu_SOURCES): likewise
11649 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
11650 (grub_emu_SOURCES): likewise
11651 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
11652 (grub_emu_SOURCES): likewise
11653 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
11654 (grub_emu_SOURCES): likewise
11655 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
11656 (grub_emu_SOURCES): likewise
11657 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
11658 (grub_emu_SOURCES): likewise
11659
11660 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
11663
11664 * kern/misc.c (grub_itoa): Removed function
11665 (grub_ltoa): likewise
11666 (grub_vsprintf): use grub_lltoa
11667
11668 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 Restore grub-emu
11671
11672 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
11673 * conf/i386-coreboot.rmk: likewise
11674 * conf/i386-ieee1275.rmk: likewise
11675 * conf/powerpc-ieee1275.rmk: likewise
11676
11677 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
11678
11679 * INSTALL: Add that `./autogen.sh' needs to be run before
11680 `./configure.'.
11681
11682 2009-04-14 Bean <bean123ch@gmail.com>
11683
11684 * Makefile.in (pkglib_DATA): Add handler.lst.
11685 (handler.lst): New rule.
11686
11687 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
11688 * conf/i386-coreboot.rmk: Likewise.
11689 * conf/i386-ieee1275.rmk: Likewise.
11690 * conf/i386-efi.rmk: Likewise.
11691 * conf/x86_64-efi.rmk: Likewise.
11692 * conf/powerpc-ieee1275.rmk: Likewise.
11693 * conf/sparc64-ieee1275.rmk: Likewise.
11694
11695 * genhandlerlist.sh: New file.
11696
11697 * genmk.rb: Add rules to generate handler.lst.
11698
11699 * include/grub/normal.h (grub_file_getline): New function definition.
11700 (read_handler_list): Likewise.
11701 (free_handler_list): Likewise.
11702
11703 * include/grub/term.h (grub_term_register_input): Add name parameter
11704 for auto generation of handler.lst.
11705 (grub_term_register_output): Likewise.
11706
11707 * normal/handler.c: New file.
11708
11709 * normal/main.c (get_line): Renamed to grub_file_getline.
11710 (read_config_file): Use the newly renamed grub_file_getline.
11711 (read_command_list): Likewise.
11712 (read_fs_list): Likewise.
11713 (grub_normal_execute): Call read_handler_list to parse handler.lst.
11714 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
11715
11716 * term/efi/console.c (grub_console_init): Add name parameter for auto
11717 generation of handler.lst.
11718 * term/gfxterm.c: Likewise.
11719 * term/i386/pc/at_keyboard.c: Likewise.
11720 * term/i386/pc/console.c: Likewise.
11721 * term/i386/pc/serial.c: Likewise.
11722 * term/i386/pc/vesafb.c: Likewise.
11723 * term/i386/pc/vga.c: Likewise.
11724 * term/i386/pc/vga_text.c: Likewise.
11725 * term/ieee1275/ofconsole.c: Likewise.
11726 * term/usb_keyboard.c: Likewise.
11727
11728 2009-04-14 Bean <bean123ch@gmail.com>
11729
11730 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
11731 properly with null character.
11732
11733 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
11734
11735 * configure: Remove.
11736 * config.h.in: Likewise.
11737 * stamp-h.in: Likewise.
11738 * DISTLIST: Likewise.
11739 * conf/common.mk: Likewise.
11740 * conf/i386-coreboot.mk: Likewise.
11741 * conf/i386-efi.mk: Likewise.
11742 * conf/i386-ieee1275.mk: Likewise.
11743 * conf/i386.mk: Likewise.
11744 * conf/i386-pc.mk: Likewise.
11745 * conf/powerpc-ieee1275.mk: Likewise.
11746 * conf/sparc64-ieee1275.mk: Likewise.
11747 * conf/x86_64-efi.mk: Likewise.
11748
11749 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
11750 develop on GRUB.
11751
11752 2009-04-14 John Stanley <jpsinthemix@verizon.net>
11753 David S. Miller <davem@davemloft.net>
11754
11755 * util/hostdisk.c (make_device_name): Fix buffer length
11756 calculations.
11757
11758 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
11759
11760 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
11761 <sys/param.h> and <sys/sysctl.h>.
11762 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
11763 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
11764 opening the device and reset them afterwards.
11765
11766 2009-04-13 Pavel Roskin <proski@gnu.org>
11767
11768 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
11769 Reported by John Stanley <jpsinthemix@verizon.net>
11770
11771 2009-04-13 Robert Millan <rmh@aybabtu.com>
11772
11773 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
11774 that name for menuentries when appropriate.
11775
11776 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11777
11778 * util/grub.d/10_freebsd.in: Add a missing `fi'.
11779
11780 2009-04-13 Robert Millan <rmh@aybabtu.com>
11781
11782 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
11783 to Linux, simply abort telling the user it's no longer supported.
11784
11785 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11786
11787 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
11788 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
11789 `freebsd_loadenv' only when devices.hints exist.
11790
11791 2009-04-13 Pavel Roskin <proski@gnu.org>
11792
11793 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
11794
11795 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
11796
11797 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
11798 partition number.
11799 (grub_drive): Likewise.
11800
11801 2009-04-13 David S. Miller <davem@davemloft.net>
11802
11803 * kern/sparc64/ieee1275/ieee1275.c: New file.
11804 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
11805 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
11806 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
11807 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
11808 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
11809 grub_ieee1275_alloc_physmem): Declare new exported functions.
11810
11811 * include/grub/sparc64/ieee1275/loader.h: New file.
11812 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11813 * include/grub/sparc64/kernel.h: Likewise.
11814 * loader/sparc64/ieee1275/linux.c: Likewise.
11815
11816 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
11817 (grub_fstest_SOURCES): Likewise.
11818
11819 * util/hostdisk.c (make_device_name): Do not make any assumptions
11820 about the length of drive names.
11821
11822 * kern/dl.c (grub_dl_load_file): Close file immediately when
11823 we are done using it.
11824
11825 2009-04-12 David S. Miller <davem@davemloft.net>
11826
11827 * kern/misc.c (grub_ltoa): Fix cast when handling negative
11828 values. Noticed by Pavel Roskin.
11829
11830 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
11831 target compiler.
11832
11833 * genmk.rb: Add more flexible image type specification, also
11834 pass --strip-unneeded to objcopy.
11835 * conf/i386-pc.rmk: Use *_FORMAT.
11836 * conf/i386-pc.mk: Rebuilt.
11837
11838 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
11839 (OFDISK_HASH_SZ): Define.
11840 (ofdisk_hash): New hash table.
11841 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
11842 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
11843 instead of device phandle which is not unique.
11844
11845 * kern/sparc64/ieee1275/init.c: Delete, replace with...
11846 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
11847 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
11848 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
11849 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
11850 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
11851 GRUB_KERNEL_MACHINE_DATA_END): Define.
11852 (grub_kernel_image_size, grub_total_module_size): Declare.
11853
11854 2009-04-12 Pavel Roskin <proski@gnu.org>
11855
11856 * configure.ac: Change the logic when we check for target tools.
11857 Do it when the target is specified and it's different from the
11858 specified value of the host.
11859
11860 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
11861
11862 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
11863 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
11864 GNU/kFreeBSD. Check if a device is a character device. Use
11865 DIOCGMEDIASIZE to get the size.
11866 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
11867 support for GNU/kFreeBSD.
11868 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
11869 is a character device instead of a block device. Add support for
11870 FreeBSD device names.
11871
11872 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
11873 is a character device instead of a block device.
11874
11875 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
11876 is a character device instead of a block device.
11877
11878 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
11879
11880 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
11881 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
11882 FreeBSD. Check if a device is a character device. Use
11883 DIOCGMEDIASIZE to get the size.
11884 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
11885 support for FreeBSD.
11886 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
11887 is a character device instead of a block device. Add support for
11888 FreeBSD device names.
11889
11890 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
11891 a character device instead of a block device.
11892 (grub_util_check_char_device): New function.
11893
11894 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
11895 a character device instead of a block device.
11896
11897 * include/grub/util/getroot.h (grub_util_check_char_device): New
11898 prototype.
11899
11900 2009-04-11 David S. Miller <davem@davemloft.net>
11901
11902 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
11903 static libgcc.
11904 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
11905 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
11906 function, if present.
11907 (__bswapdi2): Likewise.
11908
11909 * include/grub/sparc64/ieee1275/boot.h: New file.
11910 * boot/sparc64/ieee1275/boot.S: Likewise.
11911 * boot/sparc64/ieee1275/diskboot.S: Likewise.
11912
11913 * kern/misc.c (grub_ltoa): New function.
11914 (grub_vsprintf): Use it to format 'long' integers.
11915
11916 2009-04-10 David S. Miller <davem@davemloft.net>
11917
11918 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
11919 slots are of type grub_ieee1275_cell_t.
11920 (grub_nand_read): Likewise.
11921 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
11922 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
11923 macros are used to compare values in arg/ret block of the call.
11924 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
11925 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
11926 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
11927 grub_ieee1275_instance_to_path, grub_ieee1275_write,
11928 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
11929 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
11930 grub_ieee1275_close, grub_ieee1275_set_property,
11931 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
11932 grub_ieee1275_cell_t.
11933 * kern/ieee1275/openfw.c (grub_map): Likewise.
11934 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
11935 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
11936
11937 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
11938 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11939 (grub_devalias_iterate): Likewise.
11940
11941 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 UFS improvements
11944
11945 * fs/ufs.c (INODE_NBLOCKS): new definition
11946 (struct grub_ufs_dirent): added fields for non-BSD dirents
11947 (grub_ufs_get_file_block): fixed double indirect handling
11948 (grub_ufs_lookup_symlink): use more robust way to determine whether
11949 symlink is inline
11950 (grub_ufs_find_file): support for non-BSD dirents
11951 (grub_ufs_dir): support for non-BSD dirents
11952
11953 2009-04-10 Bean <bean123ch@gnail.com>
11954
11955 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
11956 attribute, otherwise the size would be wrong for i386 platform.
11957
11958 * include/grub/pci.h (grub_pci_read_word): New inline function.
11959 (grub_pci_read_byte): Likewise.
11960 (grub_pci_write): Likewise.
11961 (grub_pci_write_word): Likewise.
11962 (grub_pci_write_byte): Likewise.
11963
11964 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
11965
11966 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
11967 (find_framebuf): Scan pci to locate the frame buffer address.
11968
11969 * commands/efi/fixvideo.c: New file.
11970
11971 * commands/efi/loadbios.c: Likewise.
11972
11973 * commands/memrw.c: Likewise.
11974
11975 * util/grub-dumpbios.in: Likewise.
11976
11977 * conf/common.rmk (grub-dumpbios): New utility.
11978 (pkglib_MODULES): New module memrw.mod.
11979 (memrw_mod_SOURCE): New macro.
11980 (memrw_mod_CFLAGS): Likewise.
11981 (memrw_mod_LDFLAGS): Likewise.
11982
11983 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
11984 fixvideo.mod.
11985 (loadbios_mod_SOURCE): New macro.
11986 (loadbios_mod_CFLAGS): Likewise.
11987 (loadbios_mod_LDFLAGS): Likewise.
11988 (fixvideo_mod_SOURCE): Likewise.
11989 (fixvideo_mod_CFLAGS): Likewise.
11990 (fixvideo_mod_LDFLAGS): Likewise.
11991
11992 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
11993 fixvideo.mod.
11994 (loadbios_mod_SOURCE): New macro.
11995 (loadbios_mod_CFLAGS): Likewise.
11996 (loadbios_mod_LDFLAGS): Likewise.
11997 (fixvideo_mod_SOURCE): Likewise.
11998 (fixvideo_mod_CFLAGS): Likewise.
11999 (fixvideo_mod_LDFLAGS): Likewise.
12000
12001 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
12002
12003 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12004
12005 2009-04-07 David S. Miller <davem@davemloft.net>
12006
12007 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12008 support for R_SPARC_OLO10 relocations. Fix compile warning for
12009 R_SPARC_WDISP30 case.
12010 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
12011
12012 2009-04-06 Pavel Roskin <proski@gnu.org>
12013
12014 * include/grub/misc.h (ARRAY_SIZE): New macro.
12015 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12016 New macro.
12017 * loader/i386/linux.c (allocate_pages): Use free_pages().
12018 (grub_linux_unload): Don't use free_pages().
12019 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12020 wrong index. Treat all other modes as text modes.
12021 (grub_cmd_linux): Initialize vid_mode unconditionally to
12022 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12023
12024 * commands/help.c (print_command_help): Use cmd->prio, not
12025 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12026
12027 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 Parttool
12030
12031 * parttool/pcpart.c: new file
12032 * commands/parttool.c: likewise
12033 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12034 (parttool_mod_SOURCES): new variable
12035 (parttool_mod_CFLAGS): likewise
12036 (parttool_mod_LDFLAGS): likewise
12037 (pcpart_mod_SOURCES): likewise
12038 (pcpart_mod_CFLAGS): likewise
12039 (pcpart_mod_LDFLAGS): likewise
12040 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
12041 and parttool/pcpart.c
12042 * conf/i386-efi.rmk: likewise
12043 * conf/i386-ieee1275.rmk: likewise
12044 * conf/i386-pc.rmk: likewise
12045 * conf/powerpc-ieee1275.rmk: likewise
12046 * conf/sparc64-ieee1275.rmk: likewise
12047 * conf/x86_64-ieee1275.rmk: likewise
12048
12049 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 Support for mtime and further expandability of dir command
12052
12053 * include/grub/lib/datetime.h: moved to ...
12054 * include/grub/datetime.h: ... moved here and added
12055 declaration of grub_unixtime2datetime. All users updated
12056 * include/grub/fs.h: new syntax for dir and mtime functions in
12057 struct grub_fs
12058 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12059 and GRUB_FSHELP_FLAGS_MASK
12060 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12061 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12062 (grub_ext2_mtime): new function
12063 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12064 (grub_hfsplus_mtime): new function
12065 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12066 (GRUB_UFS_ATTR_FILE): likewise
12067 (GRUB_UFS_ATTR_LNK): likewise
12068 (struct grub_ufs_sblock): new fields mtime
12069 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12070 all users updated
12071 (grub_ufs_dir): mtime support
12072 (grub_ufs_mtime): new function
12073 * fs/affs.c (grub_affs_dir): use new dir syntax
12074 * fs/afs.c (grub_afs_dir): likewise
12075 * fs/cpio.c (grub_cpio_dir): likewise
12076 * fs/fat.c (grub_fat_find_dir): likewise
12077 * fs/hfs.c (grub_hfs_dir): likewise
12078 * fs/iso9660.c (grub_iso9660_dir): likewise
12079 * fs/jfs.c (grub_jfs_dir): likewise
12080 * fs/minix.c (grub_minix_dir): likewise
12081 * fs/ntfs.c (grub_ntfs_dir): likewise
12082 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12083 * fs/sfs.c (grub_sfs_dir): likewise
12084 * fs/xfs.c (grub_xfs_dir): likewise
12085 * util/hostfs.c (grub_hostfs_dir): likewise
12086 * lib/datetime.c: moved to ...
12087 * normal/datetime.c: ... moved here
12088 (grub_unixtime2datetime): new function
12089 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
12090 * normal/completion.c (iterate_dir): use new dir syntax
12091 * normal/misc.c (grub_normal_print_device_info): tell the
12092 last modification time of a volume
12093 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
12094 * conf/common.rmk: added lib/datetime.c to ls.mod
12095 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
12096 (normal_mod_SOURCES): likewise
12097 (datetime_mod_SOURCES): Removed lib/datetime.c
12098 * conf/i386-efi.rmk: likewise
12099 * conf/i386-ieee1275.rmk: likewise
12100 * conf/i386-pc.rmk: likewise
12101 * conf/powerpc-ieee1275.rmk: likewise
12102 * conf/sparc64-ieee1275.rmk: likewise
12103 * conf/x86_64-efi.rmk: likewise
12104
12105 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 Trim trailing spaces in FAT label and support mtools-like labels
12108
12109 * fs/fat.c (grub_fat_iterate_dir): New function based
12110 on grub_fat_find_dir
12111 (grub_fat_find_dir): use grub_fat_iterate_dir
12112 (grub_fat_label): likewise
12113
12114 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
12117 and command.h
12118 remove extraneous kernel_elf_HEADERS
12119
12120 2009-04-04 Bean <bean123ch@gnail.com>
12121
12122 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12123
12124 * util/misc.c: Likewise.
12125
12126 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12127
12128 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12129 instead of grub_printf.
12130
12131 2009-04-03 Robert Millan <rmh@aybabtu.com>
12132
12133 * loader/i386/linux.c (grub_linux_setup_video): Fill
12134 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12135 values from `mode info' structure instead of hardcoded
12136 values.
12137
12138 2009-04-01 Pavel Roskin <proski@gnu.org>
12139
12140 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12141 unused now.
12142 * genmk.rb: Likewise.
12143 * configure.ac: Likewise.
12144
12145 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12146
12147 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12148 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12149
12150 2009-04-01 David S. Miller <davem@davemloft.net>
12151
12152 * normal/sparc64/setjmp.S: Fix setjmp implementation.
12153 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
12154 (grub_setjmp): Mark with 'returns_twice' attribute.
12155 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12156 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12157 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12158
12159 2009-04-01 Robert Millan <rmh@aybabtu.com>
12160
12161 Reapply fix from 2008-07-28 which was accidentally reverted; also
12162 perform the same fix to a similar check in same function.
12163
12164 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12165 with the same number are found, just use issue a warning with
12166 grub_dprintf(), as this error has been reported to be non-fatal.
12167
12168 2009-03-31 Pavel Roskin <proski@gnu.org>
12169
12170 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12171 for cross-compilation.
12172
12173 2009-03-30 Robert Millan <rmh@aybabtu.com>
12174
12175 Fix i386-ieee1275 build.
12176
12177 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12178 Remove declaration.
12179
12180 2009-03-30 Pavel Roskin <proski@gnu.org>
12181
12182 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12183 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12184 zero-terminated, rely only on the strlen value. Fix comparison
12185 of strings differing in length.
12186
12187 2009-03-30 Robert Millan <rmh@aybabtu.com>
12188
12189 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12190 checking for abi version. Improve error messages on BIOS to notify
12191 user about `linux16' command.
12192
12193 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 Leak fixes
12196
12197 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12198 in case of collision
12199 * disk/scsi.c (grub_scsi_open): free scsi in case of error
12200
12201 2009-03-29 Robert Millan <rmh@aybabtu.com>
12202
12203 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12204 set `vid_mode' accordingly.
12205 (grub_linux_boot): Process `vid_mode' and set video mode.
12206
12207 2009-03-29 Robert Millan <rmh@aybabtu.com>
12208
12209 * util/grub.d/10_linux.in (linux_entry): New function.
12210 Factorize generation of Linux boot entries.
12211
12212 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12213
12214 Make the format of Environment Block plain text. The boot loader
12215 part is not tested well yet.
12216
12217 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
12218 (buffer): Removed.
12219 (envblk): Likewise.
12220 (usage): Remove "info" and "clear". Add "unset". Update the
12221 description of "set", as this does not delete variables any
12222 longer.
12223 (create_envblk_file): Complete rewrite.
12224 (open_envblk_file): Likewise.
12225 (cmd_info): Removed.
12226 (cmd_list): Likewise.
12227 (cmd_set): Likewise.
12228 (cmd_clear): Likewise.
12229 (list_variables): New function.
12230 (write_envblk): Likewise.
12231 (set_variables): Likewise.
12232 (unset_variables): Likewise.
12233 (main): Complete rewrite.
12234
12235 * commands/loadenv.c (buffer): Removed.
12236 (envblk): Likewise.
12237 (open_envblk_file): New function.
12238 (read_envblk_file): Complete rewrite.
12239 (grub_cmd_load_env): Likewise.
12240 (grub_cmd_list_env): Likewise.
12241 (struct blocklist): New struct.
12242 (free_blocklists): New function.
12243 (check_blocklists): Likewise.
12244 (write_blocklists): Likewise.
12245 (grub_cmd_save_env): Complete rewrite.
12246
12247 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
12248 a plain text signature.
12249 (GRUB_ENVBLK_MAXLEN): Removed.
12250 (struct grub_envblk): Complete rewrite.
12251 (grub_envblk_find): Removed.
12252 (grub_envblk_insert): Likewise.
12253 (grub_envblk_open): New prototype.
12254 (grub_envblk_set): Likewise.
12255 (grub_envblk_delete): Put const to VALUE.
12256 (grub_envblk_iterate): Put const to NAME and VALUE.
12257 (grub_envblk_close): New prototype.
12258 (grub_envblk_buffer): New inline function.
12259 (grub_envblk_size): Likewise.
12260
12261 * lib/envblk.c: Include grub/mm.h.
12262 (grub_env_find): Removed.
12263 (grub_envblk_open): New function.
12264 (grub_envblk_close): Likewise.
12265 (escaped_value_len): Likewise.
12266 (find_next_line): Likewise.
12267 (grub_envblk_insert): Removed.
12268 (grub_envblk_set): New function.
12269 (grub_envblk_delete): Complete rewrite.
12270 (grub_envblk_iterate): Likewise.
12271
12272 2009-03-28 Robert Millan <rmh@aybabtu.com>
12273
12274 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
12275 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
12276 variables. Use 16-bit loader.
12277 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
12278 loader.
12279 * kern/i386/loader.S (grub_linux_boot): Rename to ...
12280 (grub_linux16_boot): ... this. Update all users.
12281 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
12282 (grub_linux_boot): ... this. Update all users.
12283
12284 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
12285 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
12286 commands to `linux16' and `initrd16'.
12287 (GRUB_MOD_FINI(linux)): Rename to ...
12288 (GRUB_MOD_FINI(linux16)): ... this.
12289
12290 2009-03-24 Pavel Roskin <proski@gnu.org>
12291
12292 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
12293 not just for compilation.
12294
12295 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 Move multiboot helper out of kernel
12298
12299 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
12300 `loader/i386/multiboot_helper.S'.
12301 * conf/i386-coreboot.rmk: Likewise
12302 * conf/i386-ieee1275.rmk: Likewise
12303
12304 * kern/i386/loader.S: Move multiboot helpers from here...
12305 * loader/i386/multiboot_helper.S: ...moved here
12306 * include/grub/i386/loader.h: Move declarations of multiboot
12307 helpers from here...
12308 * include/grub/i386/multiboot.h: ...moved here
12309 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
12310
12311 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12312
12313 * kern/env.c (grub_env_context_open): Added an argument to specify
12314 whether a new context inherits exported variables from current
12315 one. This is useful when making a sandbox to interpret a config
12316 file.
12317 All callers updated.
12318
12319 * include/grub/env.h (grub_env_context_open): Updated the prototype.
12320
12321 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12322
12323 * kern/env.c (grub_env_context_close): Fix memory leaks.
12324
12325 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12326
12327 * normal/main.c (grub_normal_execute): Added an argument
12328 BATCH to specify if an interactive interface should be provided
12329 after reading a config file.
12330 All callers updated.
12331 (read_command_list): Prevent being executed twice.
12332 (read_fs_list): Likewise.
12333
12334 * include/grub/normal.h (grub_normal_execute): Updated the
12335 prototype.
12336
12337 2009-03-22 Pavel Roskin <proski@gno.org>
12338
12339 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
12340 _start.
12341 * kern/i386/pc/startup.S: Likewise.
12342 * kern/i386/efi/startup.S: Likewise.
12343 * kern/i386/ieee1275/startup.S: Likewise.
12344 * kern/i386/coreboot/startup.S: Likewise.
12345 * kern/x86_64/efi/startup.S: Likewise.
12346
12347 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
12348 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
12349 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
12350
12351 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 Bugfixes in multiboot for bugs uncovered by solaris kernel.
12354
12355 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
12356 limit detection.
12357 Use vaddr of correct segment for entry_point.
12358
12359 2009-03-21 Bean <bean123ch@gmail.com>
12360
12361 * commands/blocklist.c: Add include file <grub/command.h>, remove
12362 <grub/normal.h> and <grub/arg.h>.
12363 (grub_cmd_blocklist): Use the new command interface.
12364 (GRUB_MOD_INIT): Likewise.
12365 (GRUB_MOD_FINI): Likewise.
12366 * commands/boot.c: Likewise.
12367 * commands/cat.c: Likewise.
12368 * commands/cmp.c: Likewise.
12369 * commands/configfile.c: Likewise.
12370 * commands/crc.c: Likewise.
12371 * commands/echo.c: Likewise.
12372 * commands/halt.c: Likewise.
12373 * commands/handler.c: Likewise.
12374 * commands/hdparm.c: Likewise.
12375 * commands/help.c: Likewise.
12376 * commands/hexdump.c: Likewise.
12377 * commands/loadenv.c: Likewise.
12378 * commands/ls.c: Likewise.
12379 * commands/lsmmap.c: Likewise.
12380 * commands/lspci.c: Likewise.
12381 * commands/loadenv.c: Likewise.
12382 * commands/read.c: Likewise.
12383 * commands/reboot.c: Likewise.
12384 * commands/search.c: Likewise.
12385 * commands/sleep.c: Likewise.
12386 * commands/test.c: Likewise.
12387 * commands/usbtest.c: Likewise.
12388 * commands/videotest.c: Likewise.
12389 * commands/i386/cpuid.c: Likewise.
12390 * commands/i386/pc/halt.c: Likewise.
12391 * commands/i386/pc/play.c: Likewise.
12392 * commands/i386/pc/pxecmd.c: Likewise.
12393 * commands/i386/pc/vbeinfo.c: Likewise.
12394 * commands/i386/pc/vbetest.c: Likewise.
12395 * commands/ieee1275/suspend.c: Likewise.
12396 * disk/loopback.c: Likewise.
12397 * font/font_cmd.c: Likewise.
12398 * hello/hello.c: Likewise.
12399 * loader/efi/appleloader.c: Likewise.
12400 * loader/efi/chainloader.c: Likewise.
12401 * loader/i386/bsd.c: Likewise.
12402 * loader/i386/efi/linux.c: Likewise.
12403 * loader/i386/ieee1275/linux.c: Likewise.
12404 * loader/i386/linux.c: Likewise.
12405 * loader/i386/pc/chainloader.c: Likewise.
12406 * loader/i386/pc/linux.c: Likewise.
12407 * loader/powerpc/ieee1275/linux.c: Likewise.
12408 * loader/multiboot_loader.c: Likewise.
12409 * term/gfxterm.c: Likewise.
12410 * term/i386/pc/serial.c: Likewise.
12411 * term/terminfo.c: Likewise.
12412
12413 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
12414 * term/i386/pc/vga.c: Likewise.
12415 * video/readers/jpeg.c: Likewise.
12416 * video/readers/png.c: Likewise.
12417 * video/readers/tga.c: Likewise.
12418
12419 * util/grub-fstest (cmd_loopback): Removed.
12420 (cmd_blocklist): Likewise.
12421 (cmd_ls): Likewise.
12422 (grub_register_command): Likewise.
12423 (grub_unregister_command): Likewise.
12424 (execute_command): Use grub_command_find to locate command and execute
12425 it.
12426
12427 * include/grub/efi/chainloader.h: Removed.
12428 * loader/efi/chainloader_normal.c: Likewise.
12429 * loader/i386/bsd_normal.c: Likewise.
12430 * loader/i386/pc/chainloader_normal.c: Likewise.
12431 * loader/i386/pc/multiboot_normal.c: Likewise.
12432 * loader/linux_normal.c: Likewise.
12433 * loader/multiboot_loader_normal.c: Likewise.
12434 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
12435
12436 * gencmdlist.sh: Scan new registration command grub_register_extcmd
12437 and grub_register_command_p1.
12438
12439 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
12440 kern/command.c, lib/arg.c and commands/extcmd.c.
12441 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
12442 (minicmd_mod_SOURCES): New variable.
12443 (minicmd_mod_CFLAGS): Likewise.
12444 (minicmd_mod_LDFLAGS): Likewise.
12445 (extcmd_mod_SOURCES): Likewise.
12446 (extcmd_mod_CFLAGS): Likewise.
12447 (extcmd_mod_LDFLAGS): Likewise.
12448 (boot_mod_SOURCES): Removed.
12449 (boot_mod_CFLAGS): Likewise.
12450 (boot_mod_LDFLAGS): Likewise.
12451
12452 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
12453 kern/corecmd.c.
12454 (kernel_img_HEADERS): Add command.h.
12455 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
12456 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
12457 and lib/arg.c.
12458 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
12459 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
12460 remove the corresponding normal mode command.
12461 (normal_mod_SOURCES): Remove normal/arg.c.
12462 * conf/i386-coreboot.rmk: Likewise.
12463 * conf/i386-efi.rmk: Likewise.
12464 * conf/i386-ieee1275.rmk: Likewise.
12465 * conf/powerpc-ieee1275.rmk: Likewise.
12466 * conf/x86_64-efi.rmk: Likewise.
12467
12468 * include/grub/arg.h: Move from here ...
12469 * include/grub/lib/arg.h: ... to here.
12470
12471 * normal/arg.c: Move from here ...
12472 * lib/arg.c: ... to here.
12473
12474 * commands/extcmd.c: New file.
12475 * commands/minicmd.c: Likewise.
12476 * include/grub/command.h: Likewise.
12477 * include/grub/extcmd.h: Likewise.
12478 * kern/command.c: Likewise.
12479 * kern/corecmd.c: Likewise.
12480
12481 * kern/list.c (grub_list_iterate): Return int instead of void.
12482 (grub_list_insert): New function.
12483 (grub_prio_list_insert): Likewise.
12484
12485 * kern/rescue.c (grub_rescue_command): Removed.
12486 (grub_rescue_command_list): Likewise.
12487 (grub_rescue_register_command): Likewise.
12488 (grub_rescue_unregister_command): Likewise.
12489 (grub_rescue_cmd_boot): Move to minicmd.c
12490 (grub_rescue_cmd_help): Likewise.
12491 (grub_rescue_cmd_info): Likewise.
12492 (grub_rescue_cmd_boot): Likewise.
12493 (grub_rescue_cmd_testload): Likewise.
12494 (grub_rescue_cmd_dump): Likewise.
12495 (grub_rescue_cmd_rmmod): Likewise.
12496 (grub_rescue_cmd_lsmod): Likewise.
12497 (grub_rescue_cmd_exit): Likewise.
12498 (grub_rescue_print_devices): Moved to corecmd.c.
12499 (grub_rescue_print_files): Likewise.
12500 (grub_rescue_cmd_ls): Likewise.
12501 (grub_rescue_cmd_insmod): Likewise.
12502 (grub_rescue_cmd_set): Likewise.
12503 (grub_rescue_cmd_unset): Likewise.
12504 (attempt_normal_mode): Use grub_command_find to get normal module.
12505 (grub_enter_rescue_mode): Use grub_register_core_commands to register
12506 commands, remove grub_rescue_register_command calls.
12507
12508 * normal/command.c (grub_register_command): Removed.
12509 (grub_unregister_command): Likewise.
12510 (grub_command_find): Likewise.
12511 (grub_iterate_commands): Likewise.
12512 (rescue_command): Likewise.
12513 (export_command): Moved to corecmd.c.
12514 (set_command): Removed.
12515 (unset_command): Likewise.
12516 (insmod_command): Likewise.
12517 (rmmod_command): Likewise.
12518 (lsmod_command): Likewise.
12519 (grub_command_init): Likewise.
12520
12521 * normal/completion.c (iterate_command): Use cmd->prio to check for
12522 active command.
12523 (complete_arguments): Use grub_extcmd_t structure to find options.
12524 (grub_normal_do_completion): Change function grub_iterate_commands to
12525 grub_command_iterate.
12526
12527 * normal/execute.c (grub_script_execute_cmd): No need to parse
12528 argument here.
12529
12530 * normal/main.c (grub_dyncmd_dispatcher): New function.
12531 (read_command_list): Register unload commands as dyncmd.
12532 (grub_cmd_normal): Use new command interface, register rescue,
12533 unregister normal at entry, register normal, unregister rescue at exit.
12534
12535 * include/grub/list.h (grub_list_test_t): New type.
12536 (grub_list_iterate): Return int instead of void.
12537 (grub_list_insert): New function.
12538 (GRUB_AS_NAMED_LIST_P): New macro.
12539 (GRUB_AS_PRIO_LIST): Likewise.
12540 (GRUB_AS_PRIO_LIST_P): Likewise.
12541 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
12542 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
12543 (grub_prio_list): New structure.
12544 (grub_prio_list_insert): New function.
12545 (grub_prio_list_remove): New inline function.
12546
12547 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
12548 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
12549 (GRUB_COMMAND_FLAG_MENU): Likewise.
12550 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12551 (GRUB_COMMAND_FLAG_TITLE): Likewise.
12552 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12553 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
12554 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
12555 (grub_command): Likewise.
12556 (grub_register_command): Likewise.
12557 (grub_command_find): Likewise.
12558 (grub_iterate_commands): Likewise.
12559 (grub_command_init): Likewise.
12560 (grub_arg_parse): Likewise.
12561 (grub_arg_show_help): Likewise.
12562
12563 * include/grub/rescue.h (grub_rescue_register_command): Removed.
12564 (grub_rescue_unregister_command): Likewise.
12565
12566 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
12567 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
12568 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
12569
12570 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
12571 grub_rescue_cmd_initrd.
12572 * include/grub/i386/loader.h: Likewise.
12573 * include/grub/x86_64/loader.h: Likewise.
12574
12575 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
12576
12577 2009-03-21 Bean <bean123ch@gmail.com>
12578
12579 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
12580 instead of stat in mingw environment.
12581
12582 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
12583
12584 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
12585
12586 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
12587 AC_CONFIG_LINKS.
12588
12589 2009-03-21 Bean <bean123ch@gmail.com>
12590
12591 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
12592 out of range error.
12593
12594 2009-03-18 Michel Dänzer <michel@daenzer.net>
12595
12596 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
12597 checking inode flags for EXT4_EXTENTS_FLAG.
12598
12599 2009-03-18 Robert Millan <rmh@aybabtu.com>
12600
12601 * loader/i386/linux.c: Include `<grub/video.h>' and
12602 `<grub/i386/pc/vbe.h>'..
12603 (grub_linux_setup_video): New function. Loosely based on the EFI one.
12604 (grub_linux32_boot): Attempt to configure video settings with
12605 grub_linux_setup_video().
12606 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
12607 to avoid grub_console_fini() which would step out of graphical mode
12608 unconditionally.
12609
12610 2009-03-14 Robert Millan <rmh@aybabtu.com>
12611
12612 Fix build on powerpc.
12613 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
12614
12615 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
12618 background image command.
12619
12620 2009-03-12 Colin D Bennett <colin@gibibit.com>
12621
12622 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
12623 (grub_gfxterm_putchar): Extract pairs of identical calls to
12624 draw_cursor out of conditional blocks.
12625
12626 2009-03-11 Pavel Roskin <proski@gnu.org>
12627
12628 * fs/hfs.c (grub_hfs_strncasecmp): New function.
12629 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
12630
12631 2009-03-11 Robert Millan <rmh@aybabtu.com>
12632
12633 * loader/i386/multiboot_elfxx.c
12634 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
12635
12636 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
12637
12638 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
12639 `kern/handler.c'.
12640
12641 2009-03-11 Robert Millan <rmh@aybabtu.com>
12642
12643 * loader/i386/multiboot.c (code_size): New variable.
12644 (grub_multiboot): Define offsets by adding to `code_size' rather
12645 than subtracting from `grub_multiboot_payload_size'. Provide
12646 4-byte alignment to MBI and others by increasing
12647 `boot_loader_name_length' appropriately.
12648
12649 * loader/i386/multiboot_elfxx.c
12650 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
12651
12652 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
12653
12654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
12655 `fs/ext2.c'.
12656
12657 2009-03-08 Robert Millan <rmh@aybabtu.com>
12658
12659 Make loader/i386/linux.c usable on i386-pc again.
12660
12661 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
12662 memory to heap.
12663 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
12664 `#error' stanza.
12665
12666 2009-03-07 Bean <bean123ch@gmail.com>
12667
12668 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
12669 allocation.
12670
12671 2009-03-06 Robert Millan <rmh@aybabtu.com>
12672
12673 Fix display issue on terminals with screen size other than 80x25
12674 (e.g. gfxterm with resolution higher than 640x480).
12675
12676 * normal/main.c (grub_normal_init_page): Display title text in a
12677 position relative to the center of the terminal instead of relying
12678 on a hardcoded offset.
12679
12680 2009-03-04 Robert Millan <rmh@aybabtu.com>
12681
12682 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
12683 installed.
12684
12685 * Makefile.in (host_kernel): New variable.
12686 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
12687 scripts instead of just the windows one.
12688 * configure.ac: Initialize and AC_SUBST `host_kernel'.
12689
12690 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12691
12692 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
12693 `kern/handler.c'.
12694 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12696 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12698 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12699 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12700
12701 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12702
12703 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
12704 or if there's no space for the disk label and print the partition number on a
12705 invalid magic.
12706
12707 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
12708
12709 * util/misc.c: Include <time.h>.
12710 (grub_millisleep): New function.
12711
12712 2009-03-04 Bean <bean123ch@gmail.com>
12713
12714 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
12715 another option -mno-red-zone.
12716
12717 * commands/handler.c: Change module description.
12718
12719 * kern/handler.c: Add missing space at the end of description line.
12720
12721 * kern/list.c: Likewise.
12722
12723 2009-03-03 Robert Millan <rmh@aybabtu.com>
12724
12725 Move more components to the relocation area, and fix mbi pointer
12726 handling to use the destination rather than the origin (thanks to
12727 Vladimir Serbinenko for spotting).
12728
12729 * loader/i386/multiboot.c (mbi_dest): New variable.
12730 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
12731 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
12732 relocation area.
12733
12734 2009-03-01 Bean <bean123ch@gmail.com>
12735
12736 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
12737 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
12738 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
12739 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
12740
12741 * loader/i386/efi/linux.c (acpi_guid): New variable.
12742 (acpi_guid): Likewise.
12743 (EBDA_SEG_ADDR): New constant.
12744 (LOW_MEM_ADDR): Likewise.
12745 (FAKE_EBDA_SEG): Likewise.
12746 (fake_bios_data): New function.
12747 (grub_linux_boot): Call fake_bios_data.
12748
12749 2009-03-01 Bean <bean123ch@gmail.com>
12750
12751 * commands/terminal.c: Removed.
12752
12753 * commands/handler.c: New file.
12754
12755 * include/grub/list.h: Likewise.
12756
12757 * include/grub/handler.h: Likewise.
12758
12759 * kern/list.c: Likewise.
12760
12761 * kern/handler.c: Likewise.
12762
12763 * kern/term.h: Include header file <grub/handler.h>.
12764 (grub_term_input): Move next field to the beginning.
12765 (grub_term_output): Likewise.
12766 (grub_term_input_class): New variable.
12767 (grub_term_output_class): Likewise.
12768 (grub_term_register_input): Changed to inline function.
12769 (grub_term_register_output): Likewise.
12770 (grub_term_unregister_input): Likewise.
12771 (grub_term_unregister_output): Likewise.
12772 (grub_term_set_current_input): Likewise.
12773 (grub_term_set_current_output): Likewise.
12774 (grub_term_get_current_input): Likewise.
12775 (grub_term_get_current_output): Likewise.
12776 (grub_term_iterate_input): Removed.
12777 (grub_term_iterate_output): Likewise.
12778
12779 * kern/term.c (grub_term_list_input): Removed.
12780 (grub_term_list_output): Likewise.
12781 (grub_term_input_class): New variable.
12782 (grub_term_output_class): Likewise.
12783 (grub_cur_term_input): Change variable as macro.
12784 (grub_cur_term_output): Likewise.
12785 (grub_term_register_input): Removed.
12786 (grub_term_register_output): Likewise.
12787 (grub_term_unregister_input): Likewise.
12788 (grub_term_unregister_output): Likewise.
12789 (grub_term_set_current_input): Likewise.
12790 (grub_term_set_current_output): Likewise.
12791 (grub_term_iterate_input): Likewise.
12792 (grub_term_iterate_output): Likewise.
12793 (grub_term_get_current_input): Likewise.
12794 (grub_term_get_current_output): Likewise.
12795
12796 * util/grub-editenv.c: Include header file <grub/handler.h>.
12797 (grub_term_get_current_input): Removed.
12798 (grub_term_get_current_output): Likewise.
12799 (grub_term_input_class): New variable.
12800 (grub_term_output_class): Likewise.
12801
12802 * util/grub-fstest.c (grub_term_get_current_input): Removed.
12803 (grub_term_get_current_output): Likewise.
12804 (grub_term_input_class): New variable.
12805 (grub_term_output_class): Likewise.
12806
12807 * util/grub-probe.c (grub_term_get_current_input): Removed.
12808 (grub_term_get_current_output): Likewise.
12809 (grub_term_input_class): New variable.
12810 (grub_term_output_class): Likewise.
12811
12812 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
12813 (grub_term_get_current_output): Likewise.
12814 (grub_term_input_class): New variable.
12815 (grub_term_output_class): Likewise.
12816
12817 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
12818 (terminal_mod_SOURCES): Likewise.
12819 (terminal_mod_CFLAGS): Likewise.
12820 (terminal_mod_LDFLAGS): Likewise.
12821
12822 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
12823 handler.c.
12824 (kernel_img_SOURCES): Add list.c and handler.c.
12825 (kernel_img_HEADERS): Add list.h and handler.h.
12826
12827 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12828 handler.c.
12829 (kernel_mod_SOURCES): Add list.c and handler.c.
12830 (kernel_mod_HEADERS): Add list.h and handler.h.
12831
12832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
12833 handler.c.
12834 (kernel_elf_SOURCES): Add list.c and handler.c.
12835 (kernel_elf_HEADERS): Add list.h and handler.h.
12836
12837 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12838 handler.c.
12839 (kernel_elf_SOURCES): Add list.c and handler.c.
12840 (kernel_elf_HEADERS): Add list.h and handler.h.
12841
12842 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12843 handler.c.
12844 (kernel_mod_SOURCES): Add list.c and handler.c.
12845 (kernel_mod_HEADERS): Add list.h and handler.h.
12846
12847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12848 handler.c.
12849 (kernel_elf_SOURCES): Add list.c and handler.c.
12850 (kernel_elf_HEADERS): Add list.h and handler.h.
12851
12852 2009-02-27 Robert Millan <rmh@aybabtu.com>
12853
12854 Factorize elf32 / elf64 code in Multiboot loader. This will
12855 prevent it from getting out of sync again.
12856
12857 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
12858 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
12859 grub_multiboot_load_elf64): Move from here ...
12860 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
12861 grub_multiboot_load_elf): ... to here (new file).
12862
12863 2009-02-27 Robert Millan <rmh@aybabtu.com>
12864
12865 * util/grub.d/10_linux.in: Rename "single-user mode" to
12866 "recovery mode".
12867
12868 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 Don't leak in SCSI code.
12871 * disk/scsi.c (grub_scsi_close): free `scsi'.
12872
12873 2009-02-27 Robert Millan <rmh@aybabtu.com>
12874
12875 * loader/i386/pc/multiboot.c: Move from here ...
12876 * loader/i386/multiboot.c: ... to here. Update all users.
12877
12878 2009-02-27 Robert Millan <rmh@aybabtu.com>
12879
12880 Patch from Alexandre Bique <bique.alexandre@gmail.com>
12881 * util/i386/pc/grub-setup.c (setup): Fix directory path.
12882
12883 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
12884
12885 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
12886 b-tree.
12887
12888 2009-02-27 Robert Millan <rmh@aybabtu.com>
12889
12890 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
12891 `0x' qualifier as 0 when base is specified as parameter).
12892
12893 2009-02-24 Bean <bean123ch@gmail.com>
12894
12895 * configure.ac: Check for -mcmodel=large in x86_64 target.
12896
12897 * include/grub/efi/api.h (efi_call_10): New macro.
12898 (efi_wrap_10): New function.
12899
12900 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
12901 (GRUB_PE32_REL_BASED_HIGH): Likewise.
12902 (GRUB_PE32_REL_BASED_LOW): Likewise.
12903 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
12904 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
12905 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
12906 (GRUB_PE32_REL_BASED_SECTION): Likewise.
12907 (GRUB_PE32_REL_BASED_REL): Likewise.
12908 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
12909 (GRUB_PE32_REL_BASED_DIR64): Likewise.
12910 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
12911
12912 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
12913 issue.
12914
12915 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
12916 (efi_wrap_10): New function.
12917
12918 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
12919
12920 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
12921 MB/MBP model (NV chipset).
12922 (devdata_devs): Add devpath_5 to the list.
12923
12924 * load/i386/efi/linux.c (video_base): Remove variable.
12925 (RGB_MASK): New macro.
12926 (RGB_MAGIC): Likewise.
12927 (LINE_MIN): Likewise.
12928 (LINE_MAX): Likewise.
12929 (FBTEST_STEP): Likewise.
12930 (FBTEST_COUNT): Likewise.
12931 (fb_list): New variable.
12932 (grub_find_video_card): Remove function.
12933 (find_framebuf): New function.
12934 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
12935 line length.
12936
12937 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
12938 problem for x86_64.
12939
12940 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
12941
12942 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
12943
12944 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
12945 coding tool name.
12946
12947 2009-02-22 Robert Millan <rmh@aybabtu.com>
12948
12949 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
12950 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
12951 in our relocation, instead of using it directly from heap. Also
12952 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
12953
12954 2009-02-21 Robert Millan <rmh@aybabtu.com>
12955
12956 Implement USB keyboard support (based on patch by Marco Gerards)
12957
12958 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
12959 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
12960 (usb_keyboard_mod_LDFLAGS): New variables.
12961
12962 * term/usb_keyboard.c: New file.
12963
12964 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 Corrected wrong declaration
12967
12968 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
12969
12970 2009-02-14 Christian Franke <franke@computer.org>
12971
12972 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
12973 (grub_lspci_iter): Print class code and programming interface byte.
12974
12975 2009-02-14 Christian Franke <franke@computer.org>
12976
12977 * gendistlist.sh: Ignore `.svn' directories.
12978
12979 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
12980
12981 * fs/fat.c: Add 2009 to Copyright line.
12982
12983 2009-02-14 Christian Franke <franke@computer.org>
12984
12985 * commands/hdparm.c: New file. Provides `hdparm' command
12986 which sends ATA commands via grub_disk_ata_pass_through ().
12987
12988 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
12989
12990 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
12991 and <grub/cpu/io.h> to include/grub/ata.h.
12992 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
12993 (GRUB_CDROM_SECTOR_SIZE): Remove.
12994 (GRUB_ATA_*): Move to include/grub/ata.h.
12995 (GRUB_ATAPI_*): Likewise.
12996 (enum grub_ata_commands): Likewise.
12997 (enum grub_ata_timeout_milliseconds): Likewise.
12998 (struct grub_ata_device): Likewise.
12999 (grub_ata_regset): Likewise.
13000 (grub_ata_regget): Likewise.
13001 (grub_ata_regset2): Likewise.
13002 (grub_ata_regget2): Likewise.
13003 (grub_ata_check_ready): Likewise.
13004 (grub_ata_wait_not_busy): Remove static, exported in
13005 include/grub/ata.h.
13006 (grub_ata_wait_drq): Likewise.
13007 (grub_ata_pio_read): Likewise.
13008
13009 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13010 function for hdparm.mod.
13011
13012 * include/grub/ata.h: New file, contains declarations from
13013 disk/ata.c.
13014 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13015
13016 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13017 (grub_disk_ata_pass_through): New exported variable.
13018
13019 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13020
13021 2009-02-13 Colin D Bennett <colin@gibibit.com>
13022
13023 Support multiple fallback entries, and provide an API to support
13024 executing default+fallback menu entries. Renamed the `terminal' menu
13025 viewer to `text'.
13026
13027 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13028 variable declaration.
13029 (grub_menu_execute_callback): New structure declaration.
13030 (grub_menu_execute_callback_t): New typedef.
13031 (grub_menu_execute_with_fallback): New function declaration.
13032 (grub_menu_get_entry): Likewise.
13033 (grub_menu_get_timeout): Likewise.
13034 (grub_menu_set_timeout): Likewise.
13035
13036 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13037
13038 * normal/menu.c (grub_wait_after_message): Moved to
13039 `normal/menu_text.c'.
13040 (draw_border): Likewise.
13041 (print_message): Likewise.
13042 (print_entry): Likewise.
13043 (print_entries): Likewise.
13044 (grub_menu_init_page): Likewise.
13045 (get_entry_number): Likewise.
13046 (print_timeout): Likewise.
13047 (run_menu): Likewise.
13048 (grub_menu_execute_entry): Likewise.
13049 (show_text_menu): Likewise.
13050 (get_and_remove_first_entry_number): New function.
13051 (grub_menu_execute_with_fallback): Likewise.
13052 (get_entry): Renamed to ...
13053 (grub_menu_get_entry): .. this and made it global.
13054 (get_timeout): Renamed to ...
13055 (grub_menu_get_timeout): ... this and made it global.
13056 (set_timeout): Renamed to ...
13057 (grub_menu_set_timeout): ... this and made it global.
13058 (grub_normal_terminal_menu_viewer): Renamed to ...
13059 (grub_normal_text_menu_viewer): ... this.
13060
13061 * normal/menu_text.c: New file. Extracted text-menu-specific code
13062 from normal/menu.c.
13063
13064 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13065 (normal_mod_SOURCES): Likewise.
13066
13067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13068 (normal_mod_SOURCES): Likewise.
13069
13070 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13071 (normal_mod_SOURCES): Likewise.
13072
13073 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13074 (normal_mod_SOURCES): Likewise.
13075
13076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13077 (normal_mod_SOURCES): Likewise.
13078
13079 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13080 (normal_mod_SOURCES): Likewise.
13081
13082 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13083 (normal_mod_SOURCES): Likewise.
13084
13085 2009-02-11 Robert Millan <rmh@aybabtu.com>
13086
13087 * util/grub.d/00_header.in: Update old reference to `font' command.
13088
13089 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
13090
13091 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13092
13093 Based on patch from Javier Martín.
13094
13095 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13096
13097 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
13098 to avoid false positives with FAT.
13099 (grub_fstest_SOURCES): Likewise.
13100 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13101 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13103 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13104 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13105 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13106
13107 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13108
13109 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
13110 bpb.version_specific.fat12_or_fat16.fstype and
13111 bpb.version_specific.fat32.fstype.
13112
13113 2009-02-08 Robert Millan <rmh@aybabtu.com>
13114
13115 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
13116
13117 2009-02-08 Robert Millan <rmh@aybabtu.com>
13118
13119 * Makefile.in (host_os, host_cpu): New variables.
13120 (target_os): Remove. Update all users.
13121
13122 2009-02-08 Marco Gerards <marco@gnu.org>
13123
13124 * Makefile.in (enable_grub_emu_usb): New variable.
13125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13126 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13127 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13128 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13129 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13130 `usbtest.mod' and `usbms.mod'.
13131 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13132 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13133 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13134 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13135 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13136 variables.
13137
13138 * disk/usbms.c: New file.
13139
13140 * include/grub/usb.h: Likewise.
13141
13142 * include/grub/usbtrans.h: Likewise.
13143
13144 * include/grub/usbdesc.h: Likewise.
13145
13146 * bus/usb/usbtrans.c: Likewise.
13147
13148 * bus/usb/ohci.c: Likewise.
13149
13150 * bus/usb/uhci.c: Likewise.
13151
13152 * bus/usb/usbhub.c: Likewise.
13153
13154 * bus/usb/usb.c: Likewise.
13155
13156 * commands/usbtest.c: Likewise.
13157
13158 * util/usb.c: Likewise.
13159
13160 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13161
13162 * configure.ac: Test for libusb presence.
13163
13164 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13165
13166 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13167
13168 * kern/mm.c: Add more comments.
13169
13170 2009-02-08 Robert Millan <rmh@aybabtu.com>
13171
13172 Patch from Javier Martín.
13173 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13174 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13175
13176 2009-02-08 Robert Millan <rmh@aybabtu.com>
13177
13178 * fs/cpio.c: Split tar functionality to ...
13179 * fs/tar.c: ... here (new file). Update all users.
13180
13181 2009-02-07 Robert Millan <rmh@aybabtu.com>
13182
13183 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13184 backward-incompatible features.
13185
13186 Based on patch from Javier Martín, with some adjustments.
13187
13188 2009-02-07 Michael Scherer <misc@mandriva.org>
13189
13190 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13191
13192 2009-02-07 Robert Millan <rmh@aybabtu.com>
13193
13194 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13195 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13196 after the RAID stuff.
13197
13198 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13199
13200 Fixes problem when running vbetest command as reported by
13201 Vladimir Serbinenko <phcoder@gmail.com>.
13202
13203 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13204
13205 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
13206
13207 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13208 /dev/md/NpN style mdraid devices.
13209
13210 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13211
13212 * util/unifont2pff.rb: Remove.
13213
13214 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13215
13216 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
13217 `#'.
13218
13219 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13220
13221 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
13222 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13223 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13224 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13226 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13228
13229 2009-02-02 Christian Franke <franke@computer.org>
13230
13231 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
13232
13233 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
13234
13235 * INSTALL: Note that we now require at least autoconf 2.59 and
13236 that LZO is optional.
13237
13238 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13239
13240 Base on patch on bug #24154 created by Tomas Tintera
13241 <trosos@seznam.cz>.
13242
13243 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
13244
13245 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13246
13247 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
13248 <bero@arklinux.org>.
13249
13250 * normal/parser.y (script_init): Add missing semicolon.
13251
13252 2009-01-31 Colin D Bennett <colin@gibibit.com>
13253
13254 * normal/main.c: Add include to grub/menu_viewer.h.
13255 (free_menu_entry_classes): Added.
13256 (grub_normal_menu_addentry): Added class property handling.
13257 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
13258 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
13259
13260 * normal/menu_viewer.c: New file.
13261
13262 * normal/menu.c (run_menu_entry): Renamed to ...
13263 (grub_menu_execute_entry): ... this and made it as global.
13264 (grub_menu_run): Renamed to ...
13265 (show_text_menu): ... this and made it local.
13266 (show_text_menu): Adapt to new function names.
13267 (grub_normal_terminal_menu_viewer): New global variable.
13268
13269 * include/grub/menu.h: New file.
13270
13271 * include/grub/menu_viewer.h: New file.
13272
13273 * include/grub/normal.h: Added include to grub/menu.h.
13274 (grub_menu_entry): Moved to include/grub/menu.h.
13275 (grub_menu_entry_t): Likewise.
13276 (grub_menu): Likewise.
13277 (grub_menu_t): Likewise.
13278 (grub_normal_terminal_menu_viewer): Added.
13279 (grub_menu_execute_entry): Likewise.
13280 (grub_menu_run): Removed.
13281
13282 * DISTLIST: Added include/grub/menu.h.
13283 Added include/grub/menu_viewer.h.
13284 Added normal/menu_viewer.c.
13285
13286 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
13287
13288 * normal/execute.c (grub_script_execute_menuentry): Changed to use
13289 arglist for menutitle arguments.
13290
13291 * normal/main.c (grub_normal_menu_addentry): Likewise.
13292
13293 * normal/parser.y (menuentry): Likewise.
13294
13295 * normal/script.c (grub_script_create_cmdmenu): Likewise.
13296
13297 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
13298 (grub_script_create_cmdmenu): Likewise.
13299
13300 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
13301
13302 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
13303 changes.
13304
13305 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
13306
13307 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
13308
13309 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
13310
13311 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13312
13313 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13314
13315 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13316
13317 2009-01-30 Christian Franke <franke@computer.org>
13318
13319 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
13320 in option help text.
13321
13322 2009-01-27 Pavel Roskin <proski@gnu.org>
13323
13324 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
13325
13326 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13327
13328 * commands/lsmmap.c: Add include to grub/machine/memory.h.
13329
13330 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
13331
13332 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
13333 unregister function.
13334
13335 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13336
13337 * disk/scsi.c (grub_scsi_read): Fix sign problem.
13338
13339 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
13340
13341 * util/grub-mkfont.c (usage): Fix typo.
13342
13343 * util/elf/grub-mkimage.c (load_modules): Fix warning.
13344
13345 2009-01-26 Daniel Mierswa <impulze@impulze.org>
13346
13347 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
13348
13349 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
13350
13351 * kern/misc.c (grub_strcasecmp): New function.
13352 (grub_strcasecmp): Use grub_size_t instead of int for length.
13353 Fix return value.
13354 * include/grub/misc.h: Update function prototypes.
13355
13356 2009-01-26 Robert Millan <rmh@aybabtu.com>
13357
13358 * configure.ac: Fix cross-compilation check.
13359
13360 2009-01-22 Christian Franke <franke@computer.org>
13361
13362 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
13363 (precision) digit string. Allow `.format2' without `format1' (width).
13364 Limit input chars for `%s' output to `format2' if specified. This is
13365 compatible with standard printf ().
13366
13367 2009-01-22 Christian Franke <franke@computer.org>
13368
13369 * disk/ata.c (grub_ata_wait_status): Replace by ...
13370 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
13371 other status bits may be invalid while BSY is asserted.
13372 (grub_ata_check_ready): New function.
13373 (grub_ata_cmd): Removed.
13374 (grub_ata_wait_drq): New function.
13375 (grub_ata_strncpy): Remove inline.
13376 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
13377 and error check now done by grub_ata_wait_drq ().
13378 (grub_ata_pio_write): Likewise.
13379 (grub_atapi_identify): Set DEV before check for !BSY. Use
13380 grub_ata_wait_drq () to wait for data.
13381 (grub_ata_device_initialize): Add status register check to
13382 detect missing SATA slave devices. Add debug messages.
13383 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
13384 (grub_atapi_packet): Set DEV before check for !BSY. Replace
13385 transfer loop by grub_ata_pio_write ().
13386 (grub_ata_identify): Set DEV before check for !BSY. Use
13387 grub_ata_wait_drq () to wait for data.
13388 (grub_ata_setaddress): Set DEV before check for !BSY.
13389 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
13390 read/write in one loop. Fix invalid command on write. Fix incomplete
13391 command on (size % batch) == 0. Add missing error check after write of
13392 last block. Add debug messages.
13393 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
13394
13395 2009-01-19 Christian Franke <franke@computer.org>
13396
13397 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
13398 (GRUB_ATAPI_IREASON_*): Likewise.
13399 (grub_ata_pio_write): Fix timeout error return.
13400 (grub_atapi_identify): Add grub_ata_wait () after cmd.
13401 (grub_atapi_wait_drq): New function.
13402 (grub_atapi_packet): New parameter `size'.
13403 Use grub_atapi_wait_drq () and direct write instead of
13404 grub_ata_pio_write ().
13405 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
13406 reads the number of bytes requested by the device for each DRQ
13407 assertion.
13408 (grub_atapi_write): Remove old implementation, return not
13409 implemented instead.
13410
13411 2009-01-19 Christian Franke <franke@computer.org>
13412
13413 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
13414 of 512 to calculate data size.
13415 (grub_scsi_read12): Likewise.
13416 (grub_scsi_write10): Likewise.
13417 (grub_scsi_write12): Likewise.
13418 (grub_scsi_read): Adjust size according to blocksize.
13419 Add checks for invalid blocksize and unaligned transfer.
13420
13421 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
13422
13423 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
13424
13425 * term/gfxterm.c (write_char): Fix background rendering for wide
13426 width glyphs.
13427
13428 2009-01-19 Robert Millan <rmh@aybabtu.com>
13429
13430 * config.guess: Update to latest version from config git.
13431 * config.sub: Likewise.
13432
13433 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
13434
13435 * Makefile.in: Change font compilation to use new grub-mkfont instead
13436 of java version.
13437
13438 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
13439 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13440 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13441 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13442 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13443 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13444 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13445 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13446 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13447
13448 2009-01-16 Christian Franke <franke@computer.org>
13449
13450 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
13451 (enum grub_ata_timeout_milliseconds): New enum.
13452 (grub_ata_wait_status): Add parameter milliseconds.
13453 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
13454 recovery from timed-out commands.
13455 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
13456 return grub_errno instead of REG_ERROR.
13457 (grub_ata_pio_write): Add parameter milliseconds.
13458 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
13459 Pass milliseconds to grub_ata_wait_status () and
13460 grub_ata_pio_read ().
13461 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
13462 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
13463 grub_ata_wait_status (). Fix IDENTIFY timeout check.
13464 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
13465 It is not suitable for device detection, because DEV bit is ignored,
13466 the command may run too long, and not all devices set the signature
13467 properly.
13468 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
13469 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
13470 Fix device selection, DEV bit must be set first to address the registers
13471 of the correct device.
13472 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
13473 grub_ata_pio_read/write ().
13474 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
13475 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
13476
13477 2009-01-13 Carles Pina i Estany <carles@pina.cat>
13478
13479 * util/grub-editenv.c (main): Use fseeko(), not fseek().
13480
13481 2009-01-13 Bean <bean123ch@gmail.com>
13482
13483 * util/grub-mkfont.c (write_font): forget to remove some debug code.
13484
13485 2009-01-13 Bean <bean123ch@gmail.com>
13486
13487 * Makefile.in: (enable_grub_mkfont): New variable.
13488 (freetype_cflags): Likewise.
13489 (freetype_libs): Likewise.
13490
13491 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
13492 (grub_mkfont_SOURCES): New variable.
13493 (grub_mkfont_CFLAGS): Likewise.
13494 (grub_mkfont_LDFLAGS): Likewise.
13495
13496 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
13497 library if `--enable-grub-mkfont' is requested.
13498 (enable_grub_mkfont): New variable.
13499 (freetype_cflags): Likewise.
13500 (freetype_libs): Likewise.
13501
13502 * util/grub-mkfont.c: New file.
13503
13504 2009-01-12 Christian Franke <franke@computer.org>
13505
13506 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
13507 mode check. Fix setting of compat_use[].
13508
13509 2009-01-10 Robert Millan <rmh@aybabtu.com>
13510
13511 Update a few copyright years which we forgot to do in 2008 (only for
13512 files whose changes made in 2008 were copyright-significant)
13513
13514 * Makefile.in: Add 2008 to Copyright line.
13515 * disk/ieee1275/ofdisk.c: Likewise.
13516 * disk/efi/efidisk.c: Likewise.
13517 * kern/dl.c: Likewise.
13518 * kern/sparc64/ieee1275/init.c: Likewise.
13519 * kern/mm.c: Likewise.
13520 * kern/efi/mm.c: Likewise.
13521 * boot/i386/pc/boot.S: Likewise.
13522 * genfslist.sh: Likewise.
13523 * fs/iso9660.c: Likewise.
13524 * fs/hfs.c: Likewise.
13525 * fs/jfs.c: Likewise.
13526 * fs/minix.c: Likewise.
13527 * fs/ufs.c: Likewise.
13528 * gensymlist.sh.in: Likewise.
13529 * genkernsyms.sh.in: Likewise.
13530 * include/grub/misc.h: Likewise.
13531 * include/grub/types.h: Likewise.
13532 * include/grub/symbol.h: Likewise.
13533 * include/grub/elf.h: Likewise.
13534 * include/grub/kernel.h: Likewise.
13535 * include/grub/disk.h: Likewise.
13536 * include/grub/dl.h: Likewise.
13537 * include/grub/i386/linux.h: Likewise.
13538 * include/grub/i386/pc/biosdisk.h: Likewise.
13539 * include/grub/efi/api.h: Likewise.
13540 * include/grub/efi/pe32.h: Likewise.
13541 * include/grub/util/misc.h: Likewise.
13542 * normal/execute.c: Likewise.
13543 * normal/arg.c: Likewise.
13544 * normal/completion.c: Likewise.
13545 * normal/lexer.c: Likewise.
13546 * normal/parser.y: Likewise.
13547 * normal/misc.c: Likewise.
13548 * commands/i386/pc/vbeinfo.c: Likewise.
13549 * commands/hexdump.c: Likewise.
13550 * commands/terminal.c: Likewise.
13551 * commands/ls.c: Likewise.
13552 * commands/help.c: Likewise.
13553 * partmap/pc.c: Likewise.
13554 * loader/efi/chainloader.c: Likewise.
13555 * loader/multiboot_loader.c: Likewise.
13556 * loader/i386/pc/multiboot2.c: Likewise.
13557 * term/efi/console.c: Likewise.
13558 * term/i386/pc/serial.c: Likewise.
13559 * util/lvm.c: Likewise.
13560 * util/console.c: Likewise.
13561 * util/i386/efi/grub-mkimage.c: Likewise.
13562 * util/raid.c: Likewise.
13563
13564 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
13565
13566 * commands/videotest.c: Removed include to grub/machine/memory.h.
13567
13568 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
13569 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
13570 (video_mod_SOURCES): Removed.
13571 (video_mod_CFLAGS): Likewise.
13572 (video_mod_LDFLAGS): Likewise.
13573 (gfxterm_mod_SOURCES): Likewise.
13574 (gfxterm_mod_CFLAGS): Likewise.
13575 (gfxterm_mod_LDFLAGS): Likewise.
13576 (videotest_mod_SOURCES): Likewise.
13577 (videotest_mod_CFLAGS): Likewise.
13578 (videotest_mod_LDFLAGS): Likewise.
13579 (bitmap_mod_SOURCES): Likewise.
13580 (bitmap_mod_CFLAGS): Likewise.
13581 (bitmap_mod_LDFLAGS): Likewise.
13582 (tga_mod_SOURCES): Likewise.
13583 (tga_mod_CFLAGS): Likewise.
13584 (tga_mod_LDFLAGS): Likewise.
13585 (jpeg_mod_SOURCES): Likewise.
13586 (jpeg_mod_CFLAGS): Likewise.
13587 (jpeg_mod_LDFLAGS): Likewise.
13588 (png_mod_SOURCES): Likewise.
13589 (png_mod_CFLAGS): Likewise.
13590 (png_mod_LDFLAGS): Likewise.
13591
13592 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
13593 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
13594 (video_mod_SOURCES): Added.
13595 (video_mod_CFLAGS): Likewise.
13596 (video_mod_LDFLAGS): Likewise.
13597 (videotest_mod_SOURCES): Likewise.
13598 (videotest_mod_CFLAGS): Likewise.
13599 (videotest_mod_LDFLAGS): Likewise.
13600 (bitmap_mod_SOURCES): Likewise.
13601 (bitmap_mod_CFLAGS): Likewise.
13602 (bitmap_mod_LDFLAGS): Likewise.
13603 (tga_mod_SOURCES): Likewise.
13604 (tga_mod_CFLAGS): Likewise.
13605 (tga_mod_LDFLAGS): Likewise.
13606 (jpeg_mod_SOURCES): Likewise.
13607 (jpeg_mod_CFLAGS): Likewise.
13608 (jpeg_mod_LDFLAGS): Likewise.
13609 (png_mod_SOURCES): Likewise.
13610 (png_mod_CFLAGS): Likewise.
13611 (png_mod_LDFLAGS): Likewise.
13612 (gfxterm_mod_SOURCES): Likewise.
13613 (gfxterm_mod_CFLAGS): Likewise.
13614 (gfxterm_mod_LDFLAGS): Likewise.
13615
13616 * term/gfxterm.c: Removed include to grub/machine/memory.h,
13617 grub/machine/console.h.
13618
13619 2009-01-04 Jerone Young <jerone@gmail.com>
13620
13621 Make on screen instructions clearer
13622
13623 Based on patch created by Jidanni <jidanni@jidanni.org>
13624
13625 * normal/menu.c: print clearer instructions on the screen
13626
13627 2009-01-02 Colin D Bennett <colin@gibibit.com>
13628
13629 New font engine.
13630
13631 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
13632 build system and fixed gfxterm.c to work with different sized fonts.
13633
13634 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
13635
13636 * configure: Re-generated.
13637
13638 * DISTLIST: Removed font/manager.c.
13639 Added font/font.c.
13640 Added font/font_cmd.c.
13641
13642 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
13643 compilation.
13644
13645 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
13646
13647 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
13648
13649 * kern/term.c: Changed users of grub_utf8_to_ucs4.
13650
13651 * normal/menu.c: Likewise.
13652
13653 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
13654 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
13655
13656 * include/grub/font.h: Replaced with new file.
13657
13658 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
13659 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
13660 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
13661 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
13662 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
13663 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
13664 fg_red, fg_green, fg_blue, fg_alpha.
13665 (grub_video_adapter): Removed blit_glyph.
13666 (grub_video_blit_glyph): Removed.
13667
13668 * font/manager.c: Removed file.
13669
13670 * font/font.c: New file.
13671
13672 * font/font_cmd.c: Likewise.
13673
13674 * video/video.c (grub_video_blit_glyph): Removed.
13675
13676 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
13677 (grub_video_vbe_map_rgba): Likewise.
13678 (grub_video_vbe_unmap_color_int): Likewise.
13679 (grub_video_vbe_blit_glyph): Removed.
13680 (grub_video_vbe_adapter): Removed blit_glyph.
13681
13682 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
13683 (get_pixel): Likewise.
13684 (set_pixel): Likewise.
13685
13686 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
13687
13688 * term/gfxterm.c: Adapted to new font engine.
13689
13690 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
13691
13692 * term/i386/pc/vga.c: Likewise.
13693
13694 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
13695
13696 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13697
13698 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13699
13700 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13701
13702 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13703
13704 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13705
13706 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13707
13708 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13709
13710 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13711
13712 * util/grub.d/00_header.in: Changed to use new loadfont command.
13713
13714 * util/grub-mkconfig_lib.in: Changed font extension.
13715
13716 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
13717
13718 * util/getroot.c (grub_util_get_grub_dev): Add support for
13719 /dev/md/dNNpNN style partitionable mdraid devices.
13720
13721 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
13722
13723 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
13724 at a time limit of the PXE TFTP API correctly.
13725 (grub_pxefs_close): Likewise.
13726
13727 2008-11-29 Robert Millan <rmh@aybabtu.com>
13728
13729 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
13730 grub_ata_device_initialize() calls.
13731
13732 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
13733
13734 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
13735 iteration failed.
13736 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
13737
13738 2008-11-28 Robert Millan <rmh@aybabtu.com>
13739
13740 Fix build on powerpc-ieee1275. Based on patch created by
13741 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
13742 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13743 `kern/ieee1275/mmap.c'.
13744 * include/grub/powerpc/ieee1275/memory.h: New file.
13745
13746 Provide grub-install on coreboot.
13747 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
13748 (grub_install_SOURCES): New variable.
13749 * util/i386/pc/grub-install.in: Add a few condition checks to make it
13750 usable on coreboot.
13751
13752 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
13753
13754 * util/grub-fstest.c (grub_term_get_current_input): Change return type
13755 to `grub_term_input_t'.
13756 (grub_term_get_current_output): Change return type to
13757 `grub_term_output_t'.
13758
13759 2008-11-22 Robert Millan <rmh@aybabtu.com>
13760
13761 Fix breakage on coreboot due to declaration mismatch.
13762 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
13763 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
13764 grub_vga_text_cls().
13765
13766 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
13767 comments. Avoid copying one more byte than necessary (just in case).
13768
13769 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
13770 to 0x200000 (avoids trouble with some OFW implementations, and matches
13771 with the one in Yaboot).
13772 Reported by Manoel Abranches
13773
13774 2008-11-20 Robert Millan <rmh@aybabtu.com>
13775
13776 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
13777 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
13778
13779 * util/grub-mkconfig_lib.in (grub_warn): New function.
13780 (convert_system_path_to_grub_path): Use grub_warn() when issuing
13781 warnings, to obtain consistent formatting.
13782 * util/grub.d/00_header.in: Likewise.
13783 * util/update-grub_lib.in: Likewise.
13784
13785 * loader/i386/linux.c (allocate_pages): Fix a warning.
13786 Move comment text to `#error' stanza.
13787
13788 Harmonize ieee1275's grub_available_iterate() with the generic
13789 grub_machine_mmap_iterate() interface (fixes a recently-introduced
13790 build problem on i386-ieee1275):
13791 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
13792 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
13793 parameter `type'. Update all users of this function.
13794 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
13795 `kern/ieee1275/mmap.c'.
13796 * kern/ieee1275/init.c
13797 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
13798 with ...
13799 (grub_machine_mmap_iterate): ... this.
13800 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
13801 return type to `grub_err_t'. Update all implementations of this
13802 function prototype.
13803 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
13804 Likewise.
13805
13806 Add `lsmmap' command (lists firmware-provided memory map):
13807 * commands/lsmmap.c: New file.
13808 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
13809 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
13810 variables.
13811 * conf/powerpc-ieee1275.rmk: Likewise.
13812 * conf/i386-coreboot.rmk: Likewise.
13813 * conf/i386-ieee1275.rmk: Likewise.
13814
13815 2008-11-19 Robert Millan <rmh@aybabtu.com>
13816
13817 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
13818 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
13819 constraints to initrd allocation (based on code from
13820 loader/i386/pc/linux.c). Without them, initrd was allocated too high
13821 for Linux to find it.
13822
13823 2008-11-14 Robert Millan <rmh@aybabtu.com>
13824
13825 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
13826 order to cope with duplicate slashes.
13827
13828 2008-11-14 Robert Millan <rmh@aybabtu.com>
13829
13830 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
13831 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
13832 don't want to mess with lower memory, because it is used in the Linux
13833 loader.
13834
13835 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
13836 an appropriate place in lower memory, between 0x10000 and 0x90000,
13837 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
13838 is in our heap (probably as a result of it being corrupted during
13839 decompression). Add #error instance with comment to explain why this
13840 loader isn't currently usable on PC/BIOS.
13841
13842 2008-11-14 Robert Millan <rmh@aybabtu.com>
13843
13844 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
13845 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
13846
13847 2008-11-12 Robert Millan <rmh@aybabtu.com>
13848
13849 Make loader/i386/linux.c buildable on i386-pc (although disabled).
13850
13851 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
13852 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
13853 from here ...
13854 * include/grub/i386/pc/memory.h: ... to here.
13855
13856 2008-11-12 Robert Millan <rmh@aybabtu.com>
13857
13858 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
13859 split).
13860
13861 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
13862 (grub_console_cur_color, grub_console_real_putchar)
13863 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13864 (grub_console_setcolorstate, grub_console_setcolor)
13865 (grub_console_getcolor): Move from here ...
13866 * include/grub/i386/vga_common.h: ... to here (new file).
13867
13868 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
13869 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
13870 `<grub/i386/io.h>'.
13871 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
13872 `<grub/i386/vga_common.h>'.
13873
13874 2008-11-12 Robert Millan <rmh@aybabtu.com>
13875
13876 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
13877 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
13878 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
13879 variables.
13880 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13881 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
13882
13883 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
13884 grub_console_init() with call to grub_vga_text_init().
13885 (grub_machine_fini): Replace call to
13886 grub_console_fini() with call to grub_vga_text_fini() and
13887 grub_at_keyboard_fini().
13888
13889 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
13890 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13891 (grub_console_setcolorstate, grub_console_setcolor)
13892 (grub_console_getcolor): New function prototypes.
13893
13894 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
13895 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
13896 (grub_vga_text_setcursor): Static-ize.
13897 (grub_vga_text_term): New structure.
13898 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
13899
13900 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
13901 (grub_console_cur_color, grub_console_standard_color)
13902 (grub_console_normal_color, grub_console_highlight_color)
13903 (map_char, grub_console_putchar, grub_console_getcharwidth)
13904 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
13905 (grub_console_getcolor): Move from here ...
13906 * term/i386/vga_common.c: ... to here (same function names).
13907
13908 2008-11-12 Robert Millan <rmh@aybabtu.com>
13909
13910 Use newly-added Multiboot support in coreboot.
13911
13912 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13913 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
13914
13915 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
13916 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
13917 (codestart): Store the MBI in `startup_multiboot_info' when we're
13918 being loaded using Multiboot.
13919
13920 * kern/i386/coreboot/init.c (grub_machine_init): Move
13921 grub_at_keyboard_init() call to beginning of function (useful for
13922 debugging). Call grub_machine_mmap_init() before attempting to use
13923 grub_machine_mmap_iterate().
13924 (grub_lower_mem, grub_upper_mem): Move from here ...
13925 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
13926 here (new file).
13927
13928 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
13929 function prototype.
13930
13931 2008-11-12 Robert Millan <rmh@aybabtu.com>
13932
13933 Fix a regression introduced by the at_keyboard.mod split. Because
13934 some terminals are default on some platforms and non-default on
13935 others, the first terminal being registered determines which is
13936 going to be default.
13937
13938 * kern/term.c (grub_term_register_input): If this is the first
13939 terminal being registered, set it as the current one.
13940 (grub_term_register_output): Likewise.
13941
13942 * term/efi/console.c (grub_console_init): Do not call
13943 grub_term_set_current_output() or grub_term_set_current_input().
13944 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
13945 * term/i386/pc/console.c (grub_console_init): Likewise.
13946 (grub_console_fini): Do not call grub_term_set_current_input()
13947 (but leave grub_term_set_current_output() to restore text mode).
13948
13949 2008-11-10 Robert Millan <rmh@aybabtu.com>
13950
13951 * util/grub.d/00_header.in: Add backward compatibility check for
13952 versions of terminal.mod that don't understand `terminal_input' or
13953 `terminal_output'.
13954
13955 2008-11-09 Robert Millan <rmh@aybabtu.com>
13956
13957 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
13958 `terminal_input' / `terminal_output', not `terminal'.
13959
13960 2008-11-08 Robert Millan <rmh@aybabtu.com>
13961
13962 * Makefile.in (include_DATA): Fix srcdir=. assumption.
13963 (DISTCLEANFILES): Add `build_env.mk'.
13964
13965 2008-11-08 Robert Millan <rmh@aybabtu.com>
13966
13967 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
13968 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13969 members. Update all users.
13970 * util/console.c (grub_ncurses_term): Split in ...
13971 (grub_ncurses_term_input): ... this, and ...
13972 (grub_ncurses_term_output): ... this. Update all users.
13973 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
13974
13975 2008-11-08 Robert Millan <rmh@aybabtu.com>
13976
13977 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
13978 (PKGDATA): Add $(pkgdata_SRCDIR).
13979 (pkglib_BUILDDIR): New variable.
13980 (pkgdata_SRCDIR): New variable.
13981 (build_env.mk): New target.
13982 (include_DATA): New variable.
13983 (install-local): Install $(include_DATA) files in $(includedir).
13984
13985 2008-11-07 Pavel Roskin <proski@gnu.org>
13986
13987 * gendistlist.sh: Use C locale for sorting to ensure consistent
13988 output on all systems.
13989
13990 * util/grub.d/00_header.in: Remove incorrect space before
13991 "serial".
13992
13993 2008-11-07 Robert Millan <rmh@aybabtu.com>
13994
13995 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
13996 per specification.
13997 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
13998 * loader/multiboot_loader.c (find_multi_boot2_header): New function
13999 (based on find_multi_boot1_header).
14000 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14001 using find_multi_boot2_header(), and abort if neither Multiboot or
14002 Multiboot headers were found.
14003
14004 2008-11-07 Robert Millan <rmh@aybabtu.com>
14005
14006 Modularize at_keyboard.mod:
14007
14008 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14009 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14010 (at_keyboard_mod_LDFLAGS): New variables.
14011
14012 Actual terminal split:
14013
14014 * include/grub/term.h (struct grub_term): Split in ...
14015 (struct grub_term_input): ... this, and ...
14016 (struct grub_term_output): ... this. Update all users.
14017 (grub_term_set_current): Split in ...
14018 (grub_term_set_current_input): ... this, and ...
14019 (grub_term_set_current_output): ... this.
14020 (grub_term_get_current): Split in ...
14021 (grub_term_get_current_input): ... this, and ...
14022 (grub_term_get_current_output): ... this.
14023 (grub_term_register): Split in ...
14024 (grub_term_register_input): ... this, and ...
14025 (grub_term_register_output): ... this.
14026 (grub_term_unregister): Split in ...
14027 (grub_term_unregister_input): ... this, and ...
14028 (grub_term_unregister_output): ... this.
14029 (grub_term_iterate): Split in ...
14030 (grub_term_iterate_input): ... this, and ...
14031 (grub_term_iterate_output): ... this.
14032
14033 * kern/term.c (grub_term_list): Split in ...
14034 (grub_term_list_input): ... this, and ...
14035 (grub_term_list_output): ... this. Update all users.
14036 (grub_cur_term): Split in ...
14037 (grub_cur_term_input): ... this, and ...
14038 (grub_cur_term_output): ... this. Update all users.
14039 (grub_term_set_current): Split in ...
14040 (grub_term_set_current_input): ... this, and ...
14041 (grub_term_set_current_output): ... this.
14042 (grub_term_get_current): Split in ...
14043 (grub_term_get_current_input): ... this, and ...
14044 (grub_term_get_current_output): ... this.
14045 (grub_term_register): Split in ...
14046 (grub_term_register_input): ... this, and ...
14047 (grub_term_register_output): ... this.
14048 (grub_term_unregister): Split in ...
14049 (grub_term_unregister_input): ... this, and ...
14050 (grub_term_unregister_output): ... this.
14051 (grub_term_iterate): Split in ...
14052 (grub_term_iterate_input): ... this, and ...
14053 (grub_term_iterate_output): ... this.
14054
14055 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14056 a check for input and one for output (and only attempt to get keys
14057 from user when input works).
14058
14059 * util/grub-probe.c (grub_term_get_current): Split in ...
14060 (grub_term_get_current_input): ... this, and ...
14061 (grub_term_get_current_output): ... this.
14062 * util/grub-fstest.c: Likewise.
14063 * util/i386/pc/grub-setup.c: Likewise.
14064 * util/grub-editenv.c: Likewise.
14065
14066 Portability adjustments:
14067
14068 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14069 `term/i386/pc/at_keyboard.c'.
14070 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14071 grub_keyboard_controller_init() (now handled by terminal .init).
14072 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14073 grub_at_keyboard_init().
14074 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14075 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14076 at_keyboard.mod via input terminal interface).
14077 * include/grub/i386/coreboot/console.h: Convert into a stub for
14078 `<grub/i386/pc/console.h>'.
14079
14080 Migrate full terminals to new API:
14081
14082 * term/efi/console.c (grub_console_term): Split into ...
14083 (grub_console_term_input): ... this, and ...
14084 (grub_console_term_output): ... this. Update all users.
14085 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14086 (grub_ofconsole_init): Split into ...
14087 (grub_ofconsole_init_input): ... this, and ...
14088 (grub_ofconsole_init_output): ... this.
14089 (grub_ofconsole_term): Split into ...
14090 (grub_ofconsole_term_input): ... this, and ...
14091 (grub_ofconsole_term_output): ... this. Update all users.
14092 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14093 (grub_serial_term_input): ... this, and ...
14094 (grub_serial_term_output): ... this. Update all users.
14095 * term/i386/pc/console.c (grub_console_term): Split into ...
14096 (grub_console_term_input): ... this, and ...
14097 (grub_console_term_output): ... this. Update all users.
14098 (grub_console_term_input): Only enable it on PC/BIOS platform.
14099 (grub_console_init): Remove grub_keyboard_controller_init() call.
14100
14101 Migrate input terminals to new API:
14102
14103 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14104 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14105 i386-specific anyway).
14106 (grub_console_checkkey): Rename to ...
14107 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14108 users.
14109 (grub_keyboard_controller_orig): New variable.
14110 (grub_console_getkey): Rename to ...
14111 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14112 users.
14113 (grub_keyboard_controller_init): Static-ize. Save original
14114 controller value so that it can be restored ...
14115 (grub_keyboard_controller_fini): ... here (new function).
14116 (grub_at_keyboard_term): New structure.
14117 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14118 functions.
14119
14120 Migrate output terminals to new API:
14121
14122 * term/i386/pc/vga.c (grub_vga_term): Change type to
14123 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14124 members. Update all users.
14125 * term/gfxterm.c (grub_video_term): Change type to
14126 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14127 members. Update all users.
14128 * include/grub/i386/pc/console.h (grub_console_checkkey)
14129 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14130 etc).
14131
14132 Migrate `terminal' command and userland tools to new API:
14133
14134 * commands/terminal.c (grub_cmd_terminal): Split into ...
14135 (grub_cmd_terminal_input): ... this, and ...
14136 (grub_cmd_terminal_output): ... this.
14137 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14138 `terminal_input' and `terminal_output'.
14139 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14140 `terminal_input' / `terminal_output' API.
14141 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14142 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14143 provided ${GRUB_TERMINAL}, convert it).
14144
14145 2008-11-04 Robert Millan <rmh@aybabtu.com>
14146
14147 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14148 for FreeBSD.
14149 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14150
14151 2008-11-03 Bean <bean123ch@gmail.com>
14152
14153 * kern/elf.c (grub_elf32_load): Revert to previous code.
14154 (grub_elf64_load): Likewise.
14155
14156 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14157
14158 2008-11-01 Robert Millan <rmh@aybabtu.com>
14159
14160 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14161 (TARGET_CPPFLAGS): Likewise.
14162 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14163
14164 2008-11-01 Carles Pina i Estany <carles@pina.cat>
14165
14166 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14167
14168 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14169
14170 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14171 addition of objects until the code is not going to be able to fail.
14172
14173 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14174
14175 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14176 (add a missing NULL check, and correct them by moving the pointer
14177 operations after the actual check).
14178
14179 2008-10-29 Robert Millan <rmh@aybabtu.com>
14180
14181 * util/i386/pc/grub-install.in: Handle empty string as output from
14182 make_system_path_relative_to_its_root().
14183
14184 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14185
14186 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14187 circular metadata worst case scenario. If the metadata is circular
14188 then copy the wrap in place.
14189 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14190 project lib/format_text/layout.h
14191 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14192
14193 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14194
14195 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
14196
14197 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14198
14199 * util/update-grub_lib.in: Mention filename in warning message.
14200
14201 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14202
14203 * NEWS: Update for rename of update-grub to grub-mkconfig.
14204
14205 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14206
14207 * util/update-grub_lib.in: Copy to ...
14208 * util/grub-mkconfig_lib.in: ... this. Update all users.
14209 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
14210 * util/update-grub.in: Rename to ...
14211 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14212 option. Add `--output' option to allow users to specify the generated
14213 configuration file. Default to stdout.
14214 (update_grub_dir): Rename to ...
14215 (grub_mkconfig_dir): ... this.
14216 (grub_cfg): Default to an empty string.
14217 * conf/common.rmk (update-grub): Rename to ...
14218 (grub-mkconfig): ... this.
14219 (update-grub_lib): Copy to ...
14220 (grub-mkconfig_lib): ... this.
14221 (update-grub_SCRIPTS): Copy to ...
14222 (grub-mkconfig_SCRIPTS): ... this. Update all users.
14223 (update-grub_DATA): Rename to ...
14224 (grub-mkconfig_DATA): ... this.
14225
14226 2008-09-28 Robert Millan <rmh@aybabtu.com>
14227
14228 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
14229 to `modified'. Add the real `created' field.
14230 (grub_iso9660_uuid): Use `modified' rather than `created' for
14231 constructing the UUID.
14232
14233 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
14234
14235 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
14236 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
14237
14238 2008-09-28 Bean <bean123ch@gmail.com>
14239
14240 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
14241 Thanks to Christian Franke for finding this bug.
14242
14243 2008-09-25 Robert Millan <rmh@aybabtu.com>
14244
14245 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
14246 instances of grub_util_get_disk_name() (see previous commit).
14247
14248 2008-09-25 Robert Millan <rmh@aybabtu.com>
14249
14250 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
14251 `util/i386/get_disk_name.c'.
14252 * conf/i386-efi.rmk: Likewise.
14253 * conf/x86_64-efi.rmk: Likewise.
14254 * conf/i386-coreboot.rmk: Likewise.
14255 * conf/i386-ieee1275.rmk: Likewise.
14256 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
14257 `util/ieee1275/get_disk_name.c'.
14258 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
14259 * util/ieee1275/get_disk_name.c: Remove file.
14260 * util/i386/get_disk_name.c: Remove file.
14261 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
14262 "hd%d" for device.map entries, rather than using
14263 grub_util_get_disk_name().
14264
14265 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14266
14267 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
14268 warning.
14269 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
14270
14271 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14272
14273 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
14274 Changed to 0x5100.
14275 (GRUB_TERM_PPAGE): Changed to 0x4900.
14276
14277 2008-09-24 Robert Millan <rmh@aybabtu.com>
14278
14279 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
14280 macros (they were i386-pc specific).
14281 * include/grub/sparc64/ieee1275/console.h: Likewise.
14282 * include/grub/efi/console.h: Likewise.
14283
14284 2008-09-22 Bean <bean123ch@gmail.com>
14285
14286 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
14287 resident and in attribute list.
14288
14289 * include/grub/ntfs.h (BMP_LEN): Removed.
14290
14291 2008-09-22 Bean <bean123ch@gmail.com>
14292
14293 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
14294 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
14295
14296 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
14297 error occurs, as grub_disk_open will call grub_disk_close, which will
14298 call p->close (scsi).
14299
14300 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14301
14302 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
14303 (AC_PREREQ): Bumped to 2.59.
14304 (AC_TRY_COMPILE): Replace obsolete macro with ...
14305 (AC_COMPILE_IFELSE): ... this.
14306 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
14307 (AC_LINK_IFELSE): ... this.
14308
14309 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14310
14311 * autogen.sh: Add a call to `gendistlist.sh'.
14312
14313 2008-09-19 Christian Franke <franke@computer.org>
14314
14315 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
14316 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
14317 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
14318 Export __enable_execute_stack() to modules.
14319 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
14320 New function.
14321
14322 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14323
14324 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
14325 Sort the list.
14326
14327 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14328
14329 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
14330 #include <grub/util/hostdisk.h>.
14331
14332 2008-09-08 Robert Millan <rmh@aybabtu.com>
14333
14334 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
14335 segments when their filesz is zero (grub_file_read() interprets
14336 zero-size as "read until EOF", which results in memory corruption).
14337 Use `lowest_segment' rather than 0 for calculating the current
14338 segment load address.
14339
14340 2008-09-08 Robert Millan <rmh@aybabtu.com>
14341
14342 * util/hostdisk.c (open_device): Replace a grub_util_info() call
14343 with grub_dprintf("hostdisk", ...), as it was so verbose that it
14344 clobbered useful information.
14345
14346 2008-09-08 Robert Millan <rmh@aybabtu.com>
14347
14348 * include/grub/util/biosdisk.h: Move to ...
14349 * include/grub/util/hostdisk.h: ... here. Update all users.
14350 * util/biosdisk.c: Move to ...
14351 * util/hostdisk.c: ... here. Update all users.
14352
14353 2008-09-07 Robert Millan <rmh@aybabtu.com>
14354
14355 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
14356 variables.
14357 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
14358 and length can be stored directly in the `mbi->mmap_addr' and
14359 `mbi->mmap_length' struct fields.
14360
14361 2008-09-07 Robert Millan <rmh@aybabtu.com>
14362
14363 * conf/i386.rmk: New file. Provides declaration for building
14364 `cpuid.mod'.
14365 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
14366 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
14367 variables.
14368 Include `conf/i386.mk'.
14369 * conf/i386-efi.rmk: Likewise.
14370 * conf/x86_64-efi.rmk: Likewise.
14371 * conf/i386-coreboot.rmk: Likewise.
14372 * conf/i386-ieee1275.rmk: Likewise.
14373
14374 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
14375
14376 Based on patch created by Colin D Bennett <colin@gibibit.com>.
14377 Adds optimization support for BGR based modes.
14378
14379 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
14380 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14381 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14382 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14383 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14384 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14385 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14386 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14387 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14388 (grub_video_i386_vbeblit_index_index): Likewise.
14389 (grub_video_i386_vbeblit_replace_directN): Added.
14390 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14391 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14392 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14393 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14394 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14395 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14396 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14397 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14398 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14399 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14400 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14401 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14402 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14403
14404 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
14405 (grub_video_i386_vbefill_R8G8B8): Likewise.
14406 (grub_video_i386_vbefill_index): Likewise.
14407 (grub_video_i386_vbefill_direct32): Added.
14408 (grub_video_i386_vbefill_direct24): Likewise.
14409 (grub_video_i386_vbefill_direct16): Likewise.
14410 (grub_video_i386_vbefill_direct8): Likewise.
14411
14412 * include/grub/video.h (grub_video_blit_format): Removed
14413 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
14414 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
14415 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
14416 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
14417 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
14418
14419 * video/video.c (grub_video_get_blit_format): Updated to use new
14420 blit formats. Added handling for 16 bit color modes.
14421
14422 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
14423 fillers.
14424 (common_blitter): Updated to use new blitters.
14425
14426 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
14427 Removed.
14428 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14429 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14430 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14431 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14432 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14433 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14434 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14435 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14436 (grub_video_i386_vbeblit_index_index): Likewise.
14437 (grub_video_i386_vbeblit_replace_directN): Added.
14438 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14439 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14440 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14441 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14442 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14443 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14444 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14445 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14446 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14447 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14448 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14449 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14450 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14451
14452 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
14453 (grub_video_i386_vbefill_R8G8B8): Likewise.
14454 (grub_video_i386_vbefill_index): Likewise.
14455 (grub_video_i386_vbefill_direct32): Added.
14456 (grub_video_i386_vbefill_direct24): Likewise.
14457 (grub_video_i386_vbefill_direct16): Likewise.
14458 (grub_video_i386_vbefill_direct8): Likewise.
14459
14460 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
14461 types.
14462
14463 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
14464 types.
14465
14466 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
14467 blitter types.
14468
14469 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
14470 types.
14471
14472 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14473
14474 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
14475 RAID level 1.
14476
14477 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14478
14479 * fs/iso9660.c (grub_iso9660_date): New structure.
14480 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
14481 (grub_iso9660_uuid): New function.
14482
14483 2008-09-05 Bean <bean123ch@gmail.com>
14484
14485 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
14486
14487 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
14488 insensitive bit for names in Win32 and Win32 & DOS namespace.
14489
14490 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
14491
14492 * include/grub/types.h (LONG_MAX): Likewise.
14493
14494 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14495
14496 * util/getroot.c: Include <config.h>.
14497 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
14498 add support for /dev/md/N devices and handle LVM double dash escaping.
14499
14500 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14501
14502 * config.guess: Update to latest version from config git.
14503 * config.sub: Likewise.
14504
14505 2008-09-03 Robert Millan <rmh@aybabtu.com>
14506
14507 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
14508 `disk->total_sectors'.
14509
14510 2008-09-01 Colin D Bennett <colin@gibibit.com>
14511
14512 * include/grub/normal.h: Fixed incorrect comment for
14513 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
14514
14515 2008-09-01 Colin D Bennett <colin@gibibit.com>
14516
14517 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
14518 values with defines.
14519
14520 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
14521 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
14522 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
14523 (GRUB_VBE_MODEATTR_COLOR): Likewise.
14524 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
14525 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
14526 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
14527 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
14528 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
14529 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
14530 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
14531 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
14532 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
14533 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
14534 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
14535 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
14536 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
14537 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
14538 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
14539
14540 2008-08-31 Robert Millan <rmh@aybabtu.com>
14541
14542 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
14543 declaration.
14544 (grub_multiboot): Fix a few warnings.
14545
14546 2008-08-31 Robert Millan <rmh@aybabtu.com>
14547
14548 * loader/i386/pc/multiboot.c: Update comment not to say that
14549 boot_device support is unimplemented.
14550
14551 2008-08-31 Robert Millan <rmh@aybabtu.com>
14552
14553 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
14554 or memory map support are unimplemented.
14555
14556 2008-08-31 Colin D Bennett <colin@gibibit.com>
14557
14558 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
14559
14560 2008-08-31 Colin D Bennett <colin@gibibit.com>
14561
14562 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
14563 total video memory in 'vbeinfo' output; show color format details for
14564 each video mode.
14565
14566 2008-08-30 Pavel Roskin <proski@gnu.org>
14567
14568 * util/genmoddep.c: Remove for real this time.
14569 * DISTLIST: Remove util/genmoddep.c.
14570
14571 2008-08-30 Robert Millan <rmh@aybabtu.com>
14572
14573 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
14574 as required by Multiboot spec (it was already 4-byte aligned, but
14575 only by chance).
14576
14577 2008-08-29 Pavel Roskin <proski@gnu.org>
14578
14579 * kern/powerpc/ieee1275/crt0.S: Rename to ...
14580 * kern/powerpc/ieee1275/startup.S: ... this.
14581 * conf/powerpc-ieee1275.rmk: Adjust for the above.
14582 * DISTLIST: Likewise.
14583
14584 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
14585 grub/cpu/kernel.h. Add start label for consistency with other
14586 platforms. Add grub_prefix immediately after start. Add jump
14587 to the code after grub_prefix.
14588 * include/grub/powerpc/kernel.h: Provide valid values for
14589 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
14590
14591 2008-08-29 Bean <bean123ch@gmail.com>
14592
14593 * configure.ac: Change host_os to cygwin for mingw.
14594 (asprintf): New check for function.
14595
14596 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
14597 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
14598
14599 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
14600 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
14601 sync, sleep and grub_util_get_disk_size for mingw.
14602
14603 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
14604 to get size in mingw.
14605 (open_device): Use flag O_BINARY if it's defined.
14606 (find_root_device): Add dummy code for mingw.
14607
14608 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
14609 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
14610 (get_scsi_disk_name): Return 0 for mingw.
14611
14612 * util/hostfs.c: #include <grub/util/misc.h>.
14613 (grub_hostfs_open): Use "rb" flag to open file, use
14614 grub_util_get_disk_size to get disk size for mingw.
14615
14616 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
14617 (asprintf): New function if HAVE_ASPRINTF is not set.
14618 (sync): New function for mingw.
14619 (sleep): Likewise.
14620 (grub_util_get_disk_size): Likewise.
14621
14622 2008-08-28 Pavel Roskin <proski@gnu.org>
14623
14624 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14625 kern/time.c.
14626
14627 2008-08-28 Robert Millan <rmh@aybabtu.com>
14628
14629 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
14630
14631 2008-08-28 Robert Millan <rmh@aybabtu.com>
14632
14633 Change find_grub_drive() syntax so it doesn't prevent it from
14634 detecting NULL names as errors.
14635
14636 * util/biosdisk.c (find_grub_drive): Move free slot search code
14637 from here ...
14638 (find_free_slot): ... to here.
14639 (read_device_map): Use find_free_slot() to search for free slots.
14640
14641 2008-08-27 Marco Gerards <marco@gnu.org>
14642
14643 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
14644 (scsi_mod_SOURCES): New variable.
14645 (scsi_mod_CFLAGS): Likewise
14646 (scsi_mod_LDFLAGS): Likewise.
14647
14648 * disk/scsi.c: New file.
14649
14650 * include/grub/scsi.h: Likewise.
14651
14652 * include/grub/scsicmd.h: Likewise.
14653
14654 * disk/ata.c: Include <grub/scsi.h>.
14655 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
14656 instead.
14657 (grub_ata_iterate): Skip ATAPI devices.
14658 (grub_ata_open): Only handle ATAPI devices.
14659 (struct grub_atapi_read): Removed.
14660 (grub_atapi_readsector): Likewise.
14661 (grub_ata_read): No longer handle ATAPI devices.
14662 (grub_ata_write): Likewise.
14663 (grub_atapi_iterate): New function.
14664 (grub_atapi_read): Likewise.
14665 (grub_atapi_write): Likewise.
14666 (grub_atapi_open): Likewise.
14667 (grub_atapi_close): Likewise.
14668 (grub_atapi_dev): New variable.
14669 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
14670 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
14671
14672 * include/grub/disk.h (enum grub_disk_dev_id): Add
14673 `GRUB_DISK_DEVICE_SCSI_ID'.
14674
14675 2008-08-26 Robert Millan <rmh@aybabtu.com>
14676
14677 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
14678 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
14679 descriptive.
14680
14681 2008-08-23 Bean <bean123ch@gmail.com>
14682
14683 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
14684 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14685 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
14686 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
14687 dm_nv.mod.
14688 (raid5rec_mod_SOURCES): New macro.
14689 (raid5rec_mod_CFLAGS): Likewise.
14690 (raid5rec_mod_LDFLAGS): Likewise.
14691 (raid6rec_mod_SOURCES): Likewise.
14692 (raid6rec_mod_CFLAGS): Likewise.
14693 (raid6rec_mod_LDFLAGS): Likewise.
14694 (mdraid_mod_SOURCES): Likewise.
14695 (mdraid_mod_CFLAGS): Likewise.
14696 (mdraid_mod_LDFLAGS): Likewise.
14697 (dm_nv_mod_SOURCES): Likewise.
14698 (dm_nv_mod_CFLAGS): Likewise.
14699 (dm_nv_mod_LDFLAGS): Likewise.
14700
14701 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
14702 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14703 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14704
14705 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
14706 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14707
14708 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14709
14710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14711
14712 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14713
14714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14715
14716 * disk/raid5_recover.c: New file.
14717
14718 * disk/raid6_recover.c: Likewise.
14719
14720 * disk/mdraid_linux.c: Likewise.
14721
14722 * disk/dmraid_nvidia.c: Likewise.
14723
14724 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
14725 ULONG_MAX.
14726
14727 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
14728 calculate the size of raid device.
14729 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
14730 different layout of raid5.
14731 (grub_raid_scan_device): Remove code specific to mdraid.
14732 (grub_raid_list): New variable.
14733 (free_array): New function.
14734 (grub_raid_register): Likewise.
14735 (grub_raid_unregister): Likewise.
14736 (grub_raid_rescan): Likewise.
14737 (GRUB_MOD_INIT): Don't iterate device here.
14738 (GRUB_MOD_FINI): Use free_array to release resource.
14739
14740 * include/grub/raid.h: Remove macro and structure specific to mdraid.
14741 (grub_raid5_recover_func_t): New function variable type.
14742 (grub_raid6_recover_func_t): Likewise.
14743 (grub_raid5_recover_func): New variable.
14744 (grub_raid6_recover_func): Likewise.
14745 (grub_raid_register): New function.
14746 (grub_raid_unregister): Likewise.
14747 (grub_raid_rescan): Likewise.
14748 (grub_raid_block_xor): Likewise.
14749
14750 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
14751 (CMD_CRC): New macro.
14752 (part): Removed.
14753 (read_file): Handle device as well as file.
14754 (cmd_crc): New function.
14755 (fstest): Handle multiple disks.
14756 (options): Remove part, raw and long, add root and diskcount.
14757 (usage): Add crc, remove -p, -r, -l, add -r and -c.
14758 (main): Find the first non option entry and ignore subsequent options,
14759 add handling for the new options, support multiple disks.
14760
14761 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
14762
14763 2008-08-23 Bean <bean123ch@gmail.com>
14764
14765 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
14766
14767 * genfslist.sh: Ignore kernel.mod.
14768
14769 * genpartmaplist.sh: Likewise.
14770
14771 2008-08-23 Robert Millan <rmh@aybabtu.com>
14772
14773 * util/getroot.c (find_root_device): Skip anything that starts with
14774 a dot, not just directories. This avoids things like /dev/.tmp.md0.
14775
14776 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
14777
14778 * util/update-grub.in (GRUB_GFXMODE): Export variable.
14779 * util/grub.d/00_header.in: Allow the administrator to change default
14780 gfxmode via ${GRUB_GFXMODE}.
14781
14782 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
14783
14784 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
14785
14786 2008-08-21 Robert Millan <rmh@aybabtu.com>
14787
14788 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
14789 loader.
14790 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
14791 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
14792
14793 2008-08-20 Carles Pina i Estany <carles@pina.cat>
14794
14795 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
14796 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
14797
14798 2008-08-19 Robert Millan <rmh@aybabtu.com>
14799
14800 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
14801 (struct grub_virtual_screen): Remove `cursor_color'.
14802 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
14803 initialization.
14804 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
14805
14806 2008-08-18 Robert Millan <rmh@aybabtu.com>
14807
14808 Unify (identical) linux_normal.c files.
14809 * loader/i386/efi/linux_normal.c: Move from here ...
14810 * loader/linux_normal.c: ... to here. Update all users.
14811 * loader/i386/pc/linux_normal.c: Delete. Update all users.
14812 * loader/i386/ieee1275/linux_normal.c: Likewise.
14813
14814 2008-08-18 Robert Millan <rmh@aybabtu.com>
14815
14816 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
14817 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
14818 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
14819 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
14820 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
14821 New macros.
14822 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
14823 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
14824 (GRUB_LINUX_CL_END_OFFSET): ... to here.
14825 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
14826 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
14827 (GRUB_EFI_CL_END_OFFSET): Rename to ...
14828 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
14829 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
14830 Initialize `params->video_cursor_x' and `params->video_cursor_y'
14831 portably using grub_getxy().
14832 Replace `-EFI' with `-bzImage' in boot message.
14833
14834 2008-08-17 Robert Millan <rmh@aybabtu.com>
14835
14836 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
14837
14838 2008-08-17 Robert Millan <rmh@aybabtu.com>
14839
14840 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
14841
14842 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
14843 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
14844 (grub_machine_mmap_iterate): New function declaration.
14845 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
14846 structure.
14847 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
14848 macros.
14849
14850 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
14851 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
14852 Move e820 parsing from here ...
14853 * kern/i386/pc/mmap.c: New file.
14854 (grub_machine_mmap_iterate): ... to here.
14855
14856 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
14857 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
14858 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
14859 (grub_available_iterate): Redeclare to return `void', and redeclare
14860 its hook to use grub_uint64_t as addr and size parameters, and rename
14861 to ...
14862 (grub_machine_mmap_iterate): ... this. Update all users.
14863
14864 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
14865 to make it more readable. Rename to ...
14866 (grub_machine_mmap_iterate): ... this.
14867
14868 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
14869 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
14870 (grub_multiboot): Allocate an extra region after the payload, and fill
14871 it with a Multiboot memory map. Adjust a.out loader to calculate size
14872 with the extra space.
14873 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
14874 with the extra space.
14875
14876 2008-08-17 Carles Pina i Estany <carles@pina.cat>
14877
14878 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
14879
14880 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
14881
14882 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
14883 mdate-sh to the list `find' searches for.
14884 * DISTLIST: Regenerated.
14885
14886 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
14887
14888 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
14889 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
14890 genmoddep.awk, gensymlist.sh.in.
14891 (DISTDIRS): Add bus, docs, hook, lib.
14892 * DISTLIST: Regenerated.
14893 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
14894
14895 2008-08-16 Robert Millan <rmh@aybabtu.com>
14896
14897 * disk/raid.c (grub_raid_init): Handle/report errors set by
14898 grub_device_iterate().
14899 * disk/lvm.c (grub_lvm_init): Likewise.
14900
14901 2008-08-15 Bean <bean123ch@gmail.com>
14902
14903 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14904 and datehook.mod.
14905 (datetime_mod_SOURCES): New macro.
14906 (datetime_mod_CFLAGS): Likewise.
14907 (datetime_mod_LDFLAGS): Likewise.
14908 (date_mod_SOURCES): Likewise.
14909 (date_mod_CFLAGS): Likewise.
14910 (date_mod_LDFLAGS): Likewise.
14911 (datehook_mod_SOURCES): Likewise.
14912 (datehook_mod_CFLAGS): Likewise.
14913 (datehook_mod_LDFLAGS): Likewise.
14914
14915 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14916 and datehook.mod.
14917 (datetime_mod_SOURCES): New macro.
14918 (datetime_mod_CFLAGS): Likewise.
14919 (datetime_mod_LDFLAGS): Likewise.
14920 (date_mod_SOURCES): Likewise.
14921 (date_mod_CFLAGS): Likewise.
14922 (date_mod_LDFLAGS): Likewise.
14923 (datehook_mod_SOURCES): Likewise.
14924 (datehook_mod_CFLAGS): Likewise.
14925 (datehook_mod_LDFLAGS): Likewise.
14926
14927 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14928 and datehook.mod.
14929 (datetime_mod_SOURCES): New macro.
14930 (datetime_mod_CFLAGS): Likewise.
14931 (datetime_mod_LDFLAGS): Likewise.
14932 (date_mod_SOURCES): Likewise.
14933 (date_mod_CFLAGS): Likewise.
14934 (date_mod_LDFLAGS): Likewise.
14935 (datehook_mod_SOURCES): Likewise.
14936 (datehook_mod_CFLAGS): Likewise.
14937 (datehook_mod_LDFLAGS): Likewise.
14938
14939 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14940 and datehook.mod.
14941 (datetime_mod_SOURCES): New macro.
14942 (datetime_mod_CFLAGS): Likewise.
14943 (datetime_mod_LDFLAGS): Likewise.
14944 (date_mod_SOURCES): Likewise.
14945 (date_mod_CFLAGS): Likewise.
14946 (date_mod_LDFLAGS): Likewise.
14947 (datehook_mod_SOURCES): Likewise.
14948 (datehook_mod_CFLAGS): Likewise.
14949 (datehook_mod_LDFLAGS): Likewise.
14950
14951 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14952 and datehook.mod.
14953 (datetime_mod_SOURCES): New macro.
14954 (datetime_mod_CFLAGS): Likewise.
14955 (datetime_mod_LDFLAGS): Likewise.
14956 (date_mod_SOURCES): Likewise.
14957 (date_mod_CFLAGS): Likewise.
14958 (date_mod_LDFLAGS): Likewise.
14959 (datehook_mod_SOURCES): Likewise.
14960 (datehook_mod_CFLAGS): Likewise.
14961 (datehook_mod_LDFLAGS): Likewise.
14962
14963 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
14964
14965 * commands/date.c: New file.
14966
14967 * hook/datehook.c: Likewise.
14968
14969 * include/grub/lib/datetime.h: Likewise.
14970
14971 * include/grub/i386/cmos.h: Likewise.
14972
14973 * lib/datetime.c: Likewise.
14974
14975 * lib/i386/datetime.c: Likewise.
14976
14977 * lib/efi/datetime.c: Likewise.
14978
14979 2008-08-14 Robert Millan <rmh@aybabtu.com>
14980
14981 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
14982 (grub_mkelfimage_SOURCES): New variable.
14983 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
14984
14985 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
14986 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
14987 * conf/powerpc-ieee1275.rmk: Likewise.
14988 * conf/i386-ieee1275.rmk: Likewise.
14989
14990 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
14991 * kern/i386/coreboot/init.c: Likewise.
14992
14993 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
14994 with `<grub/cpu/kernel.h>'.
14995 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
14996 to ...
14997 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
14998 * kern/i386/coreboot/startup.S: Likewise.
14999
15000 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15001 (GRUB_MOD_GAP): Remove.
15002 * include/grub/powerpc/kernel.h: New file.
15003 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15004 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15005 * include/grub/i386/kernel.h: New file.
15006 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15007 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15008 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15009
15010 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15011 `grub-mkelfimage'.
15012 Use --directory when invoking grub_mkimage.
15013
15014 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15015 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15016 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15017 and GRUB_KERNEL_CPU_PREFIX.
15018
15019 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
15020
15021 * include/grub/err.h (grub_err_printf): New function prototype.
15022 * util/misc.c (grub_err_printf): New function.
15023 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15024 grub_printf.
15025 * kern/err.c (grub_print_error): Use grub_err_printf.
15026
15027 2008-08-13 Robert Millan <rmh@aybabtu.com>
15028
15029 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15030
15031 2008-08-13 Robert Millan <rmh@aybabtu.com>
15032
15033 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15034 boot entry.
15035
15036 2008-08-12 Robert Millan <rmh@aybabtu.com>
15037
15038 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15039 of the relocation code from here ...
15040 (grub_multiboot): ... to here.
15041 (forward_relocator, backward_relocator): Move from here ...
15042 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15043 (grub_multiboot_backward_relocator): ... to here.
15044 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15045 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15046 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15047 (grub_multiboot_forward_relocator_end)
15048 (grub_multiboot_backward_relocator)
15049 (grub_multiboot_backward_relocator_end): New variables.
15050
15051 2008-08-12 Bean <bean123ch@gmail.com>
15052
15053 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15054
15055 2008-08-11 Robert Millan <rmh@aybabtu.com>
15056
15057 * kern/i386/linuxbios/startup.S: Move from here ...
15058 * kern/i386/coreboot/startup.S: ... to here.
15059
15060 * kern/i386/linuxbios/init.c: Move from here ...
15061 * kern/i386/coreboot/init.c: ... to here.
15062
15063 * kern/i386/linuxbios/table.c: Move from here ...
15064 * kern/i386/coreboot/mmap.c: ... to here.
15065
15066 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15067
15068 2008-08-11 Robert Millan <rmh@aybabtu.com>
15069
15070 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15071 errors. Leave it to the upper layer to handle them.
15072
15073 2008-08-09 Christian Franke <franke@computer.org>
15074
15075 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15076 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15077 Install `grub.d/10_windows' only on Cygwin.
15078 * configure.ac: Add subst of `target_os'.
15079 Check `target_os' also before setting TARGET_OBJ2ELF.
15080 Add `--enable-grub-pe2elf'.
15081
15082 2008-08-08 Robert Millan <rmh@aybabtu.com>
15083
15084 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15085 (grub_last_time): Change type to grub_uint64_t.
15086 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15087 (grub_disk_close): Likewise.
15088
15089 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15090 (run_menu): Migrate code from to using grub_get_time_ms().
15091
15092 * util/misc.c (grub_get_time_ms): New function.
15093
15094 2008-08-08 Marco Gerards <marco@gnu.org>
15095
15096 * disk/ata.c (grub_ata_regget): Change return type to
15097 `grub_uint8_t'.
15098 (grub_ata_regget2): Likewise.
15099 (grub_ata_wait_status): New function.
15100 (grub_ata_wait_busy): Removed function, updated all users to use
15101 `grub_ata_wait_status'.
15102 (grub_ata_wait_drq): Likewise.
15103 (grub_ata_cmd): New function.
15104 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15105 error handling.
15106 (grub_ata_pio_write): Add error handling.
15107 (grub_atapi_identify): Likewise.
15108 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15109 handling.
15110 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15111 handling. Actually use the detected registers. Reorder the
15112 detection logic such that it is easier to read.
15113 (grub_ata_pciinit): Do not assign the same ID to each controller.
15114 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15115 handling.
15116 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15117
15118 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15119
15120 2008-08-08 Marco Gerards <marco@gnu.org>
15121
15122 * NEWS: Update.
15123
15124 2008-08-07 Bean <bean123ch@gmail.com>
15125
15126 * include/grub/x86_64/pci.h: New file.
15127
15128 2008-08-07 Christian Franke <franke@computer.org>
15129
15130 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15131 (TIMER2_GATE): Likewise.
15132 (grub_pit_wait): Add enable/disable of the timer2 gate
15133 bit of port 0x61. This fixes a possible infinite loop.
15134
15135 2008-08-07 Bean <bean123ch@gmail.com>
15136
15137 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15138 kern/i386/tsc.c and kern/i386/pit.c.
15139
15140 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15141 x86_64 platform.
15142
15143 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15144 <grub/i386/tsc.h>.
15145
15146 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15147
15148 2008-08-07 Bean <bean123ch@gmail.com>
15149
15150 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15151
15152 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15153
15154 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15155 multiple inclusion. Add #include <grub/types.h>.
15156
15157 2008-08-06 Christian Franke <franke@computer.org>
15158
15159 * conf/common.rmk: Build and install `10_windows'.
15160 * util/grub.d/10_windows.in: New script.
15161
15162 2008-08-06 Pavel Roskin <proski@gnu.org>
15163
15164 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15165
15166 2008-08-06 Robert Millan <rmh@aybabtu.com>
15167
15168 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15169 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15170
15171 2008-08-06 Bean <bean123ch@gmail.com>
15172
15173 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15174 (grub_pxefs_fs_int): Remove dummy definition.
15175 (grub_pxefs_open): Use data->block_size to store the current block
15176 size setting.
15177 (grub_pxefs_read): Use block size stored in data->block_size. As the
15178 value of grub_pxe_blksize can be changed after the file is opened.
15179
15180 2008-08-06 Bean <bean123ch@gmail.com>
15181
15182 * fs/i386/pc/pxe.c (curr_file): new variable.
15183 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15184 require the dummy internal file system anymore.
15185 (grub_pxefs_read): Removed.
15186 (grub_pxefs_close): Likewise.
15187 (grub_pxefs_fs_int): Likewise.
15188 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15189 connection when we switch file.
15190 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15191
15192 2008-08-06 Robert Millan <rmh@aybabtu.com>
15193
15194 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15195 `halt.mod'.
15196 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15197 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15198
15199 * kern/i386/halt.c: New file.
15200 * kern/i386/reboot.c: Likewise.
15201 * include/grub/i386/reboot.h: Likewise.
15202 * include/grub/i386/halt.h: Likewise.
15203
15204 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15205 Include `<grub/cpu/halt.h>'.
15206 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15207 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15208
15209 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15210 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15211 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15212 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15213 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
15214 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
15215 from here ...
15216 * include/grub/i386/at_keyboard.h: ... to here.
15217
15218 2008-08-05 Robert Millan <rmh@aybabtu.com>
15219
15220 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
15221 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
15222 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
15223 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15224 `kern/generic/millisleep.c'.
15225
15226 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
15227 instead of grub_get_rtc().
15228 (grub_tsc_init): Initialize `tsc_boot_time'.
15229
15230 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
15231 (grub_machine_init): Use grub_tsc_init() rather than
15232 installing an RTC-based handler via grub_install_get_time_ms().
15233
15234 * kern/i386/pit.c: New file.
15235 * include/grub/i386/pit.h: Likewise.
15236
15237 2008-08-05 Bean <bean123ch@gmail.com>
15238
15239 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
15240
15241 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
15242 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
15243 (pxe_mod_SOURCES): New macro.
15244 (pxe_mod_CFLAGS): Likewise.
15245 (pxe_mod_LDFLAGS): Likewise.
15246 (pxecmd_mod_SOURCES): Likewise.
15247 (pxecmd_mod_CFLAGS): Likewise.
15248 (pxecmd_mod_LDFLAGS): Likewise.
15249
15250 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
15251 (grub_pxe_call): Likewise.
15252
15253 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
15254
15255 * commands/i386/pc/pxecmd.c: New file.
15256
15257 * fs/i386/pc/pxe.c: Likewise.
15258
15259 * include/grub/i386/pc/pxe.h: Likewise.
15260
15261 2008-08-05 Bean <bean123ch@gmail.com>
15262
15263 * util/console.c (grub_console_cur_color): New variable.
15264 (grub_console_standard_color): Likewise.
15265 (grub_console_normal_color): Likewise.
15266 (grub_console_highlight_color): Likewise.
15267 (color_map): Likewise.
15268 (use_color): Likewise.
15269 (NUM_COLORS): New macro.
15270 (grub_ncurses_setcolorstate): Handle color properly.
15271 (grub_ncurses_setcolor): Don't change color here, just remember the
15272 settings, color will be set in grub_ncurses_setcolorstate.
15273 (grub_ncurses_getcolor): New function.
15274 (grub_ncurses_init): Initialize color pairs.
15275 (grub_ncurses_term): New member grub_ncurses_getcolor.
15276
15277 2008-08-05 Colin D Bennett <colin@gibibit.com>
15278
15279 High resolution timer support. Implemented for x86 CPUs using TSC.
15280 Extracted generic grub_millisleep() so it's linked in only as needed.
15281 This requires a Pentium compatible CPU; if the RDTSC instruction is
15282 not supported, then it falls back on the generic grub_get_time_ms()
15283 implementation that uses the machine's RTC.
15284
15285 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
15286 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15287 `kern/generic/millisleep.c'.
15288
15289 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
15290 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
15291
15292 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
15293 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
15294
15295 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15296
15297 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15298 `kern/generic/millisleep.c'.
15299
15300 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15301
15302 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
15303
15304 * kern/generic/rtc_get_time_ms.c: New file.
15305
15306 * kern/generic/millisleep.c: New file.
15307
15308 * kern/misc.c: Don't include
15309 <kern/time.h> anymore.
15310 (grub_millisleep_generic): Removed.
15311
15312 * commands/sleep.c (grub_interruptible_millisleep): Uses
15313 grub_get_time_ms() instead of grub_get_rtc().
15314
15315 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
15316 function.
15317 (grub_cpu_is_cpuid_supported): New inline function.
15318 (grub_cpu_is_tsc_supported): New inline function.
15319 (grub_tsc_init): New function prototype.
15320 (grub_tsc_get_time_ms): New function prototype.
15321
15322 * kern/i386/tsc.c (grub_get_time_ms): New file.
15323
15324 * include/grub/time.h: Include <grub/types.h.
15325 (grub_millisleep_generic): Removed.
15326 (grub_get_time_ms): New prototype.
15327 (grub_install_get_time_ms): New prototype.
15328 (grub_rtc_get_time_ms): New prototype.
15329
15330 * kern/time.c (grub_get_time_ms): New function.
15331 (grub_install_get_time_ms): New function.
15332
15333 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
15334 <grub/time.h> anymore.
15335 (grub_millisleep): Removed.
15336 (grub_machine_init): Call grub_tsc_init.
15337
15338 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
15339 get_time_ms() implementation.
15340
15341 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
15342 (ieee1275_get_time_ms): New function.
15343 (grub_machine_init): Install get_time_ms() implementation.
15344
15345 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
15346 (grub_machine_init): Call grub_tsc_init().
15347 (grub_millisleep): Removed.
15348
15349 * kern/ieee1275/init.c (grub_millisleep): Removed.
15350 (grub_machine_init): Install ieee1275_get_time_ms()
15351 implementation.
15352 (ieee1275_get_time_ms): New function.
15353 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
15354 real work.
15355
15356 2008-08-05 Marco Gerards <marco@gnu.org>
15357
15358 * disk/ata.c: Include <grub/pci.h>.
15359 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
15360 (grub_ata_initialize): Rewritten.
15361 (grub_ata_device_initialize): New function.
15362
15363 2008-08-04 Pavel Roskin <proski@gnu.org>
15364
15365 * kern/main.c: Include grub/mm.h.
15366
15367 2008-08-04 Robert Millan <rmh@aybabtu.com>
15368
15369 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
15370 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
15371 corruption problem).
15372
15373 2008-08-04 Robert Millan <rmh@aybabtu.com>
15374
15375 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
15376 warnings introduced in my last commit.
15377
15378 2008-08-03 Robert Millan <rmh@aybabtu.com>
15379
15380 Make PCI available on all i386 architectures.
15381
15382 * include/grub/i386/pc/pci.h: Move from here ...
15383 * include/grub/i386/pci.h: ... to here.
15384
15385 * include/grub/i386/pc/pci.h: Remove.
15386 * include/grub/i386/efi/pci.h: Remove.
15387 * include/grub/x86_64/efi/pci.h: Remove.
15388
15389 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
15390 `<grub/cpu/pci.h>'.
15391
15392 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
15393 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
15394 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
15395
15396 * conf/i386-ieee1275.rmk: Likewise.
15397
15398 2008-08-03 Robert Millan <rmh@aybabtu.com>
15399
15400 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
15401 (grub_console_setcursor): Make it possible to set cursor off.
15402
15403 2008-08-03 Robert Millan <rmh@aybabtu.com>
15404
15405 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
15406 of modules instead of assuming which platform provides what.
15407 * util/update-grub.in: Likewise.
15408
15409 2008-08-03 Robert Millan <rmh@aybabtu.com>
15410
15411 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
15412 instead of `grub_install_dos_part' to determine whether a drive needs
15413 to be prepended to prefix (`grub_install_dos_part' is not reliable,
15414 because it can be overridden when loading GRUB via Multiboot).
15415
15416 2008-08-02 Robert Millan <rmh@aybabtu.com>
15417
15418 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
15419
15420 2008-08-02 Robert Millan <rmh@aybabtu.com>
15421
15422 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
15423 of informational grub_dprintf() calls.
15424
15425 2008-08-02 Robert Millan <rmh@aybabtu.com>
15426
15427 * disk/memdisk.c (memdisk_size): Don't initialize.
15428 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
15429
15430 * include/grub/i386/pc/kernel.h
15431 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
15432 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
15433 (grub_memdisk_image_size, grub_arch_memdisk_addr)
15434 (grub_arch_memdisk_size): Remove.
15435
15436 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
15437 field (was only used to transfer a constant). Add `type' field to
15438 support multiple module types.
15439 (grub_module_iterate): New function.
15440
15441 * kern/device.c (grub_device_open): Do not hide error messages
15442 when grub_disk_open() fails. Use grub_print_error() instead.
15443
15444 * kern/i386/pc/init.c (grub_arch_modules_addr)
15445 (grub_arch_memdisk_size): Remove functions.
15446 (grub_arch_modules_addr): Return the module address in high memory
15447 (now that it isn't copied anymore).
15448
15449 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
15450 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
15451 decompression routine (grub_total_module_size already includes that
15452 now). Don't copy modules back to low memory.
15453
15454 * kern/main.c: Include `<grub/mm.h>'.
15455 (grub_load_modules): Split out (and use) ...
15456 (grub_module_iterate): ... this function, which iterates through
15457 module objects and runs a hook.
15458 Comment out grub_mm_init_region() call, as it would cause non-ELF
15459 modules to be overwritten.
15460
15461 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
15462 the memdisk image in its own region, make it part of the module list.
15463 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
15464 (main): Parse --memdisk|-m option, and pass user-provided path as
15465 parameter to generate_image().
15466 (add_segments): Pass `memdisk_path' down to load_modules().
15467 (load_modules): Embed memdisk image in module section when requested.
15468 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
15469 `header.type' instead of `header.offset'.
15470
15471 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
15472 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
15473 (memdisk_mod_LDFLAGS): New variables.
15474 * conf/i386-coreboot.rmk: Likewise.
15475 * conf/i386-ieee1275.rmk: Likewise.
15476
15477 2008-08-02 Robert Millan <rmh@aybabtu.com>
15478
15479 * loader/i386/pc/multiboot.c (playground, forward_relocator)
15480 (backward_relocator): New variables. Used to allocate and relocate
15481 the payload, respectively.
15482 (grub_multiboot_load_elf32): Load into heap instead of requested
15483 address, install the appropriate relocator code in each bound of
15484 the payload, and set the entry point such that
15485 grub_multiboot_real_boot() will jump to one of them.
15486
15487 * kern/i386/loader.S (grub_multiboot_payload_size)
15488 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15489 (grub_multiboot_payload_entry_offset): New variables.
15490 (grub_multiboot_real_boot): Set cpu context to what the relocator
15491 expects, and jump to the relocator instead of the payload.
15492
15493 * include/grub/i386/loader.h (grub_multiboot_payload_size)
15494 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15495 (grub_multiboot_payload_entry_offset): Export.
15496
15497 2008-08-01 Bean <bean123ch@gmail.com>
15498
15499 * normal/menu_entry.c (editor_getline): Don't return the original
15500 string as result, as it will be released by lexer once it has done
15501 using it.
15502
15503 2008-08-01 Robert Millan <rmh@aybabtu.com>
15504
15505 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
15506 within menuentries, not before them.
15507 util/grub.d/10_hurd.in: Likewise.
15508
15509 2008-08-01 Bean <bean123ch@gmail.com>
15510
15511 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
15512 (bufio_mod_SOURCES): New macro.
15513 (bufio_mod_CFLAGS): Likewise.
15514 (bufio_mod_LDFLAGS): Likewise.
15515
15516 * include/grub/bufio.h: New file.
15517
15518 * io/bufio.c: Likewise.
15519
15520 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
15521 (grub_video_reader_png): Use grub_buffile_open to open file.
15522
15523 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
15524 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
15525
15526 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
15527 (grub_video_reader_tga): Use grub_buffile_open to open file.
15528
15529 * font/manager.c: Include <grub/bufio.h>.
15530 (add_font): Use grub_buffile_open to open file.
15531
15532 2008-07-31 Robert Millan <rmh@aybabtu.com>
15533
15534 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
15535 ELF segments, use a macro for arbitrarily accessing any of them instead
15536 of preparing a pointer that allows access to one at a time.
15537 (grub_multiboot_load_elf64): Likewise.
15538
15539 2008-07-31 Bean <bean123ch@gmail.com>
15540
15541 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
15542 GRUB_KERNEL_MACHINE_DATA_END.
15543
15544 2008-07-30 Robert Millan <rmh@aybabtu.com>
15545
15546 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
15547 Increase from 0x50 to 0x60.
15548 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
15549 use UUIDs to identify the root drive for them. If that's not
15550 possible, abort.
15551 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
15552 check, for cross-disk installs.
15553
15554 2008-07-30 Robert Millan <rmh@aybabtu.com>
15555
15556 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
15557 is non-empty, use it to set the `prefix' environment variable instead
15558 of the usual approach.
15559 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
15560 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
15561 environment variable instead of dummy make_install_device().
15562
15563 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
15564 (start): Insert a data section, with `grub_prefix' variable.
15565 * kern/i386/linuxbios/startup.S: Likewise.
15566
15567 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
15568 New variable reference.
15569 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
15570 New macro. Defines offset of `grub_prefix' within startup.S (relative
15571 to `start').
15572 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
15573 section within startup.S (relative to `start').
15574 * include/grub/i386/coreboot/kernel.h: Likewise.
15575
15576 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
15577 Overwrite grub_prefix with its contents, at the beginning of the
15578 first segment.
15579 (main): Understand -p|--prefix.
15580
15581 2008-07-30 Robert Millan <rmh@aybabtu.com>
15582
15583 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
15584
15585 2008-07-30 Robert Millan <rmh@aybabtu.com>
15586
15587 * term/i386/pc/vga_text.c (grub_console_cls): Use
15588 grub_console_gotoxy() to go back to beginning of the screen.
15589 Found by Patrick Georgi <patrick.georgi@coresystems.de>
15590
15591 2008-07-29 Christian Franke <franke@computer.org>
15592
15593 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15594 Add conversion of emulated mount points on Cygwin.
15595
15596 2008-07-29 Christian Franke <franke@computer.org>
15597
15598 * util/update-grub.in: Add a check for admin
15599 group on Cygwin.
15600 Remove old `grub.cfg.new' before creation.
15601 Add `-f' to `mv' to handle the different filesystem
15602 semantics of Windows.
15603
15604 2008-07-29 Bean <bean123ch@gmail.com>
15605
15606 * normal/main.c (get_line): Fix buffer overflow bug.
15607
15608 2008-07-28 Robert Millan <rmh@aybabtu.com>
15609
15610 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
15611 (struct grub_apple_header): New struct. Describes the layout of
15612 the partmap header.
15613 (apple_partition_map_iterate): Check the header magic as well as the
15614 partition magic (which was already being checked).
15615
15616 2008-07-28 Pavel Roskin <proski@gnu.org>
15617
15618 * genmk.rb: Add a warning to the beginning of the output that
15619 it's a generated file and should not be edited.
15620
15621 2008-07-28 Robert Millan <rmh@aybabtu.com>
15622
15623 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15624 with the same number are found, just use issue a warning with
15625 grub_dprintf(), as this error has been reported to be non-fatal.
15626
15627 2008-07-27 Robert Millan <rmh@aybabtu.com>
15628
15629 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
15630 information.
15631
15632 2008-07-27 Bean <bean123ch@gmail.com>
15633
15634 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
15635 (grub_fat_find_dir): Ignore case when comparing filename.
15636
15637 2008-07-27 Bean <bean123ch@gmail.com>
15638
15639 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
15640 smallino, as it's more descriptive, and i8count can be confused with
15641 the other field count.
15642 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
15643 inode type.
15644
15645 2008-07-27 Bean <bean123ch@gmail.com>
15646
15647 * commands/crc.c: New file.
15648
15649 * lib/crc.c: Likewise.
15650
15651 * include/grub/lib/crc.h: Likewise.
15652
15653 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
15654
15655 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
15656 (hexdump): Move this function to ...
15657
15658 * lib/hexdump.c: ... here.
15659
15660 * include/grub/hexdump.h: Renamed to ...
15661
15662 * include/grub/lib/hexdump.h: ... this.
15663
15664 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
15665
15666 * util/grub-editenv.c: Likewise.
15667
15668 * include/envblk.h: Renamed to ...
15669
15670 * include/lib/envblk.h: ... this.
15671
15672 * util/envblk.c: Renamed to ...
15673
15674 * lib/envblk.c: ... this.
15675
15676 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
15677 lib/hexdump.c.
15678 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
15679 (pkglib_MODULES): Add crc.mod.
15680 (hexdump_mod_SOURCES): Add lib/hexdump.c.
15681 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
15682 (crc_mod_SOURCES): New macro.
15683 (crc_mod_CFLAGS): Likewise.
15684 (crc_mod_LDFLAGS): Likewise.
15685
15686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
15687
15688 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15689
15690 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15691
15692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15693
15694 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15695
15696 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
15697
15698 * commands/help.c: Include <grub/term.h>.
15699 (TERM_WIDTH): Removed. Updated all users.
15700
15701 2008-07-27 Pavel Roskin <proski@gnu.org>
15702
15703 * util/getroot.c (find_root_device): Rephrase a comment to avoid
15704 spurious warnings about a comment within a comment.
15705
15706 2008-07-25 Robert Millan <rmh@aybabtu.com>
15707
15708 * util/getroot.c (find_root_device): Skip devices that match
15709 /dev/dm-[0-9]. This lets the real device be found for any type of
15710 abstraction (LVM, EVMS, RAID..).
15711 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
15712 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
15713 device is found first, find_root_device() will now skip it.
15714
15715 2008-07-24 Pavel Roskin <proski@gnu.org>
15716
15717 * include/grub/types.h: Use __builtin_bswap32() and
15718 __builtin_bswap64() with gcc 4.3 and newer.
15719
15720 2008-07-24 Christian Franke <franke@computer.org>
15721
15722 * util/i386/pc/grub-install.in: If `--debug' is specified,
15723 pass `--verbose' to grub-setup.
15724 Abort script if make_system_path_relative_to_its_root() fails.
15725
15726 2008-07-24 Bean <bean123ch@gmail.com>
15727
15728 * configure.ac: Fixed a bug caused by the previous cygwin patch,
15729 variable `target_platform' should be `platform'.
15730
15731 2008-07-24 Bean <bean123ch@gmail.com>
15732
15733 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
15734 (grub_png_init_fixed_block): New function.
15735 (grub_png_decode_image_data): Handle fixed huffman code compression.
15736
15737 2008-07-24 Bean <bean123ch@gmail.com>
15738
15739 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
15740 (grub_pe2elf_SOURCES): New macro.
15741 (CLEANFILES): Add grub-pe2elf.
15742
15743 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
15744 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
15745 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
15746 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
15747 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
15748 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
15749 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
15750 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
15751 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
15752 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
15753 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
15754 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
15755 (GRUB_PE32_DT_FUNCTION): Likewise.
15756 (GRUB_PE32_REL_I386_DIR32): Likewise.
15757 (GRUB_PE32_REL_I386_REL32): Likewise.
15758 (grub_pe32_symbol): New structure.
15759 (grub_pe32_reloc): Likewise.
15760
15761 * util/grub-pe2elf.c: New file.
15762
15763 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
15764 start symbol in non pc platform.
15765
15766 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
15767
15768 The following patches are from Christian Franke.
15769
15770 * include/grub/dl.h: Remove .previous, gas supports this only
15771 for ELF format.
15772
15773 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
15774 Remove .type, gas supports this only for ELF format.
15775
15776 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
15777 nullbytes in symbol table. This fixes an infinite loop if table is
15778 zero filled.
15779
15780 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
15781 TARGET_IMG_LDFLAGS and EXEEXT.
15782
15783 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
15784 TARGET_IMG_LDFLAGS_AC.
15785 (grub_CHECK_STACK_ARG_PROBE): New function.
15786
15787 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
15788
15789 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
15790
15791 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
15792 to set TARGET_IMG_LD* accordingly.
15793 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
15794 Add call to grub_CHECK_STACK_ARG_PROBE.
15795 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
15796
15797 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
15798
15799 * genmk.rb: Add EXEEXT to CLEANFILES.
15800
15801 2008-07-23 Robert Millan <rmh@aybabtu.com>
15802
15803 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
15804 define the codes for arrows and lines used for the menu).
15805 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
15806 as well.
15807
15808 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
15809 fonts, because the latter are too slow.
15810
15811 2008-07-21 Bean <bean123ch@gmail.com>
15812
15813 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
15814 a20. Run keyboard test last, as it will cause macbook to halt.
15815
15816 2008-07-18 Pavel Roskin <proski@gnu.org>
15817
15818 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
15819 load foreign architecture modules correctly anyway. Keep
15820 support for loading host architecture modules, whether we
15821 compile them or not.
15822
15823 2008-07-17 Pavel Roskin <proski@gnu.org>
15824
15825 * configure.ac: Use -m32 or -m64 regardless of whether we had to
15826 change target_cpu. The compiler default can mismatch target_cpu
15827 in any case.
15828
15829 * disk/efi/efidisk.c: Fix format warnings on x86_64.
15830 * kern/efi/efi.c: Likewise.
15831
15832 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
15833 target compiler is functional.
15834 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
15835 are set up.
15836
15837 * configure.ac: Default to efi platform for x86_64-apple. Allow
15838 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
15839 adjustments from the rest, only do them if target is not
15840 explicitly given. Merge other adjustments with the final sanity
15841 check. Remove an extraneous check for supported CPU. Be
15842 specific which CPU and which platform is not supported.
15843
15844 * configure.ac: Default to pc platform for x86_64.
15845
15846 2008-07-17 Robert Millan <rmh@aybabtu.com>
15847
15848 Partial LinuxBIOS -> Coreboot rename.
15849
15850 * conf/i386-linuxbios.rmk: Renamed to ...
15851 * conf/i386-coreboot.rmk: ... this.
15852 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
15853 * configure.ac: Accept "coreboot" as input platform (but maintain
15854 compatibility with "linuxbios").
15855 * include/grub/i386/linuxbios: Renamed to ...
15856 * include/grub/i386/coreboot: ... this.
15857
15858 2008-07-17 Bean <bean123ch@gmail.com>
15859
15860 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
15861 (appleldr_mod_SOURCE): New variable.
15862 (appleldr_mod_CFLAGS): Likewise.
15863 (appleldr_mod_LDFLAGS): Likewise.
15864 (pci_mod_SOURCES): Likewise.
15865 (pci_mod_CFLAGS): Likewise.
15866 (pci_mod_LDFLAGS): Likewise.
15867 (lspci_mod_SOURCES): Likewise.
15868 (lspci_mod_CFLAGS): Likewise.
15869 (lspci_mod_LDFLAGS): Likewise.
15870
15871 * conf/x86_64-efi.rmk: New file.
15872
15873 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
15874 macro.
15875 (grub_efidisk_write): Likewise.
15876
15877 * include/efi/api.h (efi_call_0): New macro.
15878 (efi_call_1): Likewise.
15879 (efi_call_2): Likewise.
15880 (efi_call_3): Likewise.
15881 (efi_call_4): Likewise.
15882 (efi_call_5): Likewise.
15883 (efi_call_6): Likewise.
15884
15885 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
15886 grub_rescue_cmd_chainloader.
15887
15888 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
15889 (grub_pe32_optional_header): Change some fields based on i386 or
15890 x86_64 platform.
15891 (GRUB_PE32_PE32_MAGIC): Likewise.
15892
15893 * include/grub/efi/uga_draw.h: New file.
15894
15895 * include/grub/elf.h (STN_ABS): New constant.
15896 (R_X86_64_NONE): Relocation constant for x86_64.
15897 (R_X86_64_64): Likewise.
15898 (R_X86_64_PC32): Likewise.
15899 (R_X86_64_GOT32): Likewise.
15900 (R_X86_64_PLT32): Likewise.
15901 (R_X86_64_COPY): Likewise.
15902 (R_X86_64_GLOB_DAT): Likewise.
15903 (R_X86_64_JUMP_SLOT): Likewise.
15904 (R_X86_64_RELATIVE): Likewise.
15905 (R_X86_64_GOTPCREL): Likewise.
15906 (R_X86_64_32): Likewise.
15907 (R_X86_64_32S): Likewise.
15908 (R_X86_64_16): Likewise.
15909 (R_X86_64_PC16): Likewise.
15910 (R_X86_64_8): Likewise.
15911 (R_X86_64_PC8): Likewise.
15912
15913 * include/grub/i386/efi/pci.h: New file.
15914
15915 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
15916 Change it value based on platform.
15917 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
15918 (GRUB_E820_RAM): Likewise.
15919 (GRUB_E820_RESERVED): Likewise.
15920 (GRUB_E820_ACPI): Likewise.
15921 (GRUB_E820_NVS): Likewise.
15922 (GRUB_E820_EXEC_CODE): Likewise.
15923 (GRUB_E820_MAX_ENTRY): Likewise.
15924 (grub_e820_mmap): New structure.
15925 (linux_kernel_header): Change the efi field according to different
15926 kernel version, also field from linux_kernel_header.
15927
15928 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
15929
15930 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
15931 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
15932 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
15933 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
15934 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
15935 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
15936 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
15937 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
15938 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
15939 (GRUB_PCI_ADDR_IO_MASK): Likewise.
15940
15941 * include/grub/x86_64/efi/kernel.h: New file.
15942
15943 * include/grub/x86_64/efi/loader.h: Likewise.
15944
15945 * include/grub/x86_64/efi/machine.h: Likewise.
15946
15947 * include/grub/x86_64/efi/pci.h: Likewise.
15948
15949 * include/grub/x86_64/efi/time.h: Likewise.
15950
15951 * include/grub/x86_64/linux.h: Likewise.
15952
15953 * include/grub/x86_64/setjmp.h: Likewise.
15954
15955 * include/grub/x86_64/time.h: Likewise.
15956
15957 * include/grub/x86_64/types.h: Likewise.
15958
15959 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
15960 GRUB_TARGET_SIZEOF_VOID_P.
15961
15962 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
15963 (grub_efi_locate_handle): Likewise.
15964 (grub_efi_open_protocol): Likewise.
15965 (grub_efi_set_text_mode): Likewise.
15966 (grub_efi_stall): Likewise.
15967 (grub_exit): Likewise.
15968 (grub_reboot): Likewise.
15969 (grub_halt): Likewise.
15970 (grub_efi_exit_boot_services): Likewise.
15971 (grub_get_rtc): Likewise.
15972
15973 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
15974 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
15975 (grub_efi_allocate_pages): Wrap efi calls.
15976 (grub_efi_free_pages): Wrap efi calls.
15977 (grub_efi_get_memory_map): Wrap efi calls.
15978
15979 * kern/x86_64/dl.c: New file.
15980
15981 * kern/x86_64/efi/callwrap.S: Likewise.
15982
15983 * kern/x86_64/efi/startup.S: Likewise.
15984
15985 * loader/efi/appleloader.c: Likewise.
15986
15987 * loader/efi/chainloader.c (cmdline): New variable.
15988 (grub_chainloader_unload): Wrap efi calls.
15989 (grub_chainloader_boot): Likewise.
15990 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
15991 command line.
15992
15993 * loader/efi/chainloader_normal.c (chainloader_command):
15994 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
15995 command line.
15996
15997 * loader/i386/efi/linux.c (allocate_pages): Change allocation
15998 method.
15999 (grub_e820_add_region): New function.
16000 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16001 booting.
16002 (grub_find_video_card): New function.
16003 (grub_linux_setup_video): New function.
16004 (grub_rescue_cmd_linux): Probe for video information.
16005
16006 * normal/x86_64/setjmp.S: New file.
16007
16008 * term/efi/console.c (map_char): New function.
16009 (grub_console_putchar): Map unicode char.
16010 (grub_console_checkkey): Wrap efi calls.
16011 (grub_console_getkey): Likewise.
16012 (grub_console_getwh): Likewise.
16013 (grub_console_gotoxy): Likewise.
16014 (grub_console_cls): Likewise.
16015 (grub_console_setcolorstate): Likewise.
16016 (grub_console_setcursor): Likewise.
16017
16018 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16019
16020 2008-07-16 Pavel Roskin <proski@gnu.org>
16021
16022 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16023 format strings.
16024
16025 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16026 pointer, not an integer. This fixes a warning and prevents
16027 precision loss on 64-bit systems.
16028 (relocate_addresses): Remove unneeded cast.
16029
16030 2008-07-15 Pavel Roskin <proski@gnu.org>
16031
16032 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16033
16034 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16035
16036 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16037 Fix comparison between signed and unsigned.
16038
16039 * include/grub/i386/ieee1275/console.h: Declare
16040 grub_console_init() and grub_console_fini().
16041
16042 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16043 It's empty and unused.
16044
16045 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16046 beginning to avoid warnings with some compilers.
16047
16048 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16049 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16050
16051 2008-07-14 Pavel Roskin <proski@gnu.org>
16052
16053 * kern/env.c (grub_register_variable_hook): Don't copy empty
16054 string, it leaks memory. Pass "" to grub_env_set(), it should
16055 handle constant strings.
16056
16057 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16058 * commands/cmp.c (grub_cmd_cmp): Likewise.
16059 * kern/dl.c (grub_dl_flush_cache): Likewise.
16060 (grub_dl_load_core): Likewise.
16061 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16062 (grub_elf64_load_phdrs): Likewise.
16063
16064 2008-07-13 Pavel Roskin <proski@gnu.org>
16065
16066 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16067 between signed and unsigned.
16068 (LzmaEnc_Finish): Fix warning about an unused parameter.
16069
16070 2008-07-13 Bean <bean123ch@gmail.com>
16071
16072 * Makefile.in (enable_lzo): New rule.
16073
16074 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16075
16076 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16077
16078 * boot/i386/pc/lnxboot.S: #include <config.h>.
16079
16080 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
16081 its value according to the compression algorithm used, lzo or lzma.
16082
16083 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16084 compression algorithm according to configure macro.
16085
16086 * kern/i386/pc/startup.S (codestart): Likewise.
16087
16088 * kern/i386/pc/lzma_decode.S: New file.
16089
16090 * include/grub/lib/LzFind.h: Likewise.
16091
16092 * include/grub/lib/LzHash.h: Likewise.
16093
16094 * include/grub/lib/LzmaDec.h: Likewise.
16095
16096 * include/grub/lib/LzmaEnc.h: Likewise.
16097
16098 * include/grub/lib/LzmaTypes.h: Likewise.
16099
16100 * lib/LzFind.c: Likewise.
16101
16102 * lib/LzmaDec.c: Likewise.
16103
16104 * lib/LzmaEnc.c: Likewise.
16105
16106 2008-07-13 Bean <bean123ch@gmail.com>
16107
16108 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16109 (grub_ext4_extent_header): New structure.
16110 (grub_ext4_extent): Likewise.
16111 (grub_ext4_extent_idx): Likewise.
16112 (grub_ext4_find_leaf): New function.
16113 (grub_ext2_read_block): Handle extents.
16114
16115 2008-07-12 Robert Millan <rmh@aybabtu.com>
16116
16117 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16118
16119 2008-07-11 Robert Millan <rmh@aybabtu.com>
16120
16121 * util/grub.d/40_custom.in: New file. Example on how to add custom
16122 entries to /etc/grub.d.
16123 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16124 40_custom (implicitly, by merging all the grub.d rules).
16125
16126 2008-07-11 Pavel Roskin <proski@gnu.org>
16127
16128 * commands/read.c (grub_getline): Fix invalid memory access.
16129 Don't add newline to the variable value.
16130
16131 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16132 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16133 (serial_hw_get_port): Check validity of the port number.
16134 (grub_cmd_serial): Check return value of serial_hw_get_port().
16135
16136 2008-07-07 Pavel Roskin <proski@gnu.org>
16137
16138 * boot/i386/pc/diskboot.S (notification_string): Replace
16139 "Loading kernel" with just "loading". This is shorter, less
16140 confusing and saves a few bytes for possible future changes.
16141
16142 2008-07-05 Pavel Roskin <proski@gnu.org>
16143
16144 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16145 size for ATAPI devices, they are undefined. Output sector
16146 number in decimal form.
16147
16148 * disk/ata.c: Use named constants for status bits.
16149
16150 2008-07-04 Pavel Roskin <proski@gnu.org>
16151
16152 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16153 grub_addr_t before casting it to the void pointer to fix a
16154 warning. Non-addressable regions are discarded earlier.
16155 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16156 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16157 (check_signature): Don't shadow table_header.
16158 (grub_linuxbios_table_iterate): Cast numeric constants to
16159 grub_linuxbios_table_header_t.
16160 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16161 grub_stop().
16162
16163 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16164 prevent warnings.
16165
16166 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16167 pointer, which can cause warnings. Support 64-bit addresses.
16168
16169 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16170 of sizeof(long). This fixes PowerPC image generation on x86_64.
16171
16172 2008-07-04 Robert Millan <rmh@aybabtu.com>
16173
16174 This fixes a performance issue when pc & gpt partmap iterators
16175 didn't abort iteration even after our hook found what it was
16176 looking for (often causing expensive probes of non-existent drives).
16177
16178 Some callers relied on previous buggy behaviour, since they would
16179 raise an error when their own hooks caused early abortion of its
16180 iteration.
16181
16182 * kern/device.c (grub_device_open): Improve error message.
16183 * disk/lvm.c (grub_lvm_open): Likewise.
16184 * disk/raid.c (grub_raid_open): Likewise.
16185
16186 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16187 when hook requests it, independently of grub_errno.
16188 (pc_partition_map_probe): Do not fail when find_func() caused
16189 early abortion of pc_partition_map_iterate().
16190
16191 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16192 when hook requests it, independently of grub_errno.
16193 (gpt_partition_map_probe): Do not fail when find_func() caused
16194 early abortion of gpt_partition_map_iterate().
16195
16196 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16197 when hook requests it, independently of grub_errno. Do not fail when
16198 part_map_iterate_hook() caused early abortion of p->iterate().
16199
16200 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16201 when grub_partition_iterate() returned with non-zero.
16202
16203 2008-07-03 Pavel Roskin <proski@gnu.org>
16204
16205 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16206 like we do in grub_ata_pio_read().
16207 (grub_ata_readwrite): Always write individual sectors. Fix the
16208 sector count for the remainder.
16209 (grub_ata_write): Enable writing to ATA devices. Correctly
16210 report error for ATAPI devices.
16211
16212 2008-07-02 Pavel Roskin <proski@gnu.org>
16213
16214 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
16215 warning.
16216
16217 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
16218 for every read sector, we already increment it for the whole
16219 batch. This fixes reading more than 256 sectors at once.
16220
16221 * util/grub-editenv.c (cmd_info): Cast argument to long
16222 explicitly. ptrdiff_t reduces to int on i386.
16223
16224 * util/grub-editenv.c (main): Be specific which parameter is
16225 missing.
16226
16227 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
16228 (memdisk): Make memdisk_orig_addr a pointer.
16229
16230 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
16231 for file offsets, use grub_off_t instead. Fix printf format
16232 warnings.
16233
16234 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
16235 there. Real unexpected warnings should not drown in the noise
16236 about known problems.
16237
16238 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
16239 grub_disk_addr_t for memory addresses.
16240
16241 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
16242 explicitly to fix a warning.
16243
16244 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
16245
16246 * Makefile.in (MODULE_LDFLAGS): New variable.
16247 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
16248 the linker accepts --build-id=none.
16249 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
16250 MODULE_LDFLAGS.
16251 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
16252
16253 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
16254 those in Linux XFS code. Provide a way to access 64-bit parent
16255 inode.
16256 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
16257 the end of struct grub_xfs_dir_header.
16258
16259 2008-07-02 Bean <bean123ch@gmail.com>
16260
16261 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
16262 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16263 and GRUB_IEEE1275_FLAG_NO_ANSI.
16264
16265 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
16266 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16267 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
16268
16269 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
16270 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
16271
16272 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
16273 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
16274
16275 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
16276 esc sequence on non ANSI terminal.
16277 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
16278
16279 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
16280 beginning of file.
16281
16282 2008-07-02 Bean <bean123ch@gmail.com>
16283
16284 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
16285 (grub_editenv_SOURCES): New variable.
16286 (pkglib_MODULES): Add loadenv.mod.
16287 (loadenv_mod_SOURCES): New variable.
16288 (loadenv_mod_CFLAGS): Likewise.
16289 (loadenv_mod_LDFLAGS): Likewise.
16290
16291 * include/grub/envblk.h: New file.
16292
16293 * util/envblk.c: New file.
16294
16295 * util/grub-editenv.c: New file.
16296
16297 * commands/loadenv.c: New file.
16298
16299 2008-07-01 Pavel Roskin <proski@gnu.org>
16300
16301 * include/multiboot2.h (struct multiboot_tag_module): Use char,
16302 not unsigned char. This fixes warnings and is consistent with
16303 other tags.
16304
16305 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
16306
16307 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
16308
16309 * term/tparm.c (analyze): Always set *popcount.
16310
16311 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
16312 cast to fix a warning.
16313
16314 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
16315 cast to suppress a warning.
16316
16317 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
16318 grub_fshelp_read_file() expects.
16319
16320 * fs/fat.c: Fix UUID calculation on big-endian systems. We
16321 write uuid as a 32-bit value in CPU byte order, so declare and
16322 use it as such.
16323
16324 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
16325 long if the format specifier expects it.
16326 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
16327 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16328 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
16329 long to fix a warning.
16330 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
16331 grub_dprintf() arguments to fix warnings.
16332
16333 2008-06-30 Pavel Roskin <proski@gnu.org>
16334
16335 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
16336 install_bsd_part immediately before core.img is embedded or
16337 modified on disk. This fixes core.img verification if core.img
16338 cannot be embedded.
16339
16340 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
16341 core_path to calculate the blocklist.
16342 Patch from Javier Martín <lordhabbit@gmail.com>
16343
16344 2008-06-29 Robert Millan <rmh@aybabtu.com>
16345
16346 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
16347 block to disk block.
16348 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
16349 Patch from Niels Böhm <bitbucket@arcor.de>
16350
16351 2008-06-29 Robert Millan <rmh@aybabtu.com>
16352
16353 * util/update-grub_lib.in (font_path): Search for fonts in
16354 /boot/grub first, which is more likely to be readable (we aren't
16355 deciding where fonts live, just looking for them).
16356
16357 2008-06-26 Pavel Roskin <proski@gnu.org>
16358
16359 * util/biosdisk.c (read_device_map): Don't leave dead map
16360 entries for devices failing stat() check.
16361
16362 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
16363 core_path_dev for the core.img path on the target device.
16364
16365 2008-06-26 Robert Millan <rmh@aybabtu.com>
16366
16367 * disk/fs_uuid.c: New file.
16368 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
16369 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
16370 (fs_uuid_mod_LDFLAGS): New variables.
16371 * include/grub/disk.h (grub_disk_dev_id): Add
16372 `GRUB_DISK_DEVICE_UUID_ID'.
16373 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
16374 implement iterate().
16375
16376 2008-06-26 Robert Millan <rmh@aybabtu.com>
16377
16378 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
16379 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
16380 Linux image includes no initrd.
16381
16382 2008-06-21 Javier Martín <lordhabbit@gmail.com>
16383
16384 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
16385 call to resolve the core image location that effectively appended the
16386 name twice.
16387
16388 2008-06-21 Robert Millan <rmh@aybabtu.com>
16389
16390 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
16391 call from here ...
16392
16393 * util/grub.d/10_hurd.in: ... to here ...
16394 * util/grub.d/10_linux.in: ... and here.
16395
16396 2008-06-19 Robert Millan <rmh@aybabtu.com>
16397
16398 * kern/main.c (grub_main): Export `prefix' variable immediately
16399 after it has been set by grub_machine_set_prefix().
16400
16401 2008-06-19 Robert Millan <rmh@aybabtu.com>
16402
16403 * commands/search.c (search_label, search_fs_uuid, search_file): Print
16404 search result when not saving to variable, not the other way around.
16405 When saving to variable, abort iteration as soon as a match is found.
16406
16407 2008-06-19 Robert Millan <rmh@aybabtu.com>
16408
16409 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
16410 check for partition that provides /boot/grub. Its logic is flawed,
16411 as it prevents prepare_grub_to_access_device() from being called
16412 multiple times.
16413
16414 2008-06-19 Robert Millan <rmh@aybabtu.com>
16415
16416 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
16417 "insmod" command directly when abstraction modules are needed,
16418 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
16419 since it had already been processed).
16420
16421 2008-06-19 Pavel Roskin <proski@gnu.org>
16422
16423 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
16424 changed. This is needed in case GRUB_LIBDIR changes.
16425 * conf/i386-ieee1275.rmk: Likewise.
16426 * conf/i386-linuxbios.rmk: Likewise.
16427 * conf/i386-pc.rmk: Likewise.
16428 * conf/powerpc-ieee1275.rmk: Likewise.
16429
16430 2008-06-18 Pavel Roskin <proski@gnu.org>
16431
16432 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
16433 kernel_elf_symlist.c to symlist.c for consistency with other
16434 architectures. Update all users.
16435 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16436
16437 2008-06-18 Robert Millan <rmh@aybabtu.com>
16438
16439 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
16440 it in prefix.
16441
16442 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
16443 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
16444 a RAID device, run setup() for all members independently on whether
16445 LVM abstraction is being used.
16446 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
16447 If grub-mkimage has set `*install_dos_part == -2', don't override this
16448 value.
16449 Perform *install_dos_part adjustments independently on whether
16450 we're embedding or not.
16451 Clarify error message when image is too big for embedding.
16452 Remove duplicate *install_dos_part stanza.
16453
16454 2008-06-17 Robert Millan <rmh@aybabtu.com>
16455
16456 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
16457 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
16458 variables.
16459 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
16460 values in grub_ofconsole_normal_color and
16461 grub_ofconsole_highlight_color (they're not directly related to
16462 background and foreground).
16463 (grub_ofconsole_setcolorstate): Extract background and foreground
16464 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
16465
16466 2008-06-17 Robert Millan <rmh@aybabtu.com>
16467
16468 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
16469 /boot/grub for the check in last commit, not /boot (they could be
16470 different partitions).
16471
16472 2008-06-16 Robert Millan <rmh@aybabtu.com>
16473
16474 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
16475 asked to setup access for the same partition that provides /boot,
16476 don't bother using UUIDs since our root already has the value we
16477 want.
16478
16479 2008-06-16 Robert Millan <rmh@aybabtu.com>
16480
16481 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
16482 I2O devices.
16483 Patch from Sven Mueller <sven@debian.org>.
16484
16485 2008-06-16 Robert Millan <rmh@aybabtu.com>
16486
16487 * util/update-grub.in: Check for $EUID instead of $UID.
16488 Reported by Vincent Zweije.
16489
16490 2008-06-16 Bean <bean123ch@gmail.com>
16491
16492 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
16493 (grub_ext2_read_block): Likewise.
16494 (grub_ext2_read_inode): Likewise.
16495 (grub_ext2_mount): Likewise.
16496 (grub_ext2_close): Likewise.
16497 (grub_ext3_get_journal): Removed.
16498
16499 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
16500 (grub_reiserfs_read_symlink): Likewise.
16501 (grub_reiserfs_mount): Likewise.
16502 (grub_reiserfs_open): Likewise.
16503 (grub_reiserfs_read): Likewise.
16504 (grub_reiserfs_close): Likewise.
16505 (grub_reiserfs_get_journal): Removed.
16506
16507 * fs/fshelp.c (grub_fshelp_read): Removed.
16508 (grub_fshelp_map_block): Likewise.
16509
16510 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
16511 (grub_fshelp_journal): Likewise.
16512 (grub_fshelp_read): Likewise.
16513 (grub_fshelp_map_block): Likewise.
16514
16515 2008-06-16 Pavel Roskin <proski@gnu.org>
16516
16517 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
16518 floating point anymore.
16519 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
16520
16521 2008-06-15 Pavel Roskin <proski@gnu.org>
16522
16523 * commands/ls.c (grub_ls_list_files): Use integer calculations
16524 for human readable format, avoid floating point use.
16525 * kern/misc.c (grub_ftoa): Remove.
16526 (grub_vsprintf): Remove floating point support.
16527
16528 2008-06-15 Robert Millan <rmh@aybabtu.com>
16529
16530 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
16531 devices.
16532 Reported by Max Vozeler.
16533
16534 2008-06-15 Robert Millan <rmh@aybabtu.com>
16535
16536 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
16537 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
16538 skipped later.
16539 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
16540 the beginning of the prefix.
16541
16542 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
16543 It is assumed that if we have a memdisk, grub-mkimage has set
16544 grub_prefix to include the "(memdisk)" drive in it.
16545
16546 2008-06-15 Robert Millan <rmh@aybabtu.com>
16547
16548 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
16549 Initialize keyboard controller after registering the terminal, so that
16550 grub_printf() can be called from grub_keyboard_controller_init().
16551
16552 2008-06-15 Robert Millan <rmh@aybabtu.com>
16553
16554 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
16555 extent-btree which is written as big endian on disk.
16556 Reported by Alain Greppin <al@chilibi.org>.
16557
16558 2008-06-14 Robert Millan <rmh@aybabtu.com>
16559
16560 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
16561 * util/i386/pc/grub-install.in (modules): Likewise.
16562
16563 2008-06-13 Pavel Roskin <proski@gnu.org>
16564
16565 * commands/ls.c (grub_ls_list_files): Fix format warnings.
16566
16567 2008-06-13 Bean <bean123ch@gmail.com>
16568
16569 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
16570
16571 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
16572
16573 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
16574 to indicate sparse block.
16575
16576 2008-06-12 Pavel Roskin <proski@gnu.org>
16577
16578 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
16579 number, grub_fshelp_read() does it for us.
16580
16581 * fs/fshelp.c (grub_fshelp_read): New function. Implement
16582 linear disk read with journal translation.
16583 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
16584 * include/grub/fshelp.h: Declare grub_fshelp_read().
16585
16586 2008-06-09 Pavel Roskin <proski@gnu.org>
16587
16588 * fs/minix.c (grub_minix_mount): Handle error reading
16589 superblock.
16590
16591 2008-06-08 Robert Millan <rmh@aybabtu.com>
16592
16593 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
16594 don't append the RAID prefix afterwards.
16595 Reported by Clint Adams.
16596
16597 2008-06-08 Robert Millan <rmh@aybabtu.com>
16598
16599 Based on description from Pavel:
16600 * kern/disk.c (grub_disk_check_range): Rename to ...
16601 (grub_disk_adjust_range): ... this. Add a comment explaining the
16602 tasks performed by this function.
16603
16604 2008-06-08 Robert Millan <rmh@aybabtu.com>
16605
16606 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
16607 `num_serial' (for consistency with other variables).
16608 (struct grub_ntfs_data): Add `uuid' member.
16609 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
16610 (grub_ntfs_uuid): New function.
16611 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
16612
16613 2008-06-07 Pavel Roskin <proski@gnu.org>
16614
16615 * util/biosdisk.c (open_device): Revert last change to the
16616 function, it broke installation. The sector needs to be
16617 different dependent on which device is opened.
16618
16619 2008-06-06 Robert Millan <rmh@aybabtu.com>
16620
16621 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
16622 rest of GRUB, and breakage doesn't happen if its value were modified.
16623
16624 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16625 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
16626 a constant (same value).
16627 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
16628 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
16629
16630 2008-06-06 Robert Millan <rmh@aybabtu.com>
16631
16632 * util/biosdisk.c (open_device): Do not modify sector offset when
16633 accessing a partition. kern/disk.c already handles this for us.
16634
16635 2008-06-06 Robert Millan <rmh@aybabtu.com>
16636
16637 * util/grub-emu.c (grub_machine_init): Move code in this function from
16638 here ...
16639 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
16640 segfault in case grub_printf() is called).
16641
16642 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
16643 grub_probe. Update all users not to explicitly add it again.
16644 (grub_device): New variable; contains corresponding device for grubdir.
16645 (fs_module, partmap_module, devabstraction_module): Pass
16646 `--device ${grub_device}' to grub_probe to avoid traversing /dev
16647 every time.
16648
16649 2008-06-05 Robert Millan <rmh@aybabtu.com>
16650
16651 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
16652 is found, print it (same layout as with labels).
16653
16654 2008-06-04 Robert Millan <rmh@aybabtu.com>
16655
16656 * util/biosdisk.c (get_drive): Rename to ...
16657 (find_grub_drive): ... this. Update all users.
16658
16659 (get_os_disk): Rename to ...
16660 (convert_system_partition_to_system_disk): ... this. Update all users.
16661
16662 (find_drive): Rename to ...
16663 (find_system_device): ... this. Update all users.
16664
16665 2008-06-04 Robert Millan <rmh@aybabtu.com>
16666
16667 * util/biosdisk.c (get_os_disk): Handle IDA devices.
16668 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16669 (make_device_map): Likewise.
16670
16671 2008-06-01 Robert Millan <rmh@aybabtu.com>
16672
16673 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
16674 before dereferencing it.
16675
16676 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
16677 union with fat12/fat16-specific ones. Add some new fields, including
16678 `num_serial' for both versions.
16679 (struct grub_fat_data): Add `uuid' member.
16680 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
16681 names. Initialize `data->uuid' using `num_serial'.
16682 (grub_fat_uuid): New function.
16683 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
16684
16685 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
16686 (grub_reiserfs_uuid): New function.
16687 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
16688 member.
16689
16690 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
16691 (grub_xfs_uuid): New function.
16692 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
16693
16694 2008-06-01 Robert Millan <rmh@aybabtu.com>
16695
16696 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
16697 code that is backward compatible with pre-uuid search command.
16698
16699 2008-05-31 Robert Millan <rmh@aybabtu.com>
16700
16701 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
16702 floppies after everything else, to ensure floppy drive isn't accessed
16703 unnecessarily (patch from Bean).
16704
16705 2008-05-31 Robert Millan <rmh@aybabtu.com>
16706
16707 * commands/search.c (search_label, search_fs_uuid, search_file): Do
16708 not print device names when we were asked to set a variable.
16709
16710 2008-05-31 Robert Millan <rmh@aybabtu.com>
16711
16712 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
16713 using "cursor-on" and "cursor-off" commands (understood at least by
16714 the Open Firmware flavour on OLPC).
16715
16716 2008-05-31 Michael Gorven <michael@gorven.za.net>
16717
16718 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
16719 on and off sequences.
16720
16721 2008-05-31 Robert Millan <rmh@aybabtu.com>
16722
16723 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
16724 * util/update-grub.in: Likewise.
16725
16726 2008-05-30 Pavel Roskin <proski@gnu.org>
16727
16728 * util/biosdisk.c (linux_find_partition): Simplify logic and
16729 make the code more universal. Keep special processing for
16730 devfs, but use a simple rule for all other devices. If the
16731 device ends with a number, append 'p' and the partition number.
16732 Otherwise, append only the partition number.
16733
16734 2008-05-30 Robert Millan <rmh@aybabtu.com>
16735
16736 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
16737 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
16738 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
16739 the `root' parameter to Linux.
16740
16741 2008-05-30 Robert Millan <rmh@aybabtu.com>
16742
16743 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
16744 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
16745 --fs_uuid with --fs-uuid.
16746 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
16747 all filesystems support them).
16748
16749 2008-05-30 Robert Millan <rmh@aybabtu.com>
16750
16751 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
16752 grub_printf() flags, since we're printing in units of 2 bytes.
16753
16754 2008-05-30 Robert Millan <rmh@aybabtu.com>
16755
16756 * util/grub.d/00_header.in: Remove obsolete comment referencing
16757 convert_system_path_to_grub_path().
16758 * util/update-grub.in: Likewise.
16759 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
16760 (convert_system_path_to_grub_path): Add a warning message explaining
16761 that this function is deprecated. Rely on is_path_readable_by_grub()
16762 for the readability checks.
16763 (font_path): Use is_path_readable_by_grub() for the readability
16764 check rather than convert_system_path_to_grub_path().
16765
16766 2008-05-30 Robert Millan <rmh@aybabtu.com>
16767
16768 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
16769 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
16770 converting it first.
16771 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
16772 grub.cfg for access to font file, and afterwards call it again to set
16773 the root device.
16774
16775 2008-05-30 Robert Millan <rmh@aybabtu.com>
16776
16777 * commands/search.c (options): Add --fs_uuid option.
16778 (search_fs_uuid): New function.
16779 (grub_cmd_search): Fix --set argument passing.
16780 Use search_fs_uuid() when requested via --fs_uuid.
16781 (grub_search_init): Update help message.
16782 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
16783 and redeclare it as an array of 16-bit words.
16784 (grub_ext2_uuid): New function.
16785 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
16786 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
16787 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
16788 (GRUB_DEVICE_BOOT_UUID): New variables.
16789 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
16790 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
16791 whenever possible.
16792 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
16793 just assume `root' variable has the right value.
16794 * util/grub.d/10_linux.in: Likewise.
16795 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
16796 via PRINT_FS_UUID.
16797 (main): Recognise `-t fs_uuid' argument.
16798
16799 2008-05-30 Robert Millan <rmh@aybabtu.com>
16800
16801 * util/biosdisk.c (map): Redefine structure to hold information
16802 about GRUB drive name.
16803 (get_drive): Reimplement without assuming (and verifying) BIOS-like
16804 drive names.
16805 (call_hook): Remove.
16806 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
16807 member. Assume drive has partitions.
16808 (grub_util_biosdisk_open): Access device names via `.device' struct
16809 member.
16810 (open_device): Likewise.
16811 (find_drive): Likewise.
16812 (read_device_map): Adjust map[] usage to match the new struct
16813 definition. Don't check for duplicates (still possible, but not cheap
16814 anymore).
16815 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
16816 (make_device_name): Remove assumption of BIOS-like drive names.
16817
16818 2008-05-30 Pavel Roskin <proski@gnu.org>
16819
16820 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
16821 compiling execute.c doesn't need grub_script.tab.h anymore.
16822 (normal/command.c_DEPENDENCIES): Likewise.
16823 (normal/function.c_DEPENDENCIES): Likewise.
16824 * conf/i386-ieee1275.rmk: Likewise.
16825 * conf/i386-linuxbios.rmk: Likewise.
16826 * conf/i386-pc.rmk: Likewise.
16827 * conf/powerpc-ieee1275.rmk: Likewise.
16828 * conf/sparc64-ieee1275.rmk: Likewise.
16829
16830 2008-05-29 Pavel Roskin <proski@gnu.org>
16831
16832 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
16833 when scanning metadata for volume group name.
16834
16835 * include/grub/script.h: Don't include grub_script.tab.h. It's
16836 a generated file, which may only be included from the files with
16837 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
16838 use union YYSTYPE, as the later allows forward declaration.
16839 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
16840
16841 2008-05-29 Robert Millan <rmh@aybabtu.com>
16842
16843 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
16844 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
16845 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
16846 (grub_console_checkkey): Add grub_dprintf() call to report unknown
16847 scan codes.
16848
16849 2008-05-29 Robert Millan <rmh@aybabtu.com>
16850
16851 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
16852 control key combinations.
16853
16854 2008-05-29 Robert Millan <rmh@aybabtu.com>
16855
16856 * util/powerpc/ieee1275/grub-install.in: Move from here ...
16857 * util/ieee1275/grub-install.in: ... to here.
16858 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
16859 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
16860 (grub_install_SOURCES): Likewise.
16861
16862 2008-05-29 Robert Millan <rmh@aybabtu.com>
16863
16864 * fs/affs.c: Update copyright year.
16865 * fs/ext2.c: Likewise.
16866 * fs/fshelp.c: Likewise.
16867 * fs/hfsplus.c: Likewise.
16868 * fs/ntfs.c: Likewise.
16869 * fs/xfs.c: Likewise.
16870 * include/grub/fshelp.h: Likewise.
16871 * util/grub-mkdevicemap.c: Likewise.
16872
16873 2008-05-28 Robert Millan <rmh@aybabtu.com>
16874
16875 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
16876 might need to be fatfs to support some firmware implementations
16877 (e.g. OFW or EFI).
16878
16879 2008-05-28 Robert Millan <rmh@aybabtu.com>
16880
16881 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
16882 devices.
16883 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16884 (make_device_map): Likewise.
16885
16886 2008-05-20 Bean <bean123ch@gmail.com>
16887
16888 * fs/fshelp.c (grub_fshelp_map_block): New function.
16889 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
16890 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
16891
16892 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
16893 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
16894 (grub_fshelp_journal): New structure.
16895 (grub_fshelp_map_block): New function prototype.
16896 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
16897 (grub_fshelp_map_block): Likewise.
16898
16899 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
16900 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
16901 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
16902 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
16903 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
16904 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
16905 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
16906 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
16907 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
16908 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
16909 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
16910 (grub_ext2_sblock): New members for journal support.
16911 (grub_ext3_journal_header): New structure.
16912 (grub_ext3_journal_revoke_header): Likewise.
16913 (grub_ext3_journal_block_tag): Likewise.
16914 (grub_ext3_journal_sblock): Likewise.
16915 (grub_fshelp_node): New members logfile and journal.
16916 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
16917 grub_fshelp_map_block to get real block number.
16918 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
16919 number.
16920 (grub_ext2_read_inode): Likewise.
16921 (grub_ext3_get_journal): New function.
16922 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
16923 (grub_ext2_close): Release memory used by journal.
16924
16925 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
16926 (REISERFS_MAGIC_DESC_BLOCK): New macro.
16927 (grub_reiserfs_transaction_header): Renamed to
16928 grub_reiserfs_description_block, replace field data with real_blocks.
16929 (grub_reiserfs_commit_block): New structure.
16930 (grub_reiserfs_data): New member journal.
16931 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
16932 number.
16933 (grub_reiserfs_read_symlink): Likewise.
16934 (grub_reiserfs_iterate_dir): Likewise.
16935 (grub_reiserfs_open): Likewise.
16936 (grub_reiserfs_read): Likewise.
16937 (grub_reiserfs_get_journal): New function.
16938 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
16939 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
16940 using grub_reiserfs_get_journal.
16941 (grub_reiserfs_close): Release memory used by journal.
16942
16943 * fs/affs.c (grub_affs_read_block): Change block type to
16944 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
16945
16946 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
16947
16948 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
16949
16950 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
16951
16952 * fs/udf.c (grub_udf_read_block): Change block type to
16953 grub_disk_addr_t. Use type cast to avoid warning.
16954
16955 * fs/xfs.c (grub_xfs_read_block): Likewise.
16956
16957 2008-05-16 Christian Franke <franke@computer.org>
16958
16959 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
16960 to ensure that break with ESC will always work.
16961 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
16962 Remove ESC from keyboard queue.
16963
16964 2008-05-16 Christian Franke <franke@computer.org>
16965
16966 * util/biosdisk.c: [__CYGWIN__] Add includes.
16967 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
16968 (get_os_disk): Move variable declarations to OS specific
16969 parts to avoid warning.
16970 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
16971 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
16972 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
16973 Cygwin.
16974 * util/getroot.c: [__CYGWIN__] Add includes.
16975 (strip_extra_slashes): Fix "/" case.
16976 [__CYGWIN__] (get_win32_path): New function.
16977 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
16978 [__CYGWIN__] (find_root_device): Disable.
16979 [__CYGWIN__] (get_bootsec_serial): New function.
16980 [__CYGWIN__] (find_cygwin_root_device): Likewise.
16981 [__linux__] (grub_guess_root_device): Add early returns to simplify
16982 structure.
16983 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
16984 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
16985 check for Linux only.
16986
16987 2008-05-15 Bean <bean123ch@gmail.com>
16988
16989 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
16990 keyboard hang problem in apple's intel mac.
16991
16992 2008-05-09 Robert Millan <rmh@aybabtu.com>
16993
16994 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
16995 devices.
16996 * util/grub-mkdevicemap.c (get_virtio_disk_name)
16997 (make_device_map): Likewise.
16998 Reported by Aurelien Jarno <aurel32@debian.org>
16999
17000 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
17001
17002 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17003 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17004 (make_device_map): Output entries for xvd type disks.
17005
17006 2008-05-07 Robert Millan <rmh@aybabtu.com>
17007
17008 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17009 devices.
17010 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17011 (make_device_map): Likewise.
17012 Reported by Roland Dreier <rdreier@cisco.com>
17013
17014 2008-05-07 Robert Millan <rmh@aybabtu.com>
17015
17016 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17017 grub_strstr() call. Correct a few mistakes in failure path handling.
17018
17019 2008-05-06 Robert Millan <rmh@aybabtu.com>
17020
17021 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17022 Do not print a trailing slash (therefore, the root directory is an
17023 empty string).
17024 (convert_system_path_to_grub_path): Do not remove trailing slash
17025 from make_system_path_relative_to_its_root() output.
17026
17027 * util/i386/pc/grub-install.in: Add trailing slash to output from
17028 make_system_path_relative_to_its_root().
17029
17030 2008-05-06 Robert Millan <rmh@aybabtu.com>
17031
17032 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17033 ensures that output lines aren't intermangled with those sent to
17034 stderr (via grub_util_info()).
17035 * util/grub-probe.c (grub_refresh): Likewise.
17036 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17037
17038 2008-05-05 Christian Franke <franke@computer.org>
17039
17040 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17041 Add Cygwin device names.
17042 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17043 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17044 (check_device): Return error instead of success on empty name.
17045 (make_device_map): Move label inside linux specific code to
17046 prevent compiler warning.
17047
17048 2008-04-30 Robert Millan <rmh@aybabtu.com>
17049
17050 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17051 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17052 first boot option.
17053 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17054
17055 2008-04-29 Robert Millan <rmh@aybabtu.com>
17056
17057 * docs/grub.cfg: New file (example GRUB configuration).
17058
17059 2008-04-26 Robert Millan <rmh@aybabtu.com>
17060
17061 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17062 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17063 and `disk/ieee1275/nand.c'.
17064
17065 2008-04-25 Bean <bean123ch@gmail.com>
17066
17067 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17068 i386-linuxbios.
17069
17070 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17071 change the buffer size to 4096 for cdrom device.
17072
17073 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17074 and nand.mod.
17075 (_linux_mod_SOURCES): New variable.
17076 (_linux_mod_CFLAGS): Likewise.
17077 (_linux_mod_LDFLAGS): Likewise.
17078 (linux_mod_SOURCES): Likewise.
17079 (linux_mod_CFLAGS): Likewise.
17080 (linux_mod_LDFLAGS): Likewise.
17081 (nand_mod_SOURCES): Likewise.
17082 (nand_mod_CFLAGS): Likewise.
17083 (nand_mod_LDFLAGS): Likewise.
17084
17085 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17086 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17087 type property. (nand device in olpc don't have this property)
17088
17089 * include/grub/disk.h (grub_disk_dev_id): New macro
17090 GRUB_DISK_DEVICE_NAND_ID.
17091
17092 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17093 function prototype.
17094 (grub_rescue_cmd_initrd): Likewise.
17095
17096 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17097 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17098 ofw_cif_handler and ofw_idt, adjust padding number.
17099
17100 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17101 GRUB_MACHINE_IEEE1275 is defined.
17102
17103 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17104 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17105
17106 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17107 on nested function heap_init.
17108 (grub_upper_mem): New variable for i386-ieee1275.
17109 (grub_get_extended_memory): New function for i386-ieee1275.
17110 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17111
17112 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17113 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17114 property.
17115
17116 * loader/i386/ieee1275/linux.c: New file.
17117
17118 * loader/i386/ieee1275/linux_normal.c: New file.
17119
17120 * disk/ieee1275/nand.c: New file.
17121
17122 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17123
17124 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17125 value.
17126 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17127
17128 2008-04-18 Robert Millan <rmh@aybabtu.com>
17129
17130 Restructures early code path on ieee1275 to unify grub_main() as
17131 the first C function that is executed in every platform.
17132
17133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17134 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17135 cmain().
17136 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17137 * kern/ieee1275/cmain.c (cmain): Rename to ...
17138 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17139 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17140 at the beginning.
17141
17142 2008-04-18 Robert Millan <rmh@aybabtu.com>
17143
17144 * util/update-grub.in: Fix syntax error when setting
17145 `GRUB_PRELOAD_MODULES'.
17146 Reported by Stephane Chazelas <stephane@artesyncp.com>
17147
17148 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17149
17150 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17151 section into account, newer toolchains generate unique build ids
17152 * configure.ac: remove the test for --build-id=none acceptance,
17153 we want build ids to be preserved
17154 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17155 far from other sections don't cause the raw binary images grow
17156 size
17157
17158 2008-04-15 Robert Millan <rmh@aybabtu.com>
17159
17160 * disk/lvm.c: Update copyright year.
17161 * kern/misc.c: Likewise.
17162
17163 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17164
17165 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
17166 there is no memory left for physical volume name.
17167
17168 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17169
17170 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17171 volume name mapping to support bigger than 9 character names properly.
17172
17173 2008-04-13 Robert Millan <rmh@aybabtu.com>
17174
17175 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17176 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17177
17178 2008-04-13 Christian Franke <franke@computer.org>
17179
17180 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17181 to create a floppy emulation boot CD when non emulation mode
17182 does not work.
17183 Enable Joliet CD filesystem extension.
17184
17185 2008-04-13 Robert Millan <rmh@aybabtu.com>
17186
17187 * kern/misc.c (grub_strncat): Fix off-by-one error.
17188 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17189
17190 * kern/env.c (grub_env_context_close): Clear current context, not
17191 previous one.
17192 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17193
17194 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17195
17196 2008-04-13 Robert Millan <rmh@aybabtu.com>
17197
17198 Improve robustness when handling LVM.
17199
17200 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
17201 (and leave `*p' unmodified).
17202 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17203 through it.
17204 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17205 iterating through it.
17206 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17207 through it.
17208 (grub_lvm_scan_device): Check the return value (and fail gracefully
17209 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17210 Don't assume `vg->pvs != NULL' when iterating through it.
17211
17212 2008-04-13 Robert Millan <rmh@aybabtu.com>
17213
17214 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
17215 * genmk.rb (partmap): New variable.
17216 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
17217 (#{partmap}): New target rule.
17218 * genpartmaplist.sh: New file.
17219 * Makefile.in (pkglib_DATA): Add partmap.lst.
17220 (partmap.lst): New target rule.
17221 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
17222 modules (including all partition maps), instead of preloading them.
17223
17224 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
17225
17226 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
17227 `linux-boot-prober' (if installed) to detect other operating
17228 systems which are installed on the computer and add them to
17229 the boot menu.
17230 * conf/common.rmk: Build and install 30_os-prober.
17231
17232 2008-04-12 Robert Millan <rmh@aybabtu.com>
17233
17234 * kern/powerpc/ieee1275/init.c: Move from here ...
17235 * kern/ieee1275/init.c: ... to here. Update all users.
17236
17237 * kern/powerpc/ieee1275/cmain.c: Move from here ...
17238 * kern/ieee1275/cmain.c: ... to here. Update all users.
17239
17240 * kern/powerpc/ieee1275/openfw.c: Move from here ...
17241 * kern/ieee1275/openfw.c: ... to here. Update all users.
17242
17243 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
17244 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
17245
17246 2008-04-10 Pavel Roskin <proski@gnu.org>
17247
17248 * configure.ac: Always use "_cv_" in cache variables for
17249 compatibility with Autoconf 2.62.
17250
17251 2008-04-07 Robert Millan <rmh@aybabtu.com>
17252
17253 Revert grub/machine/init.h addition by Pavel (since it breaks on
17254 i386-ieee1275 and others):
17255 * util/i386/pc/misc.c: Remove grub/machine/init.h.
17256 * util/powerpc/ieee1275/misc.c: Likewise.
17257
17258 2008-04-07 Robert Millan <rmh@aybabtu.com>
17259
17260 * util/grub-probe.c (probe): Improve error message.
17261
17262 2008-04-07 Robert Millan <rmh@aybabtu.com>
17263
17264 * util/biosdisk.c (read_device_map): Skip devices that don't exist
17265 (this prevents the presence of a bogus entry from ruining the whole
17266 thing).
17267
17268 2008-04-06 Pavel Roskin <proski@gnu.org>
17269
17270 * util/biosdisk.c: Include grub/util/biosdisk.h.
17271 * util/grub-fstest.c (execute_command): Make static.
17272 * util/grub-mkdevicemap.c (check_device): Likewise.
17273 * util/i386/pc/misc.c: Include grub/machine/init.h.
17274 * util/powerpc/ieee1275/misc.c: Likewise.
17275 * util/lvm.c: Include grub/util/lvm.h.
17276 * util/misc.c: Include grub/kernel.h, grub/misc.h and
17277 grub/cache.h.
17278 * util/raid.c: Include grub/util/raid.h.
17279 (grub_util_getdiskname): Make static.
17280
17281 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
17282 grub_hostfs_fini(), as they are called from grub_init_all() and
17283 grub_fini_all() respectively. This fixes an infinite loop in
17284 grub-fstest due to double registration of hostfs.
17285 Reported by Christian Franke <Christian.Franke@t-online.de>
17286
17287 2008-04-05 Pavel Roskin <proski@gnu.org>
17288
17289 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
17290 all 8 functions. Otherwise, probe function 0 only.
17291
17292 2008-04-04 Pavel Roskin <proski@gnu.org>
17293
17294 * commands/lspci.c (grub_lspci_iter): Print the bus number
17295 correctly.
17296
17297 * commands/lspci.c (grub_pci_classes): Fix typos.
17298 (grub_lspci_iter): Don't print func twice. Print vendor ID
17299 before device ID, as it's normally done.
17300
17301 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17302 Fix signedness warnings.
17303 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
17304 Likewise.
17305 * util/ieee1275/get_disk_name.c: Include config.h so that
17306 _GNU_SOURCE is defined and getline() is declared. Mark an
17307 unused argument as such. Fix a signedness warning.
17308
17309 2008-04-02 Pavel Roskin <proski@gnu.org>
17310
17311 * genkernsyms.sh.in: Use more robust assignments for CC and
17312 srcdir. Quote srcdir.
17313 * gensymlist.sh.in: Likewise. Assert at the compile time that
17314 the symbol table is not empty.
17315
17316 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
17317 * fs/cpio.c (grub_cpio_read): Likewise.
17318
17319 2008-04-01 Pavel Roskin <proski@gnu.org>
17320
17321 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
17322 * disk/host.c (grub_host_open): Likewise.
17323 * disk/loopback.c (grub_loopback_open): Likewise.
17324 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
17325 disk->id as in disk/host.c, not a multi-character constant.
17326
17327 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
17328 later is obsolete, potentially dangerous and sets a bad example.
17329 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
17330 * util/misc.c (grub_util_get_image_size): Likewise.
17331
17332 * disk/loopback.c (options): Improve help for "--partitions".
17333
17334 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
17335 options to align them with the short options, e.g. "echo -e".
17336
17337 2008-03-31 Bean <bean123ch@gmail.com>
17338
17339 * video/reader/png.c (grub_png_data): New member is_16bit and
17340 image_data.
17341 (grub_png_decode_image_header): Detect 16 bit png image.
17342 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
17343 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
17344 (grub_video_reader_png): Release memory occupied by image_data.
17345
17346 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
17347 4096 bytes.
17348 (grub_nfs_mount): Skip the test for sector per cluster.
17349
17350 * include/grub/ntfs.h (MAX_SPC): Removed.
17351
17352 2008-03-31 Bean <bean123ch@gmail.com>
17353
17354 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
17355 (grub_probe_SOURCES): Add fs/afs.c.
17356 (grub_fstest_SOURCES): Likewise.
17357 (afs_mod_SOURCES): New variable.
17358 (afs_mod_CFLAGS): Likewise.
17359 (afs_mod_LDFLAGS): Likewise.
17360
17361 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
17362 (grub_emu_SOURCES): Likewise.
17363
17364 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17365
17366 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17367
17368 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17369
17370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17371
17372 * fs/afs.c: New file.
17373
17374 2008-03-30 Pavel Roskin <proski@gnu.org>
17375
17376 * disk/host.c: Include grub/misc.h to fix a warning.
17377 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
17378 warnings about implicit declarations.
17379
17380 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
17381 variable.
17382 * include/grub/i386/loader.h: Change declaration of
17383 grub_linux_boot() to match what grub_loader_set() expects.
17384 * util/getroot.c (grub_guess_root_device): Return const char* to
17385 fix a warning.
17386 * util/grub-probe.c (probe): Fix a warning about uninitialized
17387 abstraction_name variable.
17388 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
17389 second argument as unused to fix a warning.
17390
17391 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
17392 missing grub_error() call.
17393
17394 * util/update-grub_lib.in: Define datarootdir, since Autoconf
17395 2.60 and newer uses it to define datadir.
17396
17397 * commands/sleep.c: Fix warning about implicit declaration.
17398 * disk/memdisk.c: Likewise.
17399 * loader/aout.c: Likewise.
17400 * loader/i386/bsd_normal.c: Likewise.
17401 * util/grub-probe.c: Likewise.
17402
17403 * commands/i386/cpuid.c (has_longmode): Make static.
17404 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
17405 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
17406
17407 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
17408 GDT. This is more robust, as %ds can change.
17409 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
17410 calling real_to_prot().
17411 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
17412
17413 2008-03-28 Pavel Roskin <proski@gnu.org>
17414
17415 * kern/i386/pc/startup.S: Assert that uncompressed functions
17416 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
17417 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
17418 code, as they push parts of the code (error handlers) beyond
17419 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
17420 code as correctness and size.
17421
17422 2008-03-28 Pavel Roskin <proski@gnu.org>
17423
17424 * kern/i386/pc/startup.S
17425 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
17426 data block address to the real mode, keep offset minimal. This
17427 works around a bug in AWARD BIOS on old Athlon systems, which
17428 makes CD detection hang.
17429
17430 2008-03-26 Pavel Roskin <proski@gnu.org>
17431
17432 * normal/color.c (grub_parse_color_name_pair): Make `name' a
17433 const.
17434 * include/grub/normal.h: Add grub_parse_color_name_pair()
17435 declaration.
17436
17437 2008-03-24 Bean <bean123ch@gmail.com>
17438
17439 * disk/i386/pc/biosdisk.c (cd_start): Removed.
17440 (cd_count): Removed.
17441 (cd_drive): New variable.
17442 (grub_biosdisk_get_drive): Don't check for (cdN) device.
17443 (grub_biosdisk_call_hook): Likewise.
17444 (grub_biosdisk_iterate): Change cdrom detection method.
17445 (grub_biosdisk_open): Replace cd_start with cd_drive.
17446 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
17447 detect cdrom device.
17448
17449 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
17450 Removed.
17451 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
17452 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
17453 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
17454 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
17455 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
17456 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
17457 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
17458 (grub_biosdisk_cdrp): New structure.
17459 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
17460
17461 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
17462
17463 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
17464 device.
17465
17466 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
17467 New function.
17468
17469 2008-03-20 Robert Millan <rmh@aybabtu.com>
17470
17471 Remove 2 TiB limit in ata.mod.
17472 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
17473 (grub_ata_dumpinfo): Print sector count with 0x%llx.
17474 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
17475 grub_uint64_t instead of grub_uint32_t.
17476
17477 2008-03-05 Bean <bean123ch@gmail.com>
17478
17479 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
17480 (grub_multiboot): Set boot device.
17481
17482 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
17483
17484 2008-03-02 Bean <bean123ch@gmail.com>
17485
17486 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
17487 symlink_buffer.
17488
17489 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
17490
17491 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
17492 texinfo.tex.
17493
17494 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
17495 modified.
17496
17497 * docs/fdl.texi: New file.
17498
17499 * docs/mdate-sh: New file. Copied from gnulib.
17500 * docs/texinfo.tex: Likewise.
17501
17502 * config.guess: Updated from gnulib.
17503 * install-sh: Likewise.
17504
17505 2008-02-28 Robert Millan <rmh@aybabtu.com>
17506
17507 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
17508 (aout_mod_SOURCES): New variable.
17509 (aout_mod_CFLAGS): Likewise.
17510 (aout_mod_LDFLAGS): Likewise.
17511
17512 * conf/i386-ieee1275.rmk: Likewise.
17513
17514 2008-02-28 Robert Millan <rmh@aybabtu.com>
17515
17516 * util/update-grub.in: Reorganise terminal validity check. Accept
17517 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
17518 Based on suggestion by Franklin PIAT.
17519
17520 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
17521
17522 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
17523 function.
17524 * util/getroot.c (grub_util_check_block_device): New function that
17525 returns the given argument if it is a block device and returns NULL else.
17526 * util/grub-probe.c (argument_is_device): New variable.
17527 (probe): Promote device_name from a variable to an argument. Receive
17528 device_name from grub_util_check_block_device() if path is NULL and from
17529 grub_guess_root_device() else. Do not free() device_name anymore.
17530 (options): Introduce new parameter '-d, --device'.
17531 (main): Add description of the new parameter to the help screen.
17532 Rename path variable to argument. Set argument_is_device if the '-d'
17533 option is given. Pass argument to probe() depending on
17534 argument_is_device.
17535
17536 2008-02-24 Bean <bean123ch@gmail.com>
17537
17538 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
17539 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
17540 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
17541 (GRUB_ISO9660_VOLDESC_PART): Likewise.
17542 (GRUB_ISO9660_VOLDESC_END): Likewise.
17543 (grub_iso9660_primary_voldesc): New member escape.
17544 (grub_iso9660_data): New member joliet.
17545 (grub_iso9660_convert_string): New function.
17546 (grub_iso9660_mount): Detect joliet extension.
17547 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
17548 (grub_iso9660_iso9660_label): Likewise.
17549
17550 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
17551 (grub_setup_SOURCES): Add fs/udf.c.
17552 (grub_fstest_SOURCES): Likewise.
17553 (udf_mod_SOURCES): New variable.
17554 (udf_mod_CFLAGS): Likewise.
17555 (udf_mod_LDFLAGS): Likewise.
17556
17557 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
17558 (grub_emu_SOURCES): Likewise.
17559
17560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17561
17562 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17563
17564 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17565
17566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17567
17568 * fs/udf.c: New file.
17569
17570 2008-02-24 Robert Millan <rmh@aybabtu.com>
17571
17572 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
17573 (normal/lexer.c_DEPENDENCIES): New variables.
17574 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17575 (normal/lexer.c_DEPENDENCIES): Likewise.
17576 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
17577 (normal/lexer.c_DEPENDENCIES): Likewise.
17578 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
17579 (normal/lexer.c_DEPENDENCIES): Likewise.
17580 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17581 (normal/lexer.c_DEPENDENCIES): Likewise.
17582 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17583 (normal/lexer.c_DEPENDENCIES): Likewise.
17584
17585 2008-02-23 Robert Millan <rmh@aybabtu.com>
17586
17587 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
17588 since they were intended to be in hex. This didn't break previously
17589 because of a bug in gpt_partition_map_iterate() (see below).
17590
17591 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
17592 when checking the validity of GPT header.
17593 Remove `partno', since it always provides the same information as `i'.
17594
17595 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
17596
17597 * include/grub/efi/time.h: Fix a wrong comment.
17598
17599 2008-02-19 Pavel Roskin <proski@gnu.org>
17600
17601 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
17602 message.
17603
17604 2008-02-19 Bean <bean123ch@gmail.com>
17605
17606 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
17607 (aout_mod_SOURCES): New variable.
17608 (aout_mod_CFLAGS): Likewise.
17609 (aout_mod_LDFLAGS): Likewise.
17610 (_bsd_mod_SOURCES): New variable.
17611 (_bsd_mod_CFLAGS): Likewise.
17612 (_bsd_mod_LDFLAGS): Likewise.
17613 (bsd_mod_SOURCES): New variable.
17614 (bsd_mod_CFLAGS): Likewise.
17615 (bsd_mod_LDFLAGS): Likewise.
17616
17617 * include/grub/aout.h: New file.
17618
17619 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
17620
17621 * include/grub/i386/bsd.h: New file.
17622
17623 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
17624 to make it public.
17625
17626 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
17627 function is called, so that it's possible to change it inside the hook.
17628 (grub_elf64_load): Likewise.
17629 (grub_elf_file): Don't close the file if elf header is not found.
17630 (grub_elf_close): Close the file if grub_elf_file fails (The new
17631 grub_elf_file won't close it).
17632 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
17633 (grub_elf64_size): Likewise.
17634
17635 * kern/i386/loader.S (grub_unix_real_boot): New function.
17636
17637 * loader/aout.c: New file.
17638
17639 * loader/i386/bsd.c: New file.
17640
17641 * loader/i386/bsd_normal.c: New file.
17642
17643 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
17644
17645 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
17646 can test other formats.
17647
17648 2008-02-19 Robert Millan <rmh@aybabtu.com>
17649
17650 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
17651 (grub_gpt_partition_type_empty): Redefine with macro from
17652 `<grub/gpt_partition.h>'.
17653 (gpt_partition_map_iterate): Adjust partition type comparison.
17654
17655 Export `entry' as partmap-specific `part.data' struct.
17656 (grub_gpt_header, grub_gpt_partentry): Move from here ...
17657
17658 * include/grub/gpt_partition.h (grub_gpt_header)
17659 (grub_gpt_partentry): ... to here (new file).
17660
17661 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
17662
17663 (grub_gpt_partition_type_bios_boot): New const variable, defined
17664 with macro from `<grub/gpt_partition.h>'.
17665
17666 (setup): Replace `first_start' with `embed_region', which keeps
17667 track of the embed region (and is partmap-agnostic).
17668
17669 Replace find_first_partition_start() with find_usable_region(),
17670 which finds a usable region for embedding using partmap-specific
17671 knowledge (supports PC/MSDOS and GPT).
17672
17673 Fix all assumptions that the embed region start at sector 1, using
17674 `embed_region.start' from now on. Similarly, use `embed_region.end'
17675 rather than `first_start' to calculate available size.
17676
17677 In grub_util_info() message, replace "into after the MBR" with an
17678 indication of the specific sector our embed region starts at.
17679
17680 2008-02-19 Robert Millan <rmh@aybabtu.com>
17681
17682 * DISTLIST: Replace `commands/ieee1275/halt.c' and
17683 `commands/ieee1275/reboot.c' with `commands/halt.c' and
17684 `commands/reboot.c'.
17685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17686 (halt_mod_SOURCES): Likewise.
17687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17688 (halt_mod_SOURCES): Likewise.
17689
17690 2008-02-17 Christian Franke <franke@computer.org>
17691
17692 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
17693
17694 2008-02-17 Robert Millan <rmh@aybabtu.com>
17695
17696 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17697 set `first_start' to 0 for non-PC/MSDOS partition maps.
17698
17699 2008-02-16 Robert Millan <rmh@aybabtu.com>
17700
17701 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17702 do not assume partition map is PC/MSDOS before performing checks that
17703 are specific to that layout.
17704
17705 2008-02-13 Robert Millan <rmh@aybabtu.com>
17706
17707 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
17708 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
17709 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
17710
17711 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
17712
17713 * configure.ac: Only a cosmetic change on the handling of
17714 -fno-stack-protector.
17715
17716 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
17717
17718 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
17719 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
17720 reboot.c.
17721 (grub_install_SOURCES): Add halt.mod and reboot.mod.
17722 (halt_mod_SOURCES): New variable.
17723 (halt_mod_CFLAGS): Likewise.
17724 (halt_mod_LDFLAGS): Likewise.
17725 (reboot_mod_SOURCES): Likewise.
17726 (reboot_mod_CFLAGS): Likewise.
17727 (reboot_mod_LDFLAGS): Likewise.
17728
17729 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
17730 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
17731 reboot.c.
17732 (halt_mod_SOURCES): Likewise.
17733 (reboot_mod_SOURCES): Likewise.
17734
17735 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
17736 commands/i386/pc/reboot.c by commands/reboot.c.
17737 (reboot_mod_SOURCES): Likewise.
17738
17739 * commands/i386/pc/reboot.c: merge this file ...
17740
17741 * commands/ieee1275/reboot.c: ... and this file ...
17742
17743 * commands/reboot.c: ... to this file.
17744 Add some precompiler directive to include the correct header for
17745 each machine.
17746
17747 * commands/ieee1275/halt.c: move this file ...
17748
17749 * commands/halt.c: ... to here.
17750 Add some precompiler directive to include the correct header for
17751 each machine.
17752
17753 * include/grub/efi/efi.h (grub_reboot): New function declaration.
17754 (grub_halt): Likewise.
17755
17756 * kern/efi/efi.c (grub_reboot): New function.
17757 (grub_halt): Likewise.
17758
17759 2008-02-12 Robert Millan <rmh@aybabtu.com>
17760
17761 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
17762 /dev (like it is done for /dev/mapper). This doesn't provide support
17763 for EVMS, but at least it is now easy to identify the problem when it
17764 arises.
17765
17766 2008-02-11 Robert Millan <rmh@aybabtu.com>
17767
17768 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
17769 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
17770 comparing it with -1, not 0.
17771
17772 2008-02-10 Robert Millan <rmh@aybabtu.com>
17773
17774 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
17775 `disk/lvm.c'.
17776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17777 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17778
17779 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
17780 `disk/lvm.c' to the end of the list.
17781 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17782 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17783
17784 2008-02-10 Robert Millan <rmh@aybabtu.com>
17785
17786 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
17787 grub_print_error() instead. This will let user know why we're entering
17788 rescue mode.
17789 Based on suggestions from Sam Morris.
17790
17791 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
17792
17793 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
17794 on remaining N args, instead of "--" arg N times.
17795
17796 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
17797
17798 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
17799 (fill_with_default_glyph): Changed to use unknown_glyph for fill
17800 pattern for unknown glyphs.
17801
17802 2008-02-09 Robert Millan <rmh@aybabtu.com>
17803
17804 * configure.ac: Probe for `help2man'.
17805 * Makefile.in (builddir): New variable.
17806 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
17807 or otherwise add a few flags/options to it.
17808 (install-local): For every executable utility or script that is
17809 installed, invoke $(HELP2MAN) to install a manpage based on --help
17810 output.
17811
17812 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
17813 that it doesn't prevent --help from working in build tree.
17814
17815 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
17816 with `bug-grub@gnu.org'.
17817 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
17818 * util/update-grub.in (usage): New function.
17819 Implement proper argument check, with support for --help and --version
17820 (as well as existing -y).
17821
17822 2008-02-09 Christian Franke <franke@computer.org>
17823
17824 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
17825 avoid overwriting previous output.
17826 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
17827
17828 2008-02-09 Robert Millan <rmh@aybabtu.com>
17829
17830 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
17831 drawing the menu.
17832
17833 2008-02-09 Robert Millan <rmh@aybabtu.com>
17834
17835 * commands/sleep.c: New file.
17836 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
17837 (sleep_mod_SOURCES): New variable.
17838 (sleep_mod_CFLAGS): Likewise.
17839 (sleep_mod_LDFLAGS): Likewise.
17840
17841 2008-02-09 Robert Millan <rmh@aybabtu.com>
17842
17843 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
17844 situations in which we can deduce the RAID size and the superblock
17845 doesn't match it.
17846
17847 2008-02-09 Robert Millan <rmh@aybabtu.com>
17848
17849 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
17850 and return a grub_diskmemberlist_t composed of LVM physical volumes.
17851 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
17852
17853 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
17854 and return a grub_diskmemberlist_t composed of physical array members.
17855 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
17856
17857 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
17858 prototype.
17859 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
17860 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
17861 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
17862
17863 * util/grub-probe.c (probe): Move partmap probing code from here ...
17864 (probe_partmap): ... to here.
17865 (probe): Use probe_partmap() once for the disk we're probing, and
17866 additionally, when such disk contains a memberlist() struct member,
17867 once for each disk that is contained in the structure returned by
17868 memberlist().
17869
17870 2008-02-09 Robert Millan <rmh@aybabtu.com>
17871
17872 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
17873 environment variable to 'all' in order to obtain debug output from
17874 non-util/ code.
17875 * util/i386/pc/grub-setup.c (main): Likewise.
17876
17877 2008-02-08 Robert Millan <rmh@aybabtu.com>
17878
17879 * disk/raid.c (grub_raid_scan_device): Check for
17880 `array->device[sb.this_disk.number]' rather than for
17881 `array->device[sb.this_disk.number]->name', since the latter is not
17882 guaranteed to be accessible.
17883
17884 2008-02-08 Robert Millan <rmh@aybabtu.com>
17885
17886 * disk/raid.c: Update copyright.
17887 * fs/cpio.c: Likewise.
17888 * include/grub/raid.h: Likewise.
17889 * loader/i386/pc/multiboot.c: Likewise.
17890 * util/hostfs.c: Likewise.
17891
17892 2008-02-08 Robert Millan <rmh@aybabtu.com>
17893
17894 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
17895 to a grub_disk_t array.
17896 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
17897 `device[x]'.
17898 (grub_raid_scan_device): Replace `device[x].name' accesses with
17899 `device[x]->name'. Simplify initialization of `array->device[x]'.
17900
17901 2008-02-08 Robert Millan <rmh@aybabtu.com>
17902
17903 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
17904 grub_dprintf() calls.
17905 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
17906 error message.
17907
17908 2008-02-07 Christian Franke <franke@computer.org>
17909
17910 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
17911 instead of fseek and ftell to support large files.
17912 (grub_hostfs_read): Likewise.
17913
17914 2008-02-07 Robert Millan <rmh@aybabtu.com>
17915
17916 Patch from Jeroen Dekkers.
17917 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
17918 failure, since successfully reading all array members might not be
17919 required.
17920
17921 2008-02-06 Robert Millan <rmh@aybabtu.com>
17922
17923 * util/grub-probe.c (probe): Simplify partmap probing (with the
17924 assumption that the first word up to the underscore equals to
17925 the module name).
17926
17927 2008-02-06 Christian Franke <franke@computer.org>
17928
17929 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
17930 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
17931 last block of a cpio or tar stream.
17932 Check for "TRAILER!!!" instead of any empty data
17933 block to detect last block of a cpio stream.
17934 (grub_cpio_dir): Fix constness of variable np.
17935 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
17936 cpio or tar trailer is detected. This fixes a crash
17937 on open of a non existing file.
17938
17939 2008-02-05 Bean <bean123ch@gmail.com>
17940
17941 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
17942 address of entry.
17943 (grub_multiboot_load_elf64): Likewise.
17944 (grub_multiboot): Initialize mbi structure.
17945
17946 * util/grub-fstest.c: Don't include unused header file script.h.
17947
17948 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
17949 of file.
17950 (grub_fstest_SOURCES): Likewise.
17951
17952 2008-02-05 Robert Millan <rmh@aybabtu.com>
17953
17954 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
17955 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
17956 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
17957 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
17958
17959 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
17960 (translation_table): Replace hardcoded values with macros
17961 provided by `<grub/term.h>'.
17962
17963 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
17964 (keyboard_map): Correct/add a few values, with macros provided
17965 by `<grub/term.h>'.
17966 (keyboard_map_shift): Zero values that don't differ from their
17967 `keyboard_map' equivalents.
17968 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
17969 Discard the second scan code that is always sent by Caps lock.
17970 Only use `keyboard_map_shift' when it provides a non-zero value,
17971 otherwise fallback to `keyboard_map'.
17972
17973 2008-02-04 Bean <bean123ch@gmail.com>
17974
17975 * Makefile.in (enable_grub_fstest): New variable.
17976
17977 * conf/common.rmk (grub_fstest_init.lst): New rule.
17978 (grub_fstest_init.h): Likewise.
17979 (grub_fstest_init.c): Likewise.
17980 (util/grub-fstest.c_DEPENDENCIES): New variable.
17981 (grub_fstest_SOURCES): Likewise.
17982
17983 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
17984
17985 * util/grub-fstest.c: New file.
17986
17987 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17988
17989 Make grub-setup handle a separate root device.
17990
17991 * util/i386/pc/grub-setup.c (setup): Always open the root device,
17992 so that the root device can be compared with the destination
17993 device.
17994 When embedding the core image, if the root and destination devices
17995 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
17996 0xFF.
17997 When not embedding, set ROOT_DRIVE to 0xFF.
17998
17999 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18000
18001 Add support for having a grub directory in a different drive. This
18002 is still only the data handling part.
18003
18004 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18005 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18006 (grub_root_drive): New variable.
18007
18008 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18009 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18010 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18011 as it was.
18012
18013 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18014
18015 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18016 macro.
18017 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18018
18019 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18020 is bogus, because PXE booting does not specify any drive
18021 correctly.
18022
18023 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18024 am not sure if this is really correct.
18025
18026 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18027 is always identical to the boot drive when booting from a CD.
18028
18029 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18030 longer.
18031 (root_drive): New variable.
18032 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18033 (setup_sectors): Push %dx right after popping it, because %dh will
18034 be modified later.
18035 (copy_buffer): Restore %dx.
18036
18037 2008-02-03 Robert Millan <rmh@aybabtu.com>
18038
18039 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18040 use `cdboot.img' for cdrom images.
18041
18042 2008-02-03 Robert Millan <rmh@aybabtu.com>
18043
18044 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18045 only setup gfxterm when `font' command has succeeded.
18046
18047 2008-02-03 Robert Millan <rmh@aybabtu.com>
18048
18049 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18050 (grub_rescue_cmd_multiboot_loader)
18051 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18052
18053 2008-02-03 Pavel Roskin <proski@gnu.org>
18054
18055 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
18056 %edx and %esi from stack only after grub_gate_a20() is called.
18057 grub_gate_a20() clobbers %edx.
18058
18059 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18060
18061 * configure.ac (AC_INIT): Bumped to 1.96.
18062
18063 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18064 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18065 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18066 video/readers/png.c.
18067
18068 2008-02-03 Bean <bean123ch@gmail.com>
18069
18070 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18071 (cdboot_img_SOURCES): New variable.
18072 (cdboot_img_ASFLAGS): New variable.
18073 (cdboot_img_LDFLAGS): New variable.
18074
18075 * boot/i386/pc/cdboot.S: New file.
18076
18077 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18078 (cd_count): Likewise.
18079 (grub_biosdisk_get_drive): Add support for cd device.
18080 (grub_biosdisk_call_hook): Likewise.
18081 (grub_biosdisk_iterate): Likewise.
18082 (grub_biosdisk_open): Likewise.
18083 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18084 (grub_biosdisk_rw): Support reading from cd device.
18085 (GRUB_MOD_INIT): Iterate cd devices.
18086
18087 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18088 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18089 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18090
18091 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18092
18093 2008-02-02 Robert Millan <rmh@aybabtu.com>
18094
18095 * commands/read.c: New file.
18096 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18097 (read_mod_SOURCES): New variable.
18098 (read_mod_CFLAGS): Likewise.
18099 (read_mod_LDFLAGS): Likewise.
18100
18101 2008-02-02 Robert Millan <rmh@aybabtu.com>
18102
18103 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18104 determining whether menu has to be displayed.
18105
18106 2008-02-02 Marco Gerards <marco@gnu.org>
18107
18108 * bus/pci.c: New file.
18109
18110 * include/grub/pci.h: Likewise.
18111
18112 * include/grub/i386/pc/pci.h: Likewise.
18113
18114 * commands/lspci.c: Likewise.
18115
18116 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18117 `lspci.mod'.
18118 (pci_mod_SOURCES): New variable.
18119 (pci_mod_CFLAGS): Likewise.
18120 (pci_mod_LDFLAGS): Likewise.
18121 (lspci_mod_SOURCES): Likewise.
18122 (lspci_mod_CFLAGS): Likewise.
18123 (lspci_mod_LDFLAGS): Likewise.
18124
18125 2008-02-02 Bean <bean123ch@gmail.com>
18126
18127 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18128 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18129
18130 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18131 (grub_xfs_btree_node): New structure.
18132 (grub_xfs_btree_root): New structure.
18133 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18134 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18135 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18136 (GRUB_XFS_EXTENT_SIZE): Likewise.
18137 (grub_xfs_read_block): Support btree format type.
18138 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18139 Use directory block as basic unit.
18140
18141 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18142
18143 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18144 __attribute__ ((__regparm__ (1))).
18145
18146 2008-02-01 Robert Millan <rmh@aybabtu.com>
18147
18148 Correct a mistake in previous commit.
18149
18150 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18151 top.
18152 (normal/command.c_DEPENDENCIES): New variable.
18153
18154 2008-02-01 Robert Millan <rmh@aybabtu.com>
18155
18156 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18157 top.
18158 (normal/command.c_DEPENDENCIES): New variable.
18159 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18160 * conf/i386-ieee1275.rmk: Likewise.
18161 * conf/i386-linuxbios.rmk: Likewise.
18162 * conf/i386-pc.rmk: Likewise.
18163 * conf/sparc64-ieee1275.rmk: Likewise.
18164 * conf/powerpc-ieee1275.rmk: Likewise.
18165 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18166
18167 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18168
18169 2008-02-01 Robert Millan <rmh@aybabtu.com>
18170
18171 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18172 call at beginning of function.
18173
18174 2008-01-31 Pavel Roskin <proski@gnu.org>
18175
18176 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
18177 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18178 (grub_mkrescue_SOURCES): Likewise.
18179 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18180
18181 2008-01-30 Robert Millan <rmh@aybabtu.com>
18182
18183 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18184 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18185 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18186 (grub_probe_SOURCES): ... to here.
18187
18188 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18189 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18190 * conf/i386-ieee1275.rmk: Likewise.
18191 * conf/i386-linuxbios.rmk: Likewise.
18192 * conf/powerpc-ieee1275.rmk: Likewise.
18193
18194 2008-01-30 Tristan Gingold <gingold@free.fr>
18195
18196 * kern/rescue.c: Silently accept empty lines.
18197
18198 2008-01-29 Bean <bean123ch@gmail.com>
18199
18200 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18201 (real_code_2): Code cleanup and change comment style.
18202 (move_memory): Avoid using 32-bit address mode.
18203
18204 2008-01-29 Bean <bean123ch@gmail.com>
18205
18206 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18207 (png_mod_SOURCES): New variable.
18208 (png_mod_CFLAGS): Likewise.
18209 (png_mod_LDFLAGS): Likewise.
18210
18211 * video/readers/png.c: New file.
18212
18213 2008-01-28 Robert Millan <rmh@aybabtu.com>
18214
18215 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
18216 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
18217 `ifndef GRUB_MOD_GAP' hack.
18218 * util/elf/grub-mkimage.c (add_segments): Likewise.
18219
18220 2008-01-27 Robert Millan <rmh@aybabtu.com>
18221
18222 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
18223 `GRUB_MOD_GAP' for platforms in which it's not defined.
18224 * util/elf/grub-mkimage.c (add_segments): Likewise.
18225
18226 2008-01-27 Robert Millan <rmh@aybabtu.com>
18227
18228 Get grub-emu to build again (including parallel builds).
18229
18230 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
18231 Split into ...
18232 (util/grub-emu.c_DEPENDENCIES): ... this, ...
18233 (normal/execute.c_DEPENDENCIES): ... this, ...
18234 (grub-emu_DEPENDENCIES): ... and this.
18235
18236 * conf/i386-efi.rmk: Likewise.
18237 * conf/i386-linuxbios.rmk: Likewise.
18238 * conf/i386-ieee1275.rmk: Likewise.
18239 * conf/powerpc-ieee1275.rmk: Likewise.
18240 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
18241
18242 2008-01-27 Robert Millan <rmh@aybabtu.com>
18243
18244 * NEWS: Add a few items.
18245
18246 2008-01-27 Robert Millan <rmh@aybabtu.com>
18247
18248 Fix parallel builds with grub-emu. Based on earlier commit for
18249 grub-probe and grub-setup.
18250
18251 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18252 (util/grub-emu.c_DEPENDENCIES): ... this.
18253 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18254 (util/grub-emu.c_DEPENDENCIES): ... this.
18255 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18256 (util/grub-emu.c_DEPENDENCIES): ... this.
18257 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18258 (util/grub-emu.c_DEPENDENCIES): ... this.
18259 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18260 (util/grub-emu.c_DEPENDENCIES): ... this.
18261
18262 2008-01-27 Pavel Roskin <proski@gnu.org>
18263
18264 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
18265 to create a gap between _end and the modules added to the image
18266 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
18267 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
18268 * util/elf/grub-mkimage.c (add_segments): Likewise.
18269
18270 2008-01-26 Pavel Roskin <proski@gnu.org>
18271
18272 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
18273 just return an error.
18274
18275 2008-01-26 Bean <bean123ch@gmail.com>
18276
18277 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
18278 (grub_reiserfs_get_item): Save offset of the next item.
18279 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
18280
18281 2008-01-25 Robert Millan <rmh@aybabtu.com>
18282
18283 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
18284 make all filesystem sources appear together (possibly fixing omissions
18285 while at it).
18286 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18287 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18288 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18290
18291 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
18292 add `kern/file.c'.
18293 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
18294 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18295 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
18296 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18297
18298 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
18299 (probe): Add a sanity check to make sure of our ability to read
18300 requested files when probing for filesystem type.
18301
18302 * genmk.rb: Update copyright year (2007).
18303
18304 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
18305 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
18306 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
18307 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
18308 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
18309 : Remove function prototypes.
18310
18311 2008-01-25 Robert Millan <rmh@aybabtu.com>
18312
18313 Revert my previous commits (based on wrong assumption of how grub_errno
18314 works).
18315
18316 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
18317 * kern/file.c (grub_file_open): Likewise.
18318
18319 2008-01-24 Pavel Roskin <proski@gnu.org>
18320
18321 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
18322 that hang if GRUB tries to setup colors.
18323 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
18324 colors for firmwares that don't support it.
18325 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
18326 Recognize Open Hack'Ware, set flags to work around its
18327 limitations.
18328
18329 2008-01-24 Robert Millan <rmh@aybabtu.com>
18330
18331 * kern/file.c (grub_file_open): Do not account previous failures of
18332 unrelated functions when grub_errno is checked for.
18333 Reported by Oleg Strikov.
18334
18335 2008-01-24 Bean <bean123ch@gmail.com>
18336
18337 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
18338 (grub_ufs_sblock): New member volume name.
18339 (grub_ufs_find_file): Fix string copy bug.
18340 (grub_ufs_label): Implement this function properly.
18341
18342 * fs/hfs.c (grub_hfs_cnid_type): New enum.
18343 (grub_hfs_iterate_records): Use the correct file number for extents
18344 and catalog file. Fix problem in next index calculation.
18345 (grub_hfs_find_node): Replace recursive function call with loop.
18346 (grub_hfs_iterate_dir): Replace recursive function call with loop.
18347
18348 2008-01-23 Robert Millan <rmh@aybabtu.com>
18349
18350 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
18351 `<grub/symbol.h>' and `<grub/multiboot.h>'.
18352 (grub_multiboot2_real_boot): New function prototype.
18353
18354 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
18355 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
18356
18357 * kern/i386/ieee1275/init.c (grub_os_area_addr)
18358 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
18359
18360 2008-01-23 Robert Millan <rmh@aybabtu.com>
18361
18362 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
18363 #ifdef'ed out grub_printf().
18364
18365 2008-01-23 Robert Millan <rmh@aybabtu.com>
18366
18367 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
18368 grub_dprintf calls, since they make "debug=all" mode unusable.
18369 (grub_console_checkkey): Likewise.
18370
18371 2008-01-23 Robert Millan <rmh@aybabtu.com>
18372
18373 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18374 `term/i386/pc/at_keyboard.c'.
18375 (pkglib_MODULES): Add `serial.mod'.
18376 (serial_mod_SOURCES): New variable.
18377 (serial_mod_CFLAGS): Likewise.
18378 (serial_mod_LDFLAGS): Likewise.
18379
18380 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
18381 `<grub/powerpc/ieee1275/console.h>'.
18382 (grub_keyboard_controller_init): New function prototype.
18383 (grub_console_checkkey): Likewise.
18384 (grub_console_getkey): Likewise.
18385
18386 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
18387 keyboard on i386.
18388
18389 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
18390 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
18391
18392 2008-01-23 Robert Millan <rmh@aybabtu.com>
18393
18394 * kern/i386/pc/init.c (make_install_device): When memdisk image is
18395 present, "(memdisk)/boot/grub" becomes the default prefix.
18396
18397 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
18398 a memdisk tarball with all the modules. Add --overlay=DIR option that
18399 allows users to overlay additional files into the image.
18400
18401 2008-01-23 Robert Millan <rmh@aybabtu.com>
18402
18403 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
18404 and `machine/memory.h'.
18405 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
18406 (_multiboot_mod_SOURCES): New variable.
18407 (_multiboot_mod_CFLAGS): Likewise.
18408 (_multiboot_mod_LDFLAGS): Likewise.
18409 (multiboot_mod_SOURCES): Likewise.
18410 (multiboot_mod_CFLAGS): Likewise.
18411 (multiboot_mod_LDFLAGS): Likewise.
18412
18413 * include/grub/i386/ieee1275/loader.h: New file.
18414
18415 * include/grub/i386/ieee1275/machine.h: Likewise.
18416
18417 * include/grub/i386/ieee1275/memory.h: Likewise.
18418
18419 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
18420 variable declaration.
18421 (grub_os_area_size): Likewise.
18422
18423 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
18424 (grub_lower_mem, grub_upper_mem): New variables.
18425 (grub_stop_floppy): New function (just to make
18426 grub_multiboot2_real_boot() happy).
18427
18428 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
18429 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
18430 (grub_stop): New function.
18431 Include `"../realmode.S"' and `"../loader.S"'.
18432
18433 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
18434 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
18435
18436 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
18437 rely on grub_multiboot2_real_boot() for final boot.
18438
18439 2008-01-22 Robert Millan <rmh@aybabtu.com>
18440
18441 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
18442 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
18443 device that doesn't look like an SD card.
18444 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18445 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
18446 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
18447 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
18448 found.
18449
18450 2008-01-22 Robert Millan <rmh@aybabtu.com>
18451
18452 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
18453 avoid claiming over our own code.
18454
18455 2008-01-22 Bean <bean123ch@gmail.com>
18456
18457 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
18458 (jpeg_mod_SOURCES): New variable.
18459 (jpeg_mod_CFLAGS): Likewise.
18460 (jpeg_mod_LDFLAGS): Likewise.
18461
18462 * video/readers/jpeg.c : New file.
18463
18464 2008-01-22 Bean <bean123ch@gmail.com>
18465
18466 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
18467 there are no more items.
18468
18469 2008-01-21 Robert Millan <rmh@aybabtu.com>
18470
18471 * kern/mm.c (grub_mm_init_region): Improve debug message.
18472
18473 2008-01-21 Robert Millan <rmh@aybabtu.com>
18474
18475 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
18476 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
18477 address.
18478 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
18479 a C macro.
18480 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
18481 Indicates start of upper memory.
18482 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
18483 (generate_image): Abort when image size is big enough to corrupt
18484 upper memory.
18485
18486 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
18487 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
18488 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18489 instead of hardcoding 0xA0000.
18490 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
18491 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18492 instead of hardcoding 0xA0000.
18493
18494 2008-01-21 Robert Millan <rmh@aybabtu.com>
18495
18496 * disk/memdisk.c (memdisk_size): New variable.
18497 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
18498 `memdisk_size'.
18499 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
18500 image to dynamic memory.
18501 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
18502 `memdisk_size'. Free memdisk block.
18503
18504 2008-01-21 Robert Millan <rmh@aybabtu.com>
18505
18506 Fix detection of very small filesystems (like tar).
18507
18508 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
18509 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
18510 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
18511 a problem with this disk).
18512
18513 2008-01-21 Robert Millan <rmh@aybabtu.com>
18514
18515 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
18516 on grub_biosdisk_rw_standard() error.
18517
18518 2008-01-21 Robert Millan <rmh@aybabtu.com>
18519
18520 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
18521 recent changes.
18522 * kern/elf.c: Likewise.
18523 * kern/ieee1275/ieee1275.c: Likewise.
18524 * kern/powerpc/ieee1275/openfw.c: Likewise.
18525 * term/ieee1275/ofconsole.c: Likewise.
18526
18527 2008-01-21 Robert Millan <rmh@aybabtu.com>
18528
18529 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
18530
18531 * include/grub/kernel.h (grub_arch_memdisk_addr)
18532 (grub_arch_memdisk_size): Moved from here ...
18533
18534 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
18535 (grub_arch_memdisk_size): ... to here.
18536
18537 2008-01-21 Robert Millan <rmh@aybabtu.com>
18538
18539 Mostly based on bugfix from Bean.
18540
18541 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
18542 attribute with hook() parameter.
18543 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
18544 declaration.
18545 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
18546 attribute with hook() parameter.
18547 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
18548 declaration.
18549
18550 2008-01-21 Robert Millan <rmh@aybabtu.com>
18551
18552 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
18553 (pkglib_MODULES): Add `memdisk.mod'.
18554 (memdisk_mod_SOURCES): New variable.
18555 (memdisk_mod_CFLAGS): Likewise.
18556 (memdisk_mod_LDFLAGS): Likewise.
18557
18558 * disk/memdisk.c: New file.
18559
18560 * include/grub/disk.h (grub_disk_dev_id): Add
18561 `GRUB_DISK_DEVICE_MEMDISK_ID'.
18562
18563 * include/grub/i386/pc/kernel.h
18564 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
18565 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
18566 (grub_kernel_image_size): New variable declaration.
18567 (grub_total_module_size): Likewise.
18568 (grub_memdisk_image_size): Likewise.
18569
18570 * include/grub/i386/pc/memory.h
18571 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
18572
18573 * include/grub/kernel.h: Include `<grub/symbol.h>'.
18574 (grub_arch_memdisk_addr): New variable declaration.
18575 (grub_arch_memdisk_size): Likewise.
18576
18577 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
18578 (grub_arch_memdisk_size): Likewise.
18579
18580 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
18581 (codestart): Replace hardcoded `0x100000' with
18582 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
18583
18584 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
18585 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
18586 not NULL, append the contents of the file it refers to, at the end of
18587 the compressed kernel image. Initialize `grub_memdisk_image_size'
18588 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
18589 (options): Add "memdisk"|'m' option.
18590 (main): Parse --memdisk|-m option, and pass user-provided path as
18591 parameter to generate_image().
18592
18593 2008-01-20 Robert Millan <rmh@aybabtu.com>
18594
18595 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
18596 grub_dprintf() calls from here ...
18597 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
18598
18599 2008-01-20 Robert Millan <rmh@aybabtu.com>
18600
18601 Fix detection of "real mode" when /options/real-mode? doesn't exist.
18602
18603 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
18604 declaration.
18605 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
18606 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
18607 `GRUB_IEEE1275_FLAG_REAL_MODE'.
18608 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
18609 property).
18610 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
18611 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
18612
18613 2008-01-19 Robert Millan <rmh@aybabtu.com>
18614
18615 Get rid of confusing function (superseded by
18616 `grub_ieee1275_get_integer_property')
18617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
18618 prototype.
18619 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
18620 function.
18621 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
18622 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
18623 in native endianness from grub_ieee1275_get_integer_property().
18624
18625 2008-01-19 Robert Millan <rmh@aybabtu.com>
18626
18627 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
18628 command after "shut-down", since implementations differ on which
18629 the command for halt is.
18630
18631 2008-01-19 Robert Millan <rmh@aybabtu.com>
18632
18633 * include/grub/i386/linuxbios/console.h: Add header protection.
18634 (grub_keyboard_controller_init): New function prototype.
18635 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
18636 (KEYBOARD_COMMAND_READ): Likewise.
18637 (KEYBOARD_COMMAND_WRITE): Likewise.
18638 (KEYBOARD_SCANCODE_SET1): Likewise.
18639 (grub_keyboard_controller_write): New function.
18640 (grub_keyboard_controller_read): Likewise.
18641 (grub_keyboard_controller_init): Likewise.
18642
18643 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
18644 (grub_console_init): On coreboot/LinuxBIOS, call
18645 grub_keyboard_controller_init().
18646
18647 2008-01-19 Robert Millan <rmh@aybabtu.com>
18648
18649 PowerPC changes provided by Pavel Roskin.
18650
18651 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
18652 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
18653 don't rely on cmain() doing it.
18654 * kern/i386/ieee1275/startup.S (_start): Store %eax in
18655 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
18656
18657 2008-01-16 Robert Millan <rmh@aybabtu.com>
18658
18659 * include/grub/i386/linuxbios/memory.h
18660 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
18661 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
18662 receive `table_header' as argument. Instead, probe for it in the
18663 known memory ranges where it can be present.
18664 (grub_available_iterate): Do not pass a fixed `table_header' address
18665 to grub_linuxbios_table_iterate().
18666
18667 2008-01-15 Robert Millan <rmh@aybabtu.com>
18668
18669 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
18670 * conf/i386-ieee1275.rmk: New file.
18671 * include/grub/i386/ieee1275/console.h: Likewise.
18672 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
18673 * include/grub/i386/ieee1275/kernel.h: Likewise.
18674 * include/grub/i386/ieee1275/time.h: Likewise.
18675 * kern/i386/ieee1275/init.c: Likewise.
18676 * kern/i386/ieee1275/startup.S: Likewise.
18677
18678 2008-01-15 Robert Millan <rmh@aybabtu.com>
18679
18680 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
18681 when pointers are 32-bit (but still do set it to one when they are
18682 64-bit).
18683
18684 2008-01-15 Robert Millan <rmh@aybabtu.com>
18685
18686 * include/grub/ieee1275/ieee1275.h
18687 (grub_ieee1275_get_integer_property): New function prototype.
18688
18689 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
18690 (grub_ieee1275_get_integer_property): New function. Wraps around
18691 grub_ieee1275_get_property() to handle endianness.
18692
18693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
18694 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
18695 where appropriate.
18696 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
18697 (grub_map): Likewise.
18698 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
18699
18700 2008-01-15 Bean <bean123ch@gmail.com>
18701
18702 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
18703 (grub_script_execute_cmdline): Reset grub_errno.
18704
18705 * normal/main.c (read_config_file): Reset grub_errno.
18706
18707 * normal/parse.y (script_init): New.
18708 (script): Move function and menuentry here.
18709 (delimiter): New.
18710 (command): Add delimiter at the end of command.
18711 (commands): Adjust to match the new command.
18712 (commandblock): Remove grub_script_lexer_record_start.
18713 (menuentry): Add grub_script_lexer_record_start, use the new commands.
18714 (if): Use the new commands.
18715
18716 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
18717
18718 2008-01-15 Robert Millan <rmh@aybabtu.com>
18719
18720 * normal/menu.c (run_menu): Move timeout message from here ...
18721 (print_timeout): ... to here.
18722 (run_menu): Use print_timeout() once during initial draw to print
18723 the whole message, and again in every clock tick to update only
18724 the number of seconds.
18725
18726 2008-01-15 Robert Millan <rmh@aybabtu.com>
18727
18728 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
18729 actual size of `available' from grub_ieee1275_get_property(), and
18730 restrict parsing to that bound.
18731
18732 2008-01-15 Christian Franke <franke@computer.org>
18733
18734 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
18735 (argp_program_version): Remove variable.
18736 (argp_program_bug_address): Likewise.
18737 (options): Convert from struct argp_option to struct option.
18738 (struct arguments): Remove.
18739 (parse_opt): Remove.
18740 (usage): New function.
18741 (main): Replace struct args members by simple variables.
18742 Replace argp_parse() by getopt_long().
18743 Add switch to evaluate options.
18744 Add missing "(...)" around root_dev in prefix string.
18745
18746 2008-01-14 Robert Millan <rmh@aybabtu.com>
18747
18748 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
18749 for grub_ieee1275_exit(), in order to improve portability.
18750
18751 2008-01-14 Robert Millan <rmh@aybabtu.com>
18752
18753 * util/grub.d/10_linux.in (prefix): Define.
18754 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
18755
18756 2008-01-13 Pavel Roskin <proski@gnu.org>
18757
18758 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
18759 grub_errno if no errors have been detected.
18760
18761 2008-01-12 Robert Millan <rmh@aybabtu.com>
18762
18763 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
18764 (grub_util_get_dev_abstraction): New function prototype.
18765
18766 * util/getroot.c: Include `<grub/util/getroot.h>'
18767 (grub_util_get_grub_dev): Move detection of abstraction type to ...
18768 (grub_util_get_dev_abstraction): ... here (new function).
18769
18770 * util/grub-probe.c: Convert PRINT_* to an enum. Add
18771 `PRINT_ABSTRACTION'.
18772 (probe): Probe for abstraction type when requested.
18773 (main): Understand `--target=abstraction'.
18774
18775 * util/i386/efi/grub-install.in: Add abstraction module to core
18776 image when it is found to be necessary.
18777 * util/i386/pc/grub-install.in: Likewise.
18778 * util/powerpc/ieee1275/grub-install.in: Likewise.
18779
18780 * util/update-grub_lib.in (font_path): Return system path without
18781 converting to GRUB path.
18782 * util/update-grub.in: Convert system path returned by font_path()
18783 to a GRUB path. Use `grub-probe -t abstraction' to determine what
18784 abstraction module is needed for loading fonts (if any). Export
18785 that as `GRUB_PRELOAD_MODULES'.
18786 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
18787 insmod commands).
18788
18789 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
18790
18791 Remove some unused code from reiserfs.
18792
18793 * fs/reiserfs.c (struct grub_reiserfs_key)
18794 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
18795 (struct grub_reiserfs_node_body): Removed.
18796 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18797 Likewise.
18798 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18799 Likewise.
18800 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18801 Likewise.
18802 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18803 Likewise.
18804 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18805 Likewise.
18806 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
18807 Likewise.
18808 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18809 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18810 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18811
18812 2008-01-10 Robert Millan <rmh@aybabtu.com>
18813
18814 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
18815 Determines if a file is garbage left by packaging systems, etc.
18816 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
18817 for processing /etc/grub.d scripts.
18818 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
18819 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
18820 as a condition for processing Linux images.
18821
18822 2008-01-10 Pavel Roskin <proski@gnu.org>
18823
18824 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
18825 to compile reiserfs.c on PowerPC.
18826
18827 2008-01-10 Robert Millan <rmh@aybabtu.com>
18828
18829 * kern/device.c (grub_device_iterate): Do not abort device iteration
18830 when one of the devices cannot be opened.
18831 * kern/disk.c (grub_disk_open): Do not account previous failures of
18832 unrelated functions when grub_errno is checked for.
18833
18834 2008-01-08 Robert Millan <rmh@aybabtu.com>
18835
18836 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
18837 `! grub_linux_is_bzimage', change order of address comparison to make
18838 it more intuitive, and improve "too big zImage" error message.
18839
18840 2008-01-08 Robert Millan <rmh@aybabtu.com>
18841
18842 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
18843 `$(update-grub_DATA)'.
18844 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
18845 targets.
18846
18847 2008-01-07 Robert Millan <rmh@aybabtu.com>
18848
18849 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
18850 which instruction is modified by grub-setup during installation
18851 (since it wasn't obvious by only looking at this file).
18852
18853 2008-01-07 Robert Millan <rmh@aybabtu.com>
18854
18855 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
18856 listing actual TODO items.
18857
18858 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18859
18860 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
18861 correctly.
18862 (grub_reiserfs_get_key_offset): Likewise.
18863 (grub_reiserfs_set_key_offset): Likewise.
18864 (grub_reiserfs_set_key_type): Likewise.
18865 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
18866
18867 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
18868 better to remove the bitfield version completely.
18869
18870 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18871
18872 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
18873 allocated from the heap, due to the fshelp implementation.
18874 (grub_reiserfs_dir): Free NODE, due to the same reason.
18875
18876 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18877
18878 Mostly from Vincent Pelletier:
18879
18880 * fs/reiserfs.c: New file.
18881
18882 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
18883 (reiserfs_mod_SOURCES): New variable.
18884 (reiserfs_mod_CFLAGS): Likewise.
18885 (reiserfs_mod_LDFLAGS): Likewise.
18886
18887 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
18888 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
18889 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
18890 normal/color.c.
18891
18892 2008-01-06 Robert Millan <rmh@aybabtu.com>
18893
18894 * normal/color.c: Remove `<grub/env.h>'.
18895
18896 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
18897
18898 * include/grub/normal.h: Include <grub/env.h>.
18899
18900 2008-01-05 Robert Millan <rmh@aybabtu.com>
18901
18902 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
18903 usage example with `(hd0,1)'.
18904 Reported by Samuel Thibault.
18905
18906 2008-01-05 Robert Millan <rmh@aybabtu.com>
18907
18908 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
18909 (grub_linux_boot_zimage): Rename to ...
18910 (grub_linux_boot): ... this.
18911 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
18912 (grub_linux_boot_zimage): Conditionalize zImage copy.
18913
18914 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
18915 (grub_linux_boot_bzimage): Remove prototype.
18916 (grub_linux_boot_zimage): Rename to ...
18917 (grub_linux_boot): ... this.
18918
18919 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
18920 (grub_linux_boot): Remove function.
18921
18922 2008-01-05 Robert Millan <rmh@aybabtu.com>
18923
18924 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
18925 (grub_env_write_color_highlight): Likewise.
18926 (grub_wait_after_message): Likewise.
18927
18928 * normal/color.c: New file.
18929
18930 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18931 (normal_mod_DEPENDENCIES): Likewise.
18932
18933 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18934 (normal_mod_DEPENDENCIES): Likewise.
18935
18936 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18937 (normal_mod_DEPENDENCIES): Likewise.
18938
18939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18940 (normal_mod_DEPENDENCIES): Likewise.
18941
18942 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
18943 for waiting after a message is printed.
18944 * normal/main.c (read_config_file): Likewise.
18945 (grub_normal_init): Register grub_env_write_color_normal() and
18946 grub_env_write_color_highlight() hooks. Mark `color_normal' and
18947 `color_highlight' variables as global.
18948
18949 * normal/menu.c (grub_wait_after_message): New function.
18950 (grub_color_menu_normal): New variable. Replaces ...
18951 (GRUB_COLOR_MENU_NORMAL): ... this macro.
18952 (grub_color_menu_highlight): New variable. Replaces ...
18953 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
18954 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
18955 `GRUB_TERM_COLOR_STANDARD'.
18956 (print_message): Use `grub_setcolorstate' to reload colors. Rename
18957 `normal_code' and `highlight_code' to `old_color_normal' and
18958 `old_color_highlight', respectively.
18959 (grub_menu_init_page): Update colors when drawing the menu, based on
18960 `menu_color_normal' and `menu_color_highlight' variables.
18961 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
18962 a message is printed.
18963
18964 2008-01-05 Robert Millan <rmh@aybabtu.com>
18965
18966 * kern/env.c (grub_env_context_open): Propagate hooks for global
18967 variables to new context.
18968
18969 * kern/main.c (grub_set_root_dev): Export `root' variable.
18970
18971 2008-01-05 Robert Millan <rmh@aybabtu.com>
18972
18973 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
18974 discs unconditionally, since udev and others have options to provide
18975 them.
18976
18977 2008-01-05 Robert Millan <rmh@aybabtu.com>
18978
18979 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
18980
18981 2008-01-04 Christian Franke <franke@computer.org>
18982
18983 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
18984 of eisa_mmap.
18985
18986 2008-01-03 Pavel Roskin <proski@gnu.org>
18987
18988 * kern/i386/linuxbios/init.c: Put "void" to all function
18989 declarations with no arguments.
18990 * kern/powerpc/ieee1275/init.c: Likewise.
18991 * term/i386/pc/at_keyboard.c: Likewise.
18992 * term/i386/pc/vga_text.c: Likewise.
18993 * util/grub-mkdevicemap.c: Likewise.
18994
18995 2008-01-02 Robert Millan <rmh@aybabtu.com>
18996
18997 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
18998 message when loaded image is out of bounds.
18999 (grub_multiboot_load_elf64): Likewise.
19000
19001 2008-01-02 Pavel Roskin <proski@gnu.org>
19002
19003 * util/grub.d/10_linux.in: Try version without ".old" when
19004 looking for initrd. It's better to use initrd from the newer
19005 kernel of the same version than no initrd at all.
19006
19007 2008-01-01 Robert Millan <rmh@aybabtu.com>
19008
19009 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19010
19011 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19012
19013 * include/grub/video.h: Added grub_video_unmap_color and
19014 grub_video_get_active_render_target.
19015 (grub_video_adapter): Added unmap_color and get_active_render_target.
19016
19017 * video/video.c: Added grub_video_unmap_color and
19018 grub_video_get_active_render_target.
19019 (grub_video_get_info): Changed method to accept NULL pointer as an
19020 argument to allow detection of active video adapter.
19021
19022 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19023 grub_video_vbe_unmap_color_int.
19024 Added grub_video_vbe_unmap_color and
19025 grub_video_vbe_get_active_render_target.
19026 (grub_video_vbe_adapter): Added unmap_color and
19027 get_active_render_target.
19028
19029 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
19030 with grub_video_vbe_unmap_color_int.
19031
19032 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19033 (DEFAULT_NORMAL_COLOR): Likewise.
19034 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19035 (DEFAULT_FG_COLOR): Removed.
19036 (DEFAULT_BG_COLOR): Likewise.
19037 (DEFAULT_CURSOR_COLOR): Changed value.
19038 (grub_virtual_screen): Added standard_color_setting,
19039 normal_color_setting, highlight_color_setting and term_color.
19040 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19041 (bitmap_width): Added.
19042 (bitmap_height): Likewise.
19043 (bitmap): Likewise.
19044 (set_term_color): Likewise.
19045 (grub_virtual_screen_setup): Changed to use new terminal coloring
19046 settings.
19047 (grub_gfxterm_init): Added init for bitmap.
19048 (grub_gfxterm_fini): Added destroy for bitmap.
19049 (redraw_screen_rect): Updated to use background bitmap and new
19050 terminal coloring.
19051 (scroll_up): Added optimization for case when there is no bitmap.
19052 (grub_gfxterm_cls): Fixed to use correct background color.
19053 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19054 coloring.
19055 (grub_virtual_screen_setcolor): Likewise.
19056 (grub_virtual_screen_getcolor): Added.
19057 (grub_gfxterm_background_image_cmd): Likewise.
19058 (grub_video_term): Added setcolor and getcolor.
19059 (MOD_INIT): Added registration of background_image command.
19060 (MOD_TERM): Added unregistration for background_image command.
19061
19062 2007-12-30 Pavel Roskin <proski@gnu.org>
19063
19064 * loader/multiboot_loader.c: Fix multiboot command
19065 unregistration. Fix all typos in the word "multiboot".
19066
19067 2007-12-29 Pavel Roskin <proski@gnu.org>
19068
19069 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19070 support for initrd names used in Fedora.
19071
19072 2007-12-26 Bean <bean123ch@gmail.com>
19073
19074 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19075 (cpio_mod_SOURCES): New variable.
19076 (cpio_mod_CFLAGS): Likewise.
19077 (cpio_mod_LDFLAGS): Likewise.
19078
19079 * fs/cpio.c: New file.
19080
19081 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19082
19083 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19084
19085 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19086
19087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19088
19089 2007-12-25 Robert Millan <rmh@aybabtu.com>
19090
19091 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19092 (grub_getcolor): New function.
19093
19094 * kern/term.c (grub_getcolor): New function.
19095 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19096 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19097 (print_entry): Set normal and highlight colors to
19098 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19099 respectively, before printing and restore them to old
19100 values afterwards.
19101 (grub_menu_init_page): Likewise. Fill an additional colored space
19102 that would otherwise be left blank.
19103
19104 * term/efi/console.c (grub_console_getcolor): New function.
19105 (struct grub_console_term.getcolor): New variable.
19106 * term/i386/pc/console.c (grub_console_getcolor): New function.
19107 (struct grub_console_term.getcolor): New variable.
19108 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19109 (struct grub_console_term.getcolor): New variable.
19110
19111 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19112 (struct grub_console_term.setcolor): Remove variable.
19113 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19114 (struct grub_console_term.setcolor): Remove variable.
19115 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19116 (struct grub_console_term.setcolor): Remove variable.
19117 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19118 (struct grub_console_term.setcolor): Remove variable.
19119
19120 2007-12-25 Robert Millan <rmh@aybabtu.com>
19121
19122 * configure.ac: Search for possible unifont.hex locations, and
19123 define UNIFONT_HEX if found.
19124
19125 * Makefile.in (UNIFONT_HEX): Define variable.
19126 (DATA): Rename to ...
19127 (PKGLIB): ... this. Update all users.
19128 (PKGDATA): New variable.
19129 (pkgdata_IMAGES): Rename to ...
19130 (pkglib_IMAGES): ... this. Update all users.
19131 (pkgdata_MODULES): Rename to ...
19132 (pkglib_MODULES): ... this. Update all users.
19133 (pkgdata_PROGRAMS): Rename to ...
19134 (pkglib_PROGRAMS): ... this. Update all users.
19135 (pkgdata_DATA): Rename to ...
19136 (pkglib_DATA): ... this. Update all users.
19137 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19138 (unicode.pff, ascii.pff): New rules.
19139 (all-local): Add `$(PKGDATA)' dependency.
19140 (install-local): Process `$(PKGDATA)'.
19141
19142 * util/update-grub_lib.in (font_path): Search for *.pff files in
19143 a few more locations, including `${pkgdata}'.
19144
19145 2007-12-23 Robert Millan <rmh@aybabtu.com>
19146
19147 Patch from Bean <bean123ch@gmail.com>:
19148 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19149 `size'.
19150
19151 2007-12-21 Bean <bean123ch@gmail.com>
19152
19153 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19154 (ntfscomp_mod_SOURCES): New variable.
19155 (ntfscomp_mod_CFLAGS): Likewise.
19156 (ntfscomp_mod_LDFLAGS): Likewise.
19157
19158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19159 (grub_probe_SOURCES): Likewise.
19160 (grub_emu_SOURCES): Likewise.
19161
19162 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19163 (grub_emu_SOURCES): Likewise.
19164
19165 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19166 (grub_emu_SOURCES): Likewise.
19167
19168 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19169 (grub_emu_SOURCES): Likewise.
19170
19171 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19172 (read_run_list): Renamed to grub_ntfs_read_run_list.
19173 (decomp_nextvcn): Moved to ntfscomp.c.
19174 (decomp_getch): Likewise.
19175 (decomp_get16): Likewise.
19176 (decomp_block): Likewise.
19177 (read_block): Likewise.
19178 (read_data): Partially moved to ntfscomp.c.
19179 (fixup): Change unsigned to grub_uint16_t.
19180 (read_mft): Change unsigned long to grub_uint32_t.
19181 (read_attr): Likewise.
19182 (read_data): Likewise.
19183 (read_run_data): Likewise.
19184 (read_run_list): Likewise.
19185 (read_mft): Likewise.
19186
19187 * fs/ntfscomp.c: New file.
19188
19189 * include/grub/ntfs.h: New file.
19190
19191 2007-12-16 Robert Millan <rmh@aybabtu.com>
19192
19193 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19194 IDE disk check, since Linux is known to support 20 IDE disks.
19195 Reported by Colin Watson.
19196
19197 2007-12-15 Bean <bean123ch@gmail.com>
19198
19199 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19200 (lnxboot_img_SOURCES): New variable.
19201 (lnxboot_img_ASFLAGS): Likewise.
19202 (lnxboot_img_LDFLAGS): Likewise.
19203
19204 * boot/i386/pc/lnxboot.S: New file.
19205
19206 2007-11-24 Pavel Roskin <proski@gnu.org>
19207
19208 * configure.ac: Test if '--build-id=none' is supported by the
19209 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19210 objcopy to generate incorrect binary files (binutils
19211 2.17.50.0.18-1 as shipped by Fedora 8).
19212 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19213 linking, so that build ID doesn't break the test.
19214
19215 2007-11-24 Pavel Roskin <proski@gnu.org>
19216
19217 * include/grub/i386/time.h: use "void" in the argument list
19218 of grub_cpu_idle().
19219 * include/grub/powerpc/time.h: Likewise.
19220 * include/grub/sparc64/time.h: Likewise.
19221
19222 2007-11-18 Christian Franke <franke@computer.org>
19223
19224 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
19225 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
19226 This fixes the problem that function keys did not work in grub-emu.
19227
19228 2007-11-18 Christian Franke <franke@computer.org>
19229
19230 * disk/host.c (grub_host_open): Remove attribute unused from
19231 name parameter. Add check for "host". This fixes the problem
19232 that grub-emu does not find partitions.
19233
19234 2007-11-18 Christian Franke <franke@computer.org>
19235
19236 * util/hostfs.c (is_dir): New function.
19237 (grub_hostfs_dir): Handle missing dirent.d_type case.
19238 (grub_hostfs_read): Add missing fseek().
19239 (grub_hostfs_label): Clear label pointer. This fixes a crash
19240 of grub-emu on "ls (host)".
19241
19242 2007-11-18 Christian Franke <franke@computer.org>
19243
19244 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
19245 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
19246 to 64 bit boundary by default.
19247
19248 2007-11-18 Bean <bean123ch@gmail.com>
19249
19250 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
19251 (hexdump_mod_SOURCES): New variable.
19252 (hexdump_mod_CFLAGS): Likewise.
19253 (hexdump_mod_LDFLAGS): Likewise.
19254
19255 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19256
19257 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19258
19259 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19260
19261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19262
19263 * include/grub/hexdump.h: New file.
19264
19265 * commands/hexdump.c: New file.
19266
19267 2007-11-10 Robert Millan <rmh@aybabtu.com>
19268
19269 * commands/i386/pc/play.c (beep_off): Switch order of arguments
19270 in grub_outb() calls.
19271 (beep_on): Likewise.
19272
19273 2007-11-10 Christian Franke <franke@computer.org>
19274
19275 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
19276 (grub_menu_run): Likewise.
19277
19278 2007-11-10 Robert Millan <rmh@aybabtu.com>
19279
19280 * include/grub/i386/efi/machine.h: New file.
19281 * include/grub/i386/linuxbios/machine.h: Likewise.
19282 * include/grub/i386/pc/machine.h: Likewise.
19283 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19284 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19285
19286 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
19287 (serial_hw_io_addr): New variable.
19288 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
19289 instead of `(unsigned short *) 0x400'.
19290
19291 2007-11-10 Bean <bean123ch@gmail.com>
19292
19293 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
19294
19295 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19296
19297 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
19298 (vga_mod_SOURCES): Added.
19299 (vga_mod_CFLAGS): Likewise.
19300 (vga_mod_LDFLAGS): Likewise.
19301
19302 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
19303 grub_outb() calls.
19304 (set_map_mask): Likewise.
19305 (set_read_map): Likewise.
19306 (set_read_address): Likewise.
19307 (vga_font): Removed variable.
19308 (get_vga_glyph): Removed function.
19309 (invalidate_char): Likewise.
19310 (write_char): Changed to use grub_font_get_glyph() for font
19311 information.
19312 (grub_vga_putchar): Likewise.
19313 (grub_vga_getcharwidth): Likewise.
19314
19315 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19316
19317 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
19318 flags.
19319 (pxeboot_img_LDFLAGS): Likewise.
19320 (diskboot_img_LDFLAGS): Likewise.
19321 (kernel_img_LDFLAGS): Likewise.
19322
19323 2007-11-06 Robert Millan <rmh@aybabtu.com>
19324
19325 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
19326 in grub_outb() calls.
19327 (serial_hw_init): Likewise.
19328
19329 2007-11-05 Robert Millan <rmh@aybabtu.com>
19330
19331 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
19332 spaces. Skip non-regular files.
19333
19334 2007-11-05 Robert Millan <rmh@aybabtu.com>
19335
19336 * kern/disk.c (grub_disk_firmware_fini)
19337 (grub_disk_firmware_is_tainted): New variables.
19338
19339 * include/grub/disk.h (grub_disk_firmware_fini)
19340 (grub_disk_firmware_is_tainted): Likewise.
19341
19342 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
19343 (grub_disk_biosdisk_fini): ... to here.
19344 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
19345 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
19346 is set. Register grub_disk_biosdisk_fini() in
19347 `grub_disk_firmware_fini'.
19348
19349 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
19350 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
19351 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
19352 to finish existing firmware disk interface.
19353
19354 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
19355 (ata_mod_SOURCES): New variable.
19356 (ata_mod_CFLAGS): Likewise.
19357 (ata_mod_LDFLAGS): Likewise.
19358
19359 2007-11-05 Robert Millan <rmh@aybabtu.com>
19360
19361 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
19362 (grub_ata_wait): Reimplement using grub_millisleep().
19363
19364 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
19365 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
19366
19367 2007-11-03 Marco Gerards <marco@gnu.org>
19368
19369 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
19370 (CRTC_ADDR_PORT): New macro.
19371 (CRTC_DATA_PORT): Likewise.
19372 (CRTC_CURSOR): Likewise.
19373 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19374 (CRTC_CURSOR_ADDR_LOW): Likewise.
19375 (update_cursor): New function.
19376 (grub_console_real_putchar): Call `update_cursor'.
19377 (grub_console_gotoxy): Likewise.
19378 (grub_console_cls): Set the default color when clearing the
19379 screen.
19380 (grub_console_setcursor): Implemented.
19381
19382 2007-11-03 Marco Gerards <marco@gnu.org>
19383
19384 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
19385 become activate.
19386 (grub_ata_pio_write): Likewise.
19387
19388 (grub_atapi_identify): Wait after issuing an ATA command.
19389 (grub_atapi_packet): Likewise.
19390 (grub_ata_identify): Likewise.
19391 (grub_ata_readwrite): Likewise.
19392
19393 2007-11-03 Marco Gerards <marco@gnu.org>
19394
19395 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
19396 (grub_ata_pio_write): Likewise.
19397 (grub_ata_readwrite): Use `grub_error', instead of
19398 returning `grub_errno'.
19399
19400 2007-11-03 Marco Gerards <marco@gnu.org>
19401
19402 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
19403 grub_ata_pio_write once for every single sector, instead of for
19404 multiple sectors.
19405
19406 2007-10-31 Robert Millan <rmh@aybabtu.com>
19407
19408 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
19409
19410 * conf/i386-linuxbios.rmk: New file.
19411
19412 * kern/i386/pc/hardware.c: Likewise.
19413 * term/i386/pc/at_keyboard.c: Likewise.
19414 * term/i386/pc/vga_text.c: Likewise.
19415
19416 * include/grub/i386/linuxbios/boot.h: Likewise.
19417 * include/grub/i386/linuxbios/console.h: Likewise.
19418 * include/grub/i386/linuxbios/init.h: Likewise.
19419 * include/grub/i386/linuxbios/kernel.h: Likewise.
19420 * include/grub/i386/linuxbios/loader.h: Likewise.
19421 * include/grub/i386/linuxbios/memory.h: Likewise.
19422 * include/grub/i386/linuxbios/serial.h: Likewise.
19423 * include/grub/i386/linuxbios/time.h: Likewise.
19424
19425 * kern/i386/linuxbios/init.c: Likewise.
19426 * kern/i386/linuxbios/startup.S: Likewise.
19427 * kern/i386/linuxbios/table.c: Likewise.
19428
19429 2007-10-31 Marco Gerards <marco@gnu.org>
19430
19431 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
19432 (ata_mod_SOURCES): New variable.
19433 (ata_mod_CFLAGS): Likewise.
19434 (ata_mod_LDFLAGS): Likewise.
19435
19436 * disk/ata.c: New file.
19437
19438 * include/grub/disk.h (grub_disk_dev_id): Add
19439 `GRUB_DISK_DEV_ATA_ID'.
19440
19441 2007-10-31 Robert Millan <rmh@aybabtu.com>
19442
19443 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
19444 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
19445
19446 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
19447 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
19448
19449 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
19450 `<grub/types.h>'.
19451
19452 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
19453
19454 2007-10-27 Robert Millan <rmh@aybabtu.com>
19455
19456 * include/grub/types.h (ULONG_MAX): Define macro.
19457
19458 2007-10-22 Robert Millan <rmh@aybabtu.com>
19459
19460 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
19461 `"../realmode.S"'.
19462 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
19463
19464 2007-10-22 Robert Millan <rmh@aybabtu.com>
19465
19466 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
19467 (pkgdata_MODULES): Add `biosdisk.mod'.
19468 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
19469 variables.
19470
19471 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
19472 (grub_biosdisk_init): Replace with ...
19473 (GRUB_MOD_INIT(biosdisk)): ... this.
19474 (grub_biosdisk_fini): Replace with ...
19475 (GRUB_MOD_FINI(biosdisk)): ... this.
19476
19477 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
19478 (grub_machine_init): Remove call to grub_biosdisk_init().
19479 (grub_machine_fini): Remove call to grub_machine_fini().
19480
19481 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
19482
19483 2007-10-22 Robert Millan <rmh@aybabtu.com>
19484
19485 * include/grub/time.h: New file.
19486 * include/grub/i386/time.h: Likewise.
19487 * include/grub/powerpc/time.h: Likewise.
19488 * include/grub/sparc64/time.h: Likewise.
19489
19490 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
19491 instances to ...
19492 (KERNEL_MACHINE_TIME_HEADER): ... this.
19493 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19494 instances to ...
19495 (KERNEL_MACHINE_TIME_HEADER): ... this.
19496 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19497 instances to ...
19498 (KERNEL_MACHINE_TIME_HEADER): ... this.
19499
19500 * kern/i386/efi/init.c: Include `<grub/time.h>'.
19501 (grub_millisleep): New function.
19502 * kern/i386/pc/init.c: Include `<grub/time.h>'.
19503 (grub_millisleep): New function.
19504 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
19505 Remove `grub/machine/time.h' include.
19506 (grub_millisleep): New function.
19507 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
19508 Remove `grub/machine/time.h' include.
19509 (grub_millisleep): New function.
19510
19511 * include/grub/misc.h (grub_div_roundup): New function.
19512
19513 * kern/misc.c: Include `<grub/time.h>'.
19514 (grub_millisleep_generic): New function.
19515
19516 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
19517 Add `time.h'.
19518 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
19519 Add `time.h'.
19520 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
19521 `machine/time.h'. Add `time.h'.
19522 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19523
19524 2007-10-21 Robert Millan <rmh@aybabtu.com>
19525
19526 * include/grub/misc.h (grub_max): New function.
19527
19528 2007-10-21 Robert Millan <rmh@aybabtu.com>
19529
19530 * util/misc.c (grub_util_info): Call fflush() before returning.
19531
19532 2007-10-20 Robert Millan <rmh@aybabtu.com>
19533
19534 * genmk.rb (Image): Copy `extra_flags' from here ...
19535 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
19536
19537 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
19538 to `argc' and `args' arguments.
19539
19540 2007-10-17 Robert Millan <rmh@aybabtu.com>
19541
19542 * kern/i386/loader.S: New file.
19543
19544 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
19545 * kern/i386/loader.S (grub_linux_prot_size)... to here.
19546 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
19547 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
19548 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
19549 * kern/i386/loader.S (grub_linux_real_addr)... to here.
19550 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
19551 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
19552 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
19553 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
19554 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
19555 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
19556 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
19557 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
19558
19559 * kern/i386/realmode.S: New file.
19560
19561 * kern/i386/pc/startup.S (protstack): Moved from here ...
19562 * kern/i386/realmode.S (protstack)... to here.
19563 * kern/i386/pc/startup.S (gdt): Moved from here ...
19564 * kern/i386/realmode.S (gdt)... to here.
19565 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
19566 * kern/i386/realmode.S (prot_to_real)... to here.
19567
19568 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
19569 `kern/i386/realmode.S'.
19570
19571 2007-10-17 Robert Millan <rmh@aybabtu.com>
19572
19573 * include/grub/i386/loader.h: New file.
19574
19575 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
19576 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19577 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19578 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19579 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
19580 * include/grub/i386/loader.h (grub_linux_prot_size)
19581 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19582 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19583 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19584 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
19585
19586 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
19587
19588 2007-10-15 Robert Millan <rmh@aybabtu.com>
19589
19590 * normal/misc.c (grub_normal_print_device_info): Do not probe for
19591 filesystem when dev->disk is unset.
19592 Do probe for filesystem even when dev->disk->has_partitions is set.
19593 In case a filesystem is found, always report it.
19594 In case it isn't, if dev->disk->has_partitions is set, report that
19595 a partition table was found instead of reporting that no filesystem
19596 could be identified.
19597
19598 2007-10-12 Robert Millan <rmh@aybabtu.com>
19599
19600 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
19601 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
19602
19603 * include/grub/types.h (grub_host_to_target16): New macro.
19604 (grub_host_to_target32): Likewise.
19605 (grub_host_to_target64): Likewise.
19606 (grub_target_to_host16): Likewise.
19607 (grub_target_to_host32): Likewise.
19608 (grub_target_to_host64): Likewise.
19609
19610 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19611 Renamed from to ...
19612 (GRUB_MOD_ALIGN): ...this. Update all users.
19613
19614 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
19615 grub_host_to_target32.
19616 Replace grub_be_to_cpu32 with grub_target_to_host32.
19617 (load_modules): Likewise.
19618 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
19619 Replace grub_be_to_cpu32 with grub_target_to_host32.
19620 Replace grub_cpu_to_be16 with grub_host_to_target16.
19621 Replace grub_cpu_to_be32 grub_host_to_target32.
19622
19623 2007-10-12 Robert Millan <rmh@aybabtu.com>
19624
19625 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
19626 * util/elf/grub-mkimage.c: ... here.
19627
19628 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
19629 `util/powerpc/ieee1275/grub-mkimage.c'.
19630
19631 2007-10-07 Robert Millan <rmh@aybabtu.com>
19632
19633 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
19634 and make it easier to figure out.
19635 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
19636 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
19637 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
19638 leave us with less than HEAP_MIN_SIZE total heap.
19639 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
19640
19641 2007-10-03 Robert Millan <rmh@aybabtu.com>
19642
19643 * include/grub/i386/io.h: New file.
19644 * commands/i386/pc/play.c (inb): Removed.
19645 (outb): Removed.
19646 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19647 with grub_outb().
19648 * term/i386/pc/serial.c (inb): Removed.
19649 (outb): Removed.
19650 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19651 with grub_outb().
19652 * term/i386/pc/vga.c (inb): Removed.
19653 (outb): Removed.
19654 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19655 with grub_outb().
19656
19657 2007-10-02 Robert Millan <rmh@aybabtu.com>
19658
19659 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
19660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19661 Reported by Marcin Kurek.
19662
19663 2007-09-07 Robert Millan <rmh@aybabtu.com>
19664
19665 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
19666 SmartFirmware version updates (as released by Sven Luther), and avoid
19667 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
19668 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
19669 known broken.
19670
19671 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19672
19673 From Hitoshi Ozeki:
19674 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
19675 when merging two regions.
19676
19677 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19678
19679 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
19680 * normal/completion.c (grub_normal_do_completion): Likewise.
19681 Reported by Hitoshi Ozeki.
19682
19683 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19684
19685 Do not use devices at boot in chainloading.
19686
19687 * loader/i386/pc/chainloader.c (boot_drive): New variable.
19688 (boot_part_addr): Likewise.
19689 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
19690 with BOOT_DRIVE and BOOT_PART_ADDR.
19691 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
19692 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
19693
19694 2007-08-29 Robert Millan <rmh@aybabtu.com>
19695
19696 Patch from Simon Peter <dn.tlp@gmx.net>:
19697 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
19698 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
19699 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
19700 util/i386/pc/grub-setup.c_DEPENDENCIES.
19701 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
19702 util/grub-probe.c_DEPENDENCIES.
19703 * conf/powerpc-ieee1275.rmk: Likewise.
19704
19705 2007-08-28 Robert Millan <rmh@aybabtu.com>
19706
19707 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
19708 to tell grub-mkdevicemap how to name devices.
19709 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
19710 feature).
19711
19712 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
19713 util/i386/get_disk_name.c.
19714 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
19715 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
19716 util/ieee1275/get_disk_name.c.
19717
19718 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
19719
19720 * DISTLIST: Add util/i386/get_disk_name.c and
19721 util/ieee1275/get_disk_name.c.
19722
19723 * util/grub-mkdevicemap.c: Replace device naming logic with
19724 grub_util_get_disk_name() calls.
19725
19726 2007-08-20 Robert Millan <rmh@aybabtu.com>
19727
19728 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
19729 (so that it works for both plural and singular quantities).
19730
19731 2007-08-05 Robert Millan <rmh@aybabtu.com>
19732
19733 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
19734 so that [xz] isn't taken into account when determining order.
19735
19736 2007-08-02 Marco Gerards <marco@gnu.org>
19737
19738 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
19739 `include/multiboot2.h', `include/grub/elfload.h',
19740 `include/multiboot.h', `include/grub/multiboot.h',
19741 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
19742 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
19743 `kern/elf.c', `loader/multiboot_loader.c',
19744 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
19745 `loader/i386/pc/multiboot2.c',
19746 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
19747 `util/i386/pc/grub-mkrescue.in'. Remove
19748 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
19749 `include/grub/i386/pc/util/biosdisk.h' and
19750 `include/grub/powerpc/ieee1275/multiboot.h'.
19751
19752 2007-08-02 Bean <bean123ch@gmail.com>
19753
19754 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
19755 (ntfs_mod_SOURCES): New variable.
19756 (ntfs_mod_CFLAGS): Likewise.
19757 (ntfs_mod_LDFLAGS): Likewise.
19758
19759 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
19760 (grub_probe_SOURCES): Likewise.
19761 (grub_emu_SOURCES): Likewise.
19762
19763 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19764 (grub_emu_SOURCES): Likewise.
19765
19766 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19767 (grub_emu_SOURCES): Likewise.
19768
19769 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
19770
19771 * fs/ntfs.c: New file.
19772
19773 2007-08-02 Bean <bean123ch@gmail.com>
19774
19775 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
19776
19777 * file.h (grub_file): Likewise.
19778
19779 * fshelp.h (grub_fshelp_read_file): Likewise.
19780
19781 * util/i386/pc/grub-setup.c (setup): Likewise.
19782 (save_first_sector): Likewise.
19783 (save_blocklists): Likewise.
19784
19785 * fs/affs.c (grub_affs_read_file): Likewise.
19786
19787 * fs/ext2.c (grub_ext2_read_file): Likewise.
19788
19789 * fs/fat.c (grub_fat_read_data): Likewise.
19790
19791 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
19792
19793 * fs/hfs.c (grub_hfs_read_file): Likewise.
19794
19795 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19796
19797 * fs/jfs.c (grub_jfs_read_file): Likewise.
19798
19799 * fs/minix.c (grub_minix_read_file): Likewise.
19800
19801 * fs/sfs.c (grub_sfs_read_file): Likewise.
19802
19803 * fs/ufs.c (grub_ufs_read_file): Likewise.
19804
19805 * fs/xfs.c (grub_xfs_read_file): Likewise.
19806
19807 * command/blocklist.c (read_blocklist): Likewise.
19808 (print_blocklist): Likewise.
19809
19810 2007-08-02 Marco Gerards <marco@gnu.org>
19811
19812 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
19813 `util/hostfs.c'.
19814
19815 * disk/host.c: New file.
19816
19817 * util/hostfs.c: Likewise.
19818
19819 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
19820 return `GRUB_ERR_BAD_FS'.
19821 * fs/sfs.c (grub_sfs_mount): Likewise.
19822 * fs/xfs.c (grub_xfs_mount): Likewise.
19823
19824 * include/grub/disk.h (enum grub_disk_dev_id): Add
19825 `GRUB_DISK_DEVICE_HOST_ID'.
19826
19827 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
19828
19829 2007-07-24 Jerone Young <jerone@gmail.com>
19830
19831 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
19832 modules for compilation.
19833 * conf/powerpc-ieee1275.rmk: Likewise.
19834
19835 * include/multiboot.h: Move multiboot definitions to one file. Rename
19836 many definitions to not get grub specific.
19837 * include/multiboot2.h: Create header with multiboot 2 definitions.
19838 * include/grub/multiboot.h: Header for grub specific function
19839 prototypes and definitions.
19840 * include/grub/multiboot2.h: Likewise.
19841 * include/grub/multiboot_loader.h: Likewise.
19842 * include/grub/i386/pc/multiboot.h: Removed.
19843 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
19844
19845 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
19846 and 2 to allow for one multiboot and module commands.
19847 * loader/multiboot2.c: Add multiboot2 functionality.
19848 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
19849 and definition names.
19850 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
19851 2 functions.
19852 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
19853 ieee1275 specific multiboot2 code.
19854
19855 * kern/i386/pc/startup.S: Change headers and definition names for
19856 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
19857
19858 2007-07-22 Robert Millan <rmh@aybabtu.com>
19859
19860 * geninitheader.sh: Process file specified in first parameter rather
19861 than hardcoding grub_modules_init.lst.
19862 * geninit.sh: Likewise. Also, construct header name dynamically rather
19863 than hardcoding grub_modules_init.h.
19864
19865 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
19866 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
19867 grub_probe_init.[ch] and grub_setup_init.[ch].
19868
19869 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
19870 grub_modules_init.h with grub_emu_init.h.
19871 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
19872 grub_probe_init.[ch] files.
19873 * conf/i386-efi.rmk: Likewise.
19874 * conf/i386-pc.rmk: Likewise.
19875 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
19876 grub_setup_init.[ch] files.
19877
19878 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
19879 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
19880 to initialize modules rather than a list of hardcoded functions.
19881 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
19882 grub_init_all() to initialize modules rather than a list of hardcoded
19883 functions.
19884
19885 2007-07-22 Robert Millan <rmh@aybabtu.com>
19886
19887 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19888 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
19889
19890 2007-07-22 Robert Millan <rmh@aybabtu.com>
19891
19892 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19893 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
19894 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
19895 flag when running on SmartFirmware.
19896 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
19897 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
19898 was set.
19899
19900 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19901 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
19902 rather than decreasing it.
19903
19904 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
19905 there's not enough space to do it, fail in the same way as when it
19906 can't be done because there are no partitions.
19907
19908 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
19909 when nvsetenv failed.
19910
19911 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19912
19913 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
19914 because this rule is automatically generated.
19915 (grub-mkrescue): Removed for the same reason as above.
19916
19917 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19918
19919 Migrate to GNU General Public License Version 3.
19920
19921 * COPYING: Replaced with the plain text version of GPLv3.
19922
19923 * config.guess: Updated from gnulib.
19924 * config.sub: Likewise.
19925
19926 * geninit.sh: Output a GPLv3 copyright notice.
19927 * geninitheader.sh: Likewise.
19928 * genmodsrc.sh: Likewise.
19929 * gensymlist.sh.in: Likewise.
19930
19931 * boot/i386/pc/boot.S: Upgraded to GPLv3.
19932 * boot/i386/pc/diskboot.S: Likewise.
19933 * boot/i386/pc/pxeboot.S: Likewise.
19934 * commands/blocklist.c: Likewise.
19935 * commands/boot.c: Likewise.
19936 * commands/cat.c: Likewise.
19937 * commands/cmp.c: Likewise.
19938 * commands/configfile.c: Likewise.
19939 * commands/echo.c: Likewise.
19940 * commands/help.c: Likewise.
19941 * commands/ls.c: Likewise.
19942 * commands/search.c: Likewise.
19943 * commands/terminal.c: Likewise.
19944 * commands/test.c: Likewise.
19945 * commands/videotest.c: Likewise.
19946 * commands/i386/cpuid.c: Likewise.
19947 * commands/i386/pc/halt.c: Likewise.
19948 * commands/i386/pc/play.c: Likewise.
19949 * commands/i386/pc/reboot.c: Likewise.
19950 * commands/i386/pc/vbeinfo.c: Likewise.
19951 * commands/i386/pc/vbetest.c: Likewise.
19952 * commands/ieee1275/halt.c: Likewise.
19953 * commands/ieee1275/reboot.c: Likewise.
19954 * commands/ieee1275/suspend.c: Likewise.
19955 * disk/loopback.c: Likewise.
19956 * disk/lvm.c: Likewise.
19957 * disk/raid.c: Likewise.
19958 * disk/efi/efidisk.c: Likewise.
19959 * disk/i386/pc/biosdisk.c: Likewise.
19960 * disk/ieee1275/ofdisk.c: Likewise.
19961 * font/manager.c: Likewise.
19962 * fs/affs.c: Likewise.
19963 * fs/ext2.c: Likewise.
19964 * fs/fat.c: Likewise.
19965 * fs/fshelp.c: Likewise.
19966 * fs/hfs.c: Likewise.
19967 * fs/hfsplus.c: Likewise.
19968 * fs/iso9660.c: Likewise.
19969 * fs/jfs.c: Likewise.
19970 * fs/minix.c: Likewise.
19971 * fs/sfs.c: Likewise.
19972 * fs/ufs.c: Likewise.
19973 * fs/xfs.c: Likewise.
19974 * hello/hello.c: Likewise.
19975 * include/grub/acorn_filecore.h: Likewise.
19976 * include/grub/arg.h: Likewise.
19977 * include/grub/bitmap.h: Likewise.
19978 * include/grub/boot.h: Likewise.
19979 * include/grub/cache.h: Likewise.
19980 * include/grub/device.h: Likewise.
19981 * include/grub/disk.h: Likewise.
19982 * include/grub/dl.h: Likewise.
19983 * include/grub/elfload.h: Likewise.
19984 * include/grub/env.h: Likewise.
19985 * include/grub/err.h: Likewise.
19986 * include/grub/file.h: Likewise.
19987 * include/grub/font.h: Likewise.
19988 * include/grub/fs.h: Likewise.
19989 * include/grub/fshelp.h: Likewise.
19990 * include/grub/gzio.h: Likewise.
19991 * include/grub/hfs.h: Likewise.
19992 * include/grub/kernel.h: Likewise.
19993 * include/grub/loader.h: Likewise.
19994 * include/grub/lvm.h: Likewise.
19995 * include/grub/misc.h: Likewise.
19996 * include/grub/mm.h: Likewise.
19997 * include/grub/net.h: Likewise.
19998 * include/grub/normal.h: Likewise.
19999 * include/grub/parser.h: Likewise.
20000 * include/grub/partition.h: Likewise.
20001 * include/grub/pc_partition.h: Likewise.
20002 * include/grub/raid.h: Likewise.
20003 * include/grub/rescue.h: Likewise.
20004 * include/grub/script.h: Likewise.
20005 * include/grub/setjmp.h: Likewise.
20006 * include/grub/symbol.h: Likewise.
20007 * include/grub/term.h: Likewise.
20008 * include/grub/terminfo.h: Likewise.
20009 * include/grub/tparm.h: Likewise.
20010 * include/grub/types.h: Likewise.
20011 * include/grub/video.h: Likewise.
20012 * include/grub/efi/api.h: Likewise.
20013 * include/grub/efi/chainloader.h: Likewise.
20014 * include/grub/efi/console.h: Likewise.
20015 * include/grub/efi/console_control.h: Likewise.
20016 * include/grub/efi/disk.h: Likewise.
20017 * include/grub/efi/efi.h: Likewise.
20018 * include/grub/efi/pe32.h: Likewise.
20019 * include/grub/efi/time.h: Likewise.
20020 * include/grub/i386/linux.h: Likewise.
20021 * include/grub/i386/setjmp.h: Likewise.
20022 * include/grub/i386/types.h: Likewise.
20023 * include/grub/i386/efi/kernel.h: Likewise.
20024 * include/grub/i386/efi/loader.h: Likewise.
20025 * include/grub/i386/efi/time.h: Likewise.
20026 * include/grub/i386/pc/biosdisk.h: Likewise.
20027 * include/grub/i386/pc/boot.h: Likewise.
20028 * include/grub/i386/pc/chainloader.h: Likewise.
20029 * include/grub/i386/pc/console.h: Likewise.
20030 * include/grub/i386/pc/init.h: Likewise.
20031 * include/grub/i386/pc/kernel.h: Likewise.
20032 * include/grub/i386/pc/loader.h: Likewise.
20033 * include/grub/i386/pc/memory.h: Likewise.
20034 * include/grub/i386/pc/multiboot.h: Likewise.
20035 * include/grub/i386/pc/serial.h: Likewise.
20036 * include/grub/i386/pc/time.h: Likewise.
20037 * include/grub/i386/pc/vbe.h: Likewise.
20038 * include/grub/i386/pc/vbeblit.h: Likewise.
20039 * include/grub/i386/pc/vbefill.h: Likewise.
20040 * include/grub/i386/pc/vbeutil.h: Likewise.
20041 * include/grub/i386/pc/vga.h: Likewise.
20042 * include/grub/ieee1275/ieee1275.h: Likewise.
20043 * include/grub/ieee1275/ofdisk.h: Likewise.
20044 * include/grub/powerpc/libgcc.h: Likewise.
20045 * include/grub/powerpc/setjmp.h: Likewise.
20046 * include/grub/powerpc/types.h: Likewise.
20047 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20048 * include/grub/powerpc/ieee1275/console.h: Likewise.
20049 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20050 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20051 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20052 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20053 * include/grub/powerpc/ieee1275/time.h: Likewise.
20054 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20055 * include/grub/sparc64/libgcc.h: Likewise.
20056 * include/grub/sparc64/setjmp.h: Likewise.
20057 * include/grub/sparc64/types.h: Likewise.
20058 * include/grub/sparc64/ieee1275/console.h: Likewise.
20059 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20060 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20061 * include/grub/sparc64/ieee1275/time.h: Likewise.
20062 * include/grub/util/biosdisk.h: Likewise.
20063 * include/grub/util/getroot.h: Likewise.
20064 * include/grub/util/lvm.h: Likewise.
20065 * include/grub/util/misc.h: Likewise.
20066 * include/grub/util/raid.h: Likewise.
20067 * include/grub/util/resolve.h: Likewise.
20068 * io/gzio.c: Likewise.
20069 * kern/device.c: Likewise.
20070 * kern/disk.c: Likewise.
20071 * kern/dl.c: Likewise.
20072 * kern/elf.c: Likewise.
20073 * kern/env.c: Likewise.
20074 * kern/err.c: Likewise.
20075 * kern/file.c: Likewise.
20076 * kern/fs.c: Likewise.
20077 * kern/loader.c: Likewise.
20078 * kern/main.c: Likewise.
20079 * kern/misc.c: Likewise.
20080 * kern/mm.c: Likewise.
20081 * kern/parser.c: Likewise.
20082 * kern/partition.c: Likewise.
20083 * kern/rescue.c: Likewise.
20084 * kern/term.c: Likewise.
20085 * kern/efi/efi.c: Likewise.
20086 * kern/efi/init.c: Likewise.
20087 * kern/efi/mm.c: Likewise.
20088 * kern/i386/dl.c: Likewise.
20089 * kern/i386/efi/init.c: Likewise.
20090 * kern/i386/efi/startup.S: Likewise.
20091 * kern/i386/pc/init.c: Likewise.
20092 * kern/i386/pc/lzo1x.S: Likewise.
20093 * kern/i386/pc/startup.S: Likewise.
20094 * kern/ieee1275/ieee1275.c: Likewise.
20095 * kern/powerpc/cache.S: Likewise.
20096 * kern/powerpc/dl.c: Likewise.
20097 * kern/powerpc/ieee1275/cmain.c: Likewise.
20098 * kern/powerpc/ieee1275/crt0.S: Likewise.
20099 * kern/powerpc/ieee1275/init.c: Likewise.
20100 * kern/powerpc/ieee1275/openfw.c: Likewise.
20101 * kern/sparc64/cache.S: Likewise.
20102 * kern/sparc64/dl.c: Likewise.
20103 * kern/sparc64/ieee1275/init.c: Likewise.
20104 * kern/sparc64/ieee1275/openfw.c: Likewise.
20105 * loader/efi/chainloader.c: Likewise.
20106 * loader/efi/chainloader_normal.c: Likewise.
20107 * loader/i386/efi/linux.c: Likewise.
20108 * loader/i386/efi/linux_normal.c: Likewise.
20109 * loader/i386/pc/chainloader.c: Likewise.
20110 * loader/i386/pc/chainloader_normal.c: Likewise.
20111 * loader/i386/pc/linux.c: Likewise.
20112 * loader/i386/pc/linux_normal.c: Likewise.
20113 * loader/i386/pc/multiboot.c: Likewise.
20114 * loader/i386/pc/multiboot_normal.c: Likewise.
20115 * loader/powerpc/ieee1275/linux.c: Likewise.
20116 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20117 * normal/arg.c: Likewise.
20118 * normal/cmdline.c: Likewise.
20119 * normal/command.c: Likewise.
20120 * normal/completion.c: Likewise.
20121 * normal/execute.c: Likewise.
20122 * normal/function.c: Likewise.
20123 * normal/lexer.c: Likewise.
20124 * normal/main.c: Likewise.
20125 * normal/menu.c: Likewise.
20126 * normal/menu_entry.c: Likewise.
20127 * normal/misc.c: Likewise.
20128 * normal/parser.y: Likewise.
20129 * normal/script.c: Likewise.
20130 * normal/i386/setjmp.S: Likewise.
20131 * normal/powerpc/setjmp.S: Likewise.
20132 * normal/sparc64/setjmp.S: Likewise.
20133 * partmap/acorn.c: Likewise.
20134 * partmap/amiga.c: Likewise.
20135 * partmap/apple.c: Likewise.
20136 * partmap/gpt.c: Likewise.
20137 * partmap/pc.c: Likewise.
20138 * partmap/sun.c: Likewise.
20139 * term/gfxterm.c: Likewise.
20140 * term/terminfo.c: Likewise.
20141 * term/efi/console.c: Likewise.
20142 * term/i386/pc/console.c: Likewise.
20143 * term/i386/pc/serial.c: Likewise.
20144 * term/i386/pc/vesafb.c: Likewise.
20145 * term/i386/pc/vga.c: Likewise.
20146 * term/ieee1275/ofconsole.c: Likewise.
20147 * util/biosdisk.c: Likewise.
20148 * util/console.c: Likewise.
20149 * util/genmoddep.c: Likewise.
20150 * util/getroot.c: Likewise.
20151 * util/grub-emu.c: Likewise.
20152 * util/grub-mkdevicemap.c: Likewise.
20153 * util/grub-probe.c: Likewise.
20154 * util/lvm.c: Likewise.
20155 * util/misc.c: Likewise.
20156 * util/raid.c: Likewise.
20157 * util/resolve.c: Likewise.
20158 * util/update-grub.in: Likewise.
20159 * util/update-grub_lib.in: Likewise.
20160 * util/grub.d/00_header.in: Likewise.
20161 * util/grub.d/10_hurd.in: Likewise.
20162 * util/grub.d/10_linux.in: Likewise.
20163 * util/i386/efi/grub-install.in: Likewise.
20164 * util/i386/efi/grub-mkimage.c: Likewise.
20165 * util/i386/pc/grub-install.in: Likewise.
20166 * util/i386/pc/grub-mkimage.c: Likewise.
20167 * util/i386/pc/grub-mkrescue.in: Likewise.
20168 * util/i386/pc/grub-setup.c: Likewise.
20169 * util/i386/pc/misc.c: Likewise.
20170 * util/powerpc/ieee1275/grub-install.in: Likewise.
20171 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20172 * util/powerpc/ieee1275/misc.c: Likewise.
20173 * video/bitmap.c: Likewise.
20174 * video/video.c: Likewise.
20175 * video/i386/pc/vbe.c: Likewise.
20176 * video/i386/pc/vbeblit.c: Likewise.
20177 * video/i386/pc/vbefill.c: Likewise.
20178 * video/i386/pc/vbeutil.c: Likewise.
20179 * video/readers/tga.c: Likewise.
20180
20181 2007-07-02 Robert Millan <rmh@aybabtu.com>
20182
20183 * conf/i386-efi.rmk: Replace obsolete reference to
20184 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20185 with util/getroot.c.
20186 * conf/powerpc-ieee1275.rmk: Likewise.
20187 * conf/sparc64-ieee1275.rmk: Likewise.
20188
20189 * util/grub-emu.c (main): Fix unchecked pointer handling.
20190
20191 2007-07-02 Robert Millan <rmh@aybabtu.com>
20192
20193 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20194 invocation to fail, in order to support partition-less media.
20195
20196 * util/i386/pc/grub-install.in: Likewise.
20197
20198 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20199 which fs or partmap modules are needed (akin to its sister scripts).
20200
20201 Also use grub-probe to get rid of unportable /proc/mounts check.
20202
20203 Print the same informational message that the other scripts do, before
20204 exiting.
20205
20206 2007-06-23 Robert Millan <rmh@aybabtu.com>
20207
20208 * util/update-grub_lib.in (font_path): New function. Determine whether
20209 a font file can be found and, if so, echo the GRUB path to it.
20210
20211 * util/update-grub.in: Handle multiple terminals depending on user
20212 input, platform availability and font file presence. Propagate
20213 variables of our findings to /etc/grub.d/ children.
20214
20215 * util/grub.d/00_header.in: Handle multiple terminals, based on
20216 environment setup by update-grub.
20217
20218 2007-06-23 Robert Millan <rmh@aybabtu.com>
20219
20220 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
20221
20222 2007-06-21 Robert Millan <rmh@aybabtu.com>
20223
20224 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
20225 indicate end of data section in kernel image.
20226 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
20227 GRUB_KERNEL_MACHINE_DATA_END.
20228
20229 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
20230 space for it.
20231 * kern/i386/efi/startup.S: Likewise.
20232
20233 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
20234 during image generation. Implement --prefix option to override this
20235 patch.
20236 * util/i386/efi/grub-mkimage.c: Likewise.
20237
20238 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
20239 code to make path relative to its root into a separate function.
20240
20241 * util/i386/pc/grub-install.in: Use newly provided
20242 make_system_path_relative_to_its_root() to convert ${grubdir}, then
20243 pass the result to grub-install --prefix.
20244
20245 2007-06-13 Robert Millan <rmh@aybabtu.com>
20246
20247 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
20248 DEFAULT_DEVICE_MAP.
20249 * util/grub-emu.c: Use above definitions from misc.h instead of
20250 defining them.
20251 * util/grub-mkdevicemap.c: Likewise.
20252 * util/i386/pc/grub-setup.c: Likewise.
20253 * util/grub-probe.c: Likewise.
20254 (probe): Abort with grub_util_error() when either
20255 grub_guess_root_device or grub_util_get_grub_dev fails.
20256
20257 2007-06-12 Robert Millan <rmh@aybabtu.com>
20258
20259 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
20260 "pager" assignment.
20261 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
20262 "pcdata".
20263 * util/grub-probe.c (probe): Likewise for "drive_name".
20264
20265 2007-06-11 Robert Millan <rmh@aybabtu.com>
20266
20267 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
20268 not just the cdrom one.
20269
20270 2007-06-11 Robert Millan <rmh@aybabtu.com>
20271
20272 * util/i386/pc/grub-mkrescue.in: Add "set -e".
20273 Add --pkglibdir=DIR option to override pkglibdir.
20274 Mention --image-type=TYPE in help output.
20275 Fix --grub-mkimage (it was a no-op).
20276 Abort gracefully when no parameter is given.
20277
20278 2007-06-11 Robert Millan <rmh@aybabtu.com>
20279
20280 * util/i386/pc/grub-mkrescue.in: New file.
20281 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
20282 * Makefile.in: Handle bin_SCRIPTS.
20283
20284 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
20285
20286 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
20287 list of video modes.
20288
20289 2007-06-06 Robert Millan <rmh@aybabtu.com>
20290
20291 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
20292 file doesn't exist, or if it is in a filesystem grub can't read.
20293
20294 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
20295 not abort if GRUB_DRIVE could not be defined. Rearrange generated
20296 header comment to fit in 80 columns when the variables are resolved.
20297
20298 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
20299 could be identified by update-grub. Remove redundant check for
20300 unifont.pff existence (since convert_system_path_to_grub_path now
20301 handles that).
20302
20303 2007-06-04 Robert Millan <rmh@aybabtu.com>
20304
20305 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
20306
20307 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
20308
20309 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
20310
20311 2007-06-04 Robert Millan <rmh@aybabtu.com>
20312
20313 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
20314
20315 * include/grub/partition.h: Declare grub_apple_partition_map_init and
20316 grub_apple_partition_map_fini.
20317
20318 * util/biosdisk.c
20319 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
20320 to access >2 TiB disks).
20321
20322 Print disk->total_sectors with %llu instead of %lu, since this
20323 variable is always 64-bit (prevents wrong disk size from being displayed
20324 on either >2 TiB disk or big-endian CPU).
20325
20326 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
20327 into a generic case that supports all (sane) partition maps.
20328
20329 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
20330 breaks big-endian.
20331
20332 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
20333 and grub_apple_partition_map_fini() after that.
20334
20335 2007-06-01 Robert Millan <rmh@aybabtu.com>
20336
20337 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
20338
20339 * util/grub.d/00_header.in: Only enable gfxterm when
20340 convert_system_path_to_grub_path() succeeds.
20341
20342 2007-05-20 Robert Millan <rmh@aybabtu.com>
20343
20344 * util/update-grub_lib.in: New file.
20345 * DISTLIST: Add update-grub_lib.in.
20346 * conf/common.rmk: Generate update-grub_lib and install it in
20347 $(lib_DATA).
20348 * Makefile.in: Add install routine for $(lib_DATA).
20349
20350 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
20351 function provided by update-grub_lib to support arbitrary paths of
20352 unifont.pff.
20353 * util/update-grub.in: Use convert_system_path_to_grub_path() to
20354 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
20355
20356 2007-05-19 Robert Millan <rmh@aybabtu.com>
20357
20358 * commands/i386/cpuid.c: New module.
20359 * DISTLIST: Add it.
20360 * conf/i386-efi.rmk: Enable cpuid.mod.
20361 * conf/i386-pc.rmk: Likewise.
20362
20363 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20364
20365 * kern/disk.c (grub_disk_read): Check return value of
20366 grub_realloc().
20367
20368 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20369
20370 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
20371 arrays.
20372 * disk/raid.c (grub_raid_open): Likewise.
20373
20374 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20375
20376 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
20377 stack instead of on the heap.
20378
20379 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
20380 before doing a read on it.
20381
20382 * configure.ac: Only use -fno-stack-protector for the target
20383 environment.
20384
20385 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20386
20387 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
20388 __attribute_ ((unused)) to mode_type argument.
20389
20390 * util/getroot.c (grub_guess_root_device): Fix #endif.
20391
20392 * kern/misc.c (memcmp): Fix prototype.
20393
20394 * include/grub/partition.h [GRUB_UTIL]
20395 (grub_gpt_partition_map_init): Add prototype.
20396 (grub_gpt_partition_map_fini): Likewise.
20397
20398 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
20399 at the right place.
20400
20401 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
20402 (grub_fat_read_data): Likewise.
20403 (grub_fat_find_dir): Likewise.
20404
20405 * font/manager.c (find_glyph): Make table a const.
20406 (grub_font_get_glyph): Remove bitmap from if statement.
20407
20408 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
20409
20410 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
20411 code, first search for device in /dev/mapper, then in /dev.
20412 (grub_util_get_grub_dev): New function.
20413 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
20414 prototype.
20415 * util/grub-probe.c (probe): Remove check for RAID, call
20416 grub_util_get_grub_dev() instead of
20417 grub_util_biosdisk_get_grub_dev().
20418 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
20419 grub_util_biosdisk_get_grub_dev().
20420 * util/i386/pc/grub-setup.c (main): Likewise.
20421
20422 2007-05-16 Robert Millan <rmh@aybabtu.com>
20423
20424 * DISTLIST: Update for the latest changes.
20425 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
20426 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
20427 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
20428 grub/util/biosdisk.h.
20429 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
20430 grub/util/biosdisk.h.
20431
20432 2007-05-16 Robert Millan <rmh@aybabtu.com>
20433
20434 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
20435
20436 2007-05-16 Robert Millan <rmh@aybabtu.com>
20437
20438 * util/i386/efi/grub-install.in: New.
20439 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
20440 newly added grub-install.
20441 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
20442 include.
20443 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
20444 grub/util/biosdisk.h.
20445 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
20446 grub/util/biosdisk.h.
20447
20448 2007-05-16 Robert Millan <rmh@aybabtu.com>
20449
20450 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
20451 * include/grub/util/biosdisk.h: ... here.
20452 * util/i386/pc/biosdisk.c: Moved to ...
20453 * util/biosdisk.c: ... here.
20454 * util/i386/pc/getroot.c: Moved to ...
20455 * util/getroot.c: ... here.
20456 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
20457 * util/grub-mkdevicemap.c: ... here.
20458 * util/i386/pc/grub-probe.c: Moved to ...
20459 * util/grub-probe.c: ... here.
20460
20461 2007-05-15 Robert Millan <rmh@aybabtu.com>
20462
20463 * util/update-grub.in: Remove duplicated line in grub.cfg header
20464 message.
20465
20466 2007-05-13 Robert Millan <rmh@aybabtu.com>
20467
20468 * util/update-grub.in: Fix a few assumptions about the devices holding
20469 /, /boot and /boot/grub being the same.
20470 * util/grub.d/00_header.in: Likewise.
20471 * util/grub.d/10_hurd.in: Likewise.
20472 * util/grub.d/10_linux.in: Likewise.
20473
20474 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
20475 patterns. Use that to define the `.old' suffix as older than `'.
20476
20477 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
20478
20479 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
20480 the grub.cfg header message.
20481
20482 2007-05-11 Robert Millan <rmh@aybabtu.com>
20483
20484 * util/update-grub.in: Create device.map if it doesn't already exist,
20485 before attempting to run grub-probe.
20486 Check for grub-probe and grub-mkdevicemap with the same code
20487 grub-install is using.
20488 Remove test mode.
20489
20490 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
20491
20492 * Makefile.in: Add the datarootdir autoconf variable.
20493
20494 2007-05-09 Robert Millan <rmh@aybabtu.com>
20495
20496 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
20497 fail gracefully if dev->disk->partition == NULL.
20498
20499 2007-05-07 Robert Millan <rmh@aybabtu.com>
20500
20501 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
20502 determine partition map module.
20503 * util/i386/pc/grub-install.in: Use this feature to decide which
20504 partition module to load, instead of hardcoding pc and gpt.
20505
20506 2007-05-07 Robert Millan <rmh@aybabtu.com>
20507
20508 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
20509 source directory differs from build directory.
20510
20511 2007-05-05 Robert Millan <rmh@aybabtu.com>
20512
20513 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
20514 initialisation.
20515
20516 2007-05-05 Robert Millan <rmh@aybabtu.com>
20517
20518 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
20519
20520 2007-05-05 Robert Millan <rmh@aybabtu.com>
20521
20522 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
20523 command-line arguments via ${GRUB_CMDLINE_LINUX}.
20524
20525 2007-05-05 Robert Millan <rmh@aybabtu.com>
20526
20527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
20528 (grub_probe_SOURCES): Likewise.
20529 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
20530 GPT and initialize dos_part and bsd_part accordingly.
20531 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
20532 install_bsd_part.
20533 (main): Activate gpt module for use during partition identification,
20534 and deactivate it afterwards.
20535 * util/i386/pc/grub-install.in: Add gpt module to core.img.
20536 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
20537 partition identification, and deactivate it afterwards.
20538
20539 2007-05-05 Robert Millan <rmh@aybabtu.com>
20540
20541 * term/i386/pc/console.c (grub_console_fini): Call
20542 grub_term_set_current() before grub_term_unregister().
20543
20544 2007-05-04 Robert Millan <rmh@aybabtu.com>
20545
20546 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
20547 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
20548 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
20549 and update-grub_DATA.
20550 * conf/common.rmk: Build and install update-grub components.
20551 * conf/common.mk: Regenerate.
20552 * util/update-grub.in: New. Core of update-grub.
20553 * util/grub.d/00_header.in: New. Generates grub.cfg header.
20554 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
20555 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
20556 * util/grub.d/README: New. Document grub.d directory layout.
20557
20558 2007-05-01 Robert Millan <rmh@aybabtu.com>
20559
20560 * util/grub-emu.c: Move initialization functions
20561 grub_util_biosdisk_init() and grub_init_all() before
20562 grub_util_biosdisk_get_grub_dev(), which relies on them.
20563
20564 2007-04-19 Robert Millan <rmh@aybabtu.com>
20565
20566 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
20567 it is used later.
20568
20569 2007-04-18 Jerone Young <jerone@gmail.com>
20570
20571 * kernel/elf.c: Add missing parenthesis for conditional statement
20572 stanza.
20573
20574 2007-04-10 Jerone Young <jerone@gmail.com>
20575
20576 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
20577 continue on and look for device node with real device name.
20578
20579 2007-04-10 Jerone Young <jerone@gmail.com>
20580
20581 * configure.ac: Add argument for autoconf to use transformation
20582 ability.
20583 * Makefile.in: Add autoconf package transformation code.
20584 * util/i386/pc/grub-install.in: Likewise.
20585 * util/powerpc/ieee1275/grub-install.in: Likewise.
20586
20587 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20588
20589 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
20590 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
20591 (EXT2_REVISION): Likewise.
20592 (EXT2_INODE_SIZE): Likewise.
20593 (struct grub_ext2_block_group): Added a missing member
20594 "used_dirs".
20595 (grub_ext2_read_inode): Divide by the inode size in a superblock
20596 instead of 128 to obtain INODES_PER_BLOCK.
20597 Use the macro EXT2_INODE_SIZE instead of directly using
20598 SBLOCK->INODE_SIZE.
20599
20600 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20601
20602 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
20603 superblock instead of the structure size to compute an
20604 offset. This fixes the problem that GRUB could not read a
20605 filesystem when inode size is different from 128-byte.
20606
20607 2007-03-05 Marco Gerards <marco@gnu.org>
20608
20609 * normal/main.c (read_config_file): When "menu" is not set, create
20610 an initial context.
20611
20612 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20613
20614 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
20615 (HEAP_LIMIT): New macro.
20616 (grub_claim_heap): Claim memory up to `heaplimit'.
20617
20618 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20619
20620 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
20621 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
20622 (_start): Likewise.
20623 (grub_arch_modules_addr): Return address after `_end'.
20624 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
20625 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
20626 (add_segments): Calculate `_end' from phdr size and location.
20627 (ALIGN_UP): Moved to ...
20628 * include/grub/misc.h: here.
20629 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20630 New macro.
20631 (GRUB_IEEE1275_MODULE_BASE): Removed.
20632
20633 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20634
20635 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
20636 loop boundary.
20637
20638 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20639
20640 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
20641 All users updated.
20642 (grub_elf64_load_hook_t): Likewise.
20643 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
20644 debug output.
20645
20646 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20647
20648 * kern/mm.c: Update copyright.
20649 (grub_mm_debug): Correct syntax error.
20650 (grub_mm_dump_free): New function.
20651 (grub_debug_free): Call `grub_free'.
20652 * include/grub/mm.h: Update copyright.
20653 (grub_mm_dump_free): Add declaration.
20654
20655 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20656
20657 * include/grub/ieee1275/ieee1275.h: Update copyright.
20658 * kern/powerpc/ieee1275/init.c: Likewise.
20659 * kern/powerpc/ieee1275/openfw.c: Likewise.
20660
20661 * loader/powerpc/ieee1275/linux.c: Likewise.
20662 * include/grub/elfload.h: Likewise.
20663 * kern/elf.c: Likewise.
20664 (grub_elf32_load): Pass `base' and `size' parameters. Update all
20665 callers.
20666 (grub_elf64_load): Likewise.
20667 (grub_elf32_load_segment): Move to a nested function.
20668 (grub_elf64_load_segment): Likewise.
20669
20670 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20671
20672 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
20673 prototype.
20674 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
20675 (grub_heap_len): Likewise.
20676 (HEAP_SIZE): New macro.
20677 (grub_claim_heap): New function.
20678 (grub_machine_init): Don't claim heap directly. Call
20679 `grub_claim_heap'.
20680 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
20681 (grub_available_iterate): New function.
20682
20683 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
20684
20685 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
20686 * configure.ac: Use it for testing the HOST and TARGET compilers.
20687
20688 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
20689
20690 * Makefile.in (enable_grub_emu): New variable.
20691 * configure.ac (--enable-grub-emu): New option.
20692 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
20693 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
20694 * conf/i386-pc.rmk: Likewise.
20695 * conf/powerpc-ieee1275.rmk: Likewise.
20696 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
20697
20698 2006-12-12 Marco Gerards <marco@gnu.org>
20699
20700 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
20701
20702 * kern/env.c (grub_env_unset): Don't free the member `value' when
20703 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
20704 pointer.
20705
20706 * normal/main.c (current_menu): Removed.
20707 (free_menu): Unset the `menu' environment variable.
20708 (grub_normal_menu_addentry): Make use of the environment variable
20709 `menu', instead of using the global `current_menu'. Allocate
20710 memory for the sourcecode of this entry.
20711 (read_config_file): New argument `nested', changed all callers.
20712 Only in the case of a new context, initialize a new menu. Set the
20713 `menu' environment variable.
20714 (grub_normal_execute): Don't set and unset the environment
20715 variable `menu' here anymore. Only free the menu when leaving the
20716 context.
20717
20718 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
20719 leak.
20720
20721 2006-12-11 Marco Gerards <marco@gnu.org>
20722
20723 * normal/menu_entry.c (run): Fix off by one bug so the last line
20724 is executed. Move the loader check to outside the loop.
20725
20726 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
20727
20728 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
20729
20730 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
20731
20732 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
20733 the number of sectors. Reported by Andrey Shuvikov
20734 <mr_hyro@yahoo.com>.
20735
20736 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
20737
20738 * kern/disk.c (grub_disk_read): When there is a read error, always
20739 try to read only the necessary data.
20740
20741 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
20742 disk/raid.c.
20743 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
20744 prototype.
20745 [GRUB_UTIL] (grub_raid_fini): Likewise.
20746 [GRUB_UTIL] (grub_lvm_init): Likewise.
20747 [GRUB_UTIL] (grub_lvm_fini): Likewise.
20748 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
20749 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
20750 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
20751 and grub_raid_fini().
20752
20753 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
20754
20755 * include/grub/types.h (__unused): Rename to UNUSED.
20756 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
20757 (grub_elf64_size): Likewise.
20758
20759 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20760
20761 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
20762 grub_error_push and grub_error_pop in the error-handling path.
20763 (grub_elf32_load_segment): Only call grub_file_read with non-zero
20764 length.
20765
20766 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20767
20768 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
20769 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20771 (kernel_elf_SOURCES): Likewise.
20772 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
20773 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
20774 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20775 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20776 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
20777 (elf_mod_SOURCES): New variable.
20778 (elf_mod_CFLAGS): Likewise.
20779 (elf_mod_LDFLAGS): Likewise.
20780 * include/grub/types.h (__unused): New macro.
20781 * include/grub/elfload.h: New file.
20782 * kern/elf.c: Likewise.
20783 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
20784 (ELF32_LOADMASK): New macro.
20785 (ELF64_LOADMASK): Likewise.
20786 (vmlinux): Removed.
20787 (grub_linux_load32): New function.
20788 (grub_linux_load64): Likewise.
20789 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
20790 Use grub_elf_t instead of grub_file_t.
20791
20792 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
20793
20794 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
20795 `catch_result' to struct set_color_args.
20796
20797 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20798
20799 * normal/menu.c: Include grub/script.h.
20800 * normal/menu_entry.c: Likewise.
20801 * include/grub/normal.h: Do not include grub/script.h.
20802
20803 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20804
20805 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
20806
20807 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20808
20809 * kern/disk.c (grub_disk_open): Print debug messages when opening a
20810 disk.
20811 (grub_disk_close): Print debug messages when closing a disk.
20812 (grub_disk_read): Print debug messages when disk read fails.
20813 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
20814 filesystem type.
20815 * kern/partition.c: Include misc.h.
20816 (grub_partition_iterate): Print debug messages when detecting
20817 partition type.
20818
20819 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20820
20821 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
20822 is negative.
20823 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
20824
20825 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
20826
20827 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20828 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
20829
20830 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
20831
20832 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
20833 instead of sizeof(lv). Patch by Michael Guntsche.
20834
20835 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
20836
20837 * disk/lvm.c: Rename VGS to VG_LIST.
20838 (grub_lvm_iterate): Change VGS->LV to VG-LV.
20839 (grub_lvm_open): Likewise.
20840 Thanks to Michael Guntsche for finding this bug.
20841
20842 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20843
20844 * configure.ac (AC_INIT): Bumped to 1.95.
20845
20846 2006-10-14 Robert Millan <rmh@aybabtu.com>
20847
20848 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
20849 with "/dev/.static/dev/md".
20850
20851 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20852
20853 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
20854 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
20855 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
20856 DRIVE_NAME are always freed.
20857
20858 * util/i386/pc/biosdisk.c (make_device_name): Add one into
20859 DOS_PART, as a DOS partition is counted from one instead of zero
20860 now. Reported by Robert Millan.
20861
20862 2006-10-14 Robert Millan <rmh@aybabtu.com>
20863
20864 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
20865 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
20866 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
20867 string returned by grub_guess_root_device.
20868 * util/i386/pc/grub-setup.c: Likewise.
20869 * util/i386/pc/grub-probefs.c: Likewise.
20870
20871 * util/i386/pc/grub-probefs.c: Rename to ...
20872 * util/i386/pc/grub-probe.c: ... this.
20873 * DISTLIST: Remove grub-probefs, add grub-probe.
20874 * conf/i386-efi.rmk: Likewise.
20875 * conf/i386-pc.rmk: Likewise.
20876 * util/i386/pc/grub-install.in: Likewise.
20877
20878 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
20879 choose which information we want to print.
20880
20881 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20882
20883 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
20884 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
20885 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
20886 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
20887 video/readers/tga.c and video/i386/pc/vbeutil.c.
20888
20889 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
20890
20891 Added support for RAID and LVM.
20892
20893 * disk/lvm.c: New file.
20894 * disk/raid.c: Likewise.
20895 * include/grub/lvm.h: Likewise.
20896 * include/grub/raid.h: Likewise.
20897 * include/grub/util/lvm.h: Likewise.
20898 * include/grub/util/raid.h: Likewise.
20899 * util/lvm.c: Likewise.
20900 * util/raid.c: Likewise.
20901
20902 * include/grub/disk.h (grub_disk_dev_id): Add
20903 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
20904 (grub_disk_get_size): New prototype.
20905 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
20906 returns a partition.
20907 (grub_disk_get_size): New function.
20908
20909 * kern/i386/pc/init.c (make_install_device): Copy the prefix
20910 verbatim if grub_install_dos_part is -2.
20911
20912 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
20913 and LVM devices.
20914
20915 * util/i386/pc/grub-setup.c (setup): New argument
20916 MUST_EMBED. Force embedding of GRUB when the argument is
20917 true. Close FILE before returning.
20918 (main): Add support for RAID and LVM.
20919
20920 * conf/common.rmk: Add RAID and LVM modules.
20921 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
20922 util/lvm.c.
20923 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
20924
20925 * kern/misc.c (grub_strstr): New function.
20926 * include/grub/misc.h (grub_strstr): New prototype.
20927
20928 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
20929
20930 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
20931
20932 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
20933
20934 * kern/misc.c (grub_strtoull): Guess the base only if not
20935 specified.
20936
20937 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20938
20939 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
20940 PowerMac support.
20941
20942 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20943
20944 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
20945
20946 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
20947 Remove `flags' argument. All callers changed.
20948 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
20949 (IEEE1275_IHANDLE_INVALID): New variable.
20950 (IEEE1275_CELL_INVALID): New variable.
20951 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20952 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
20953 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
20954 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
20955 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
20956 codes from Open Firmware. All callers updated.
20957 (grub_ieee1275_next_property): Directly return Open Firmware return
20958 code.
20959 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20960 Standardize error checking from `grub_ieee1275_get_property'.
20961 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
20962 `devalias' to `aliases'. Correct comments. Consolidate error paths.
20963
20964 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
20965
20966 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
20967 `instance_to_package_args' to `instance_to_path_args'.
20968
20969 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
20970 `grub_ieee1275_chosen'.
20971
20972 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
20973 `grub_ieee1275_interpret'.
20974
20975 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
20976
20977 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
20978
20979 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
20980
20981 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
20982 (__cmpdi): Likewise.
20983
20984 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
20985 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
20986 `grub_ssize_t'.
20987
20988 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
20989
20990 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
20991 to type `grub_ssize_t'.
20992 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
20993
20994 2006-09-22 Marco Gerards <marco@gnu.org>
20995
20996 * normal/script.c (grub_script_create_cmdmenu): Skip leading
20997 newlines.
20998
20999 2006-09-22 Marco Gerards <marco@gnu.org>
21000
21001 * commands/echo.c: New file.
21002
21003 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21004
21005 * conf/common.rmk (echo_mod_SOURCES): New variable.
21006 (echo_mod_CFLAGS): Likewise.
21007 (echo_mod_LDFLAGS): Likewise.
21008
21009 2006-09-22 Marco Gerards <marco@gnu.org>
21010
21011 * normal/main.c (get_line): Malloc memory instead of using
21012 preallocated memory. Removed the arguments `cmdline' and
21013 `max_len'. Updated all callers.
21014
21015 2006-09-22 Marco Gerards <marco@gnu.org>
21016
21017 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21018 (normal_mod_DEPENDENCIES): Likewise.
21019
21020 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21021 (normal_mod_DEPENDENCIES): Likewise.
21022
21023 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21024
21025 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
21026
21027 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21028 programs.
21029 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21030 (normal_mod_DEPENDENCIES): Likewise.
21031 * conf/i386-pc.mk: Regenerate.
21032 * conf/i386-efi.mk: Likewise
21033 * conf/common.mk: Likewise.
21034 * conf/powerpc-ieee1275.mk: Likewise.
21035 * conf/sparc64-ieee1275.mk: Likewise.
21036
21037 2006-09-22 Robert Millan <rmh@aybabtu.com>
21038
21039 Sync with i386 version.
21040 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21041 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21042
21043 2006-09-21 Robert Millan <rmh@aybabtu.com>
21044
21045 Import from GRUB Legacy (lib/device.c):
21046 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21047 (init_device_map) [__linux__]: Add support for I2O devices.
21048
21049 2006-09-14 Marco Gerards <marco@gnu.org>
21050
21051 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21052 `-melf_i386'.
21053
21054 2006-09-14 Robert Millan <rmh@aybabtu.com>
21055
21056 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21057 /boot/grub/*.lst.
21058
21059 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
21060
21061 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21062 before adding it to device.map.
21063
21064 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
21065
21066 * genmk.rb: Let GCC generate dependencies the first time it
21067 compiles a file; using the -MD option.
21068 * conf/common.mk: Regenerate.
21069 * conf/i386-pc.mk: Likewise.
21070 * conf/i386-efi.mk: Likewise.
21071 * conf/powerpc-ieee1275.mk: Likewise.
21072 * conf/sparc64-ieee1275.mk: Likewise.
21073
21074 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21075
21076 Move the prototypes of grub_setjmp and grub_longjmp to
21077 cpu/setjmp.h, so that each architecture may specify different
21078 attributes.
21079
21080 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21081 (grub_longjmp): Likewise.
21082 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21083 (grub_longjmp): Likewise.
21084 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21085 (grub_longjmp): Likewise.
21086
21087 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21088 [!GRUB_UTIL] (grub_longjmp): Removed.
21089
21090 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21091
21092 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21093 "color!" method does not return any value.
21094
21095 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21096
21097 * include/grub/bitmap.h: New file.
21098
21099 * include/grub/i386/pc/vbeutil.h: Likewise.
21100
21101 * video/bitmap.c: Likewise.
21102
21103 * video/readers/tga.c: Likewise.
21104
21105 * video/i386/pc/vbeutil.c: Likewise.
21106
21107 * commands/videotest.c: Code cleanup and updated to reflect to new
21108 video API.
21109
21110 * term/gfxterm.c: Likewise.
21111
21112 * video/video.c: Likewise.
21113
21114 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21115 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21116 (bitmap_mod_SOURCES): New entry.
21117 (bitmap_mod_CFLAGS): Likewise.
21118 (bitmap_mod_LDFLAGS): Likewise.
21119 (tga_mod_SOURCES): Likewise.
21120 (tga_mod_CFLAGS): Likewise.
21121 (tga_mod_LDFLAGS): Likewise.
21122
21123 * include/grub/video.h (grub_video_blit_operators): New enum type.
21124 (grub_video_render_target): Changed as forward declaration and moved
21125 actual definition to be video driver specific.
21126 (grub_video_adapter.blit_bitmap): Added blitting operator.
21127 (grub_video_adapter.blit_render_target): Likewise.
21128 (grub_video_blit_bitmap): Likewise.
21129 (grub_video_blit_render_target): Likewise.
21130
21131 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21132 driver specific render target definition.
21133 (grub_video_vbe_map_rgba): Added driver internal helper.
21134 (grub_video_vbe_unmap_color): Updated to use
21135 grub_video_i386_vbeblit_info.
21136 (grub_video_vbe_get_video_ptr): Likewise.
21137
21138 * include/grub/i386/pc/vbeblit.h
21139 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21140 grub_video_i386_vbeblit_info.
21141 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21142 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21143 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21144 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21145 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21146 (grub_video_i386_vbeblit_index_index): Likewise.
21147 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21148 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21149 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21150 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21151 operator.
21152 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21153 operator.
21154
21155 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21156 include/grub/i386/pc/vbeblit.h.
21157
21158 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21159 Updated to use grub_video_i386_vbeblit_info.
21160 (grub_video_i386_vbefill_R8G8B8): Likewise.
21161 (grub_video_i386_vbefill_index): Likewise.
21162 (grub_video_i386_vbefill): Added generic filler.
21163
21164 * video/i386/pc/vbefill.c: Updated to reflect changes on
21165 include/grub/i386/pc/vbefill.h.
21166
21167 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21168 grub_video_i386_vbeblit_info.
21169 (grub_video_vbe_unmap_color): Likewise.
21170 (grub_video_vbe_blit_glyph): Likewise.
21171 (grub_video_vbe_scroll): Likewise.
21172 (grub_video_vbe_draw_pixel): Removed function.
21173 (grub_video_vbe_get_pixel): Likewise.
21174 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21175 updated code to use it.
21176 (common_blitter): Added common blitter for render target and bitmap.
21177 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21178 (grub_video_vbe_blit_render_target): Likewise.
21179
21180 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
21181
21182 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21183 is in text mode if there is no console control protocol instance
21184 available.
21185
21186 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21187
21188 * include/grub/video.h: Code cleanup.
21189
21190 * include/grub/i386/pc/vbe.h: Likewise.
21191
21192 * video/i386/pc/vbe.c: Likewise.
21193
21194 * video/i386/pc/vbeblit.c: Likewise.
21195
21196 * video/i386/pc/vbefill.c: Likewise.
21197
21198 * video/video.c: Likewise. Also added more comments.
21199
21200 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21201
21202 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21203 (struct grub_biosdisk_dap): Likewise.
21204
21205 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21206 linkage settings for all functions.
21207
21208 2006-07-12 Marco Gerards <marco@gnu.org>
21209
21210 * configure.ac (--enable-mm-debug): Fix typo.
21211
21212 * genkernsyms.sh.in: Use proper quoting for `CC'.
21213
21214 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
21215
21216 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
21217 (normal_mod_ASFLAGS): Remove "-m32".
21218
21219 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
21220
21221 * util/misc.c: Include config.h.
21222 [!HAVE_MEMALIGN]: Do not include malloc.h.
21223 (grub_memalign): Use posix_memalign, if present. Then, use
21224 memalign, if present. Otherwise, emit an error.
21225
21226 * util/grub-emu.c: Do not include malloc.h.
21227
21228 * include/grub/util/misc.h: Include unistd.h. This is required for
21229 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
21230 D. Eades III <hde@foobar-qux.org>.
21231
21232 * configure.ac (AC_GNU_SOURCE): Added.
21233 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
21234 type.
21235
21236 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
21237
21238 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
21239 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
21240
21241 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
21242
21243 * include/grub/types.h (grub_host_addr_t): Rename to
21244 grub_target_addr_t.
21245 (grub_host_off_t): Rename to grub_target_off_t.
21246 (grub_host_size_t): Rename to grub_target_size_t.
21247 (grub_host_ssize_t): Rename to grub_target_ssize_t.
21248 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
21249
21250 * include/grub/kernel.h (struct grub_module_header): Change type
21251 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
21252 (grub_module_info): Likewise.
21253
21254 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21255
21256 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
21257 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
21258 Velazquez <jesus.velazquez@gmail.com>.
21259
21260 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21261
21262 Count partitions from 1 instead of 0 in the string representation
21263 of partitions. Still use 0-based internally.
21264
21265 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
21266 (sun_partition_map_iterate): Use grub_partition_t instead of
21267 struct grub_partition *. Cast DESC->START_CYLINDER to
21268 grub_uint64_t after converting the endian.
21269 (sun_partition_map_probe): Subtract 1 for PARTNUM.
21270 (sun_partition_map_get_name): Add 1 to P->INDEX.
21271
21272 * partmap/pc.c (grub_partition_parse): Subtract 1 for
21273 PCDATA->DOS_PART.
21274 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
21275
21276 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
21277 zero instead of one.
21278 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
21279 (gpt_partition_map_get_name): Add 1 into P->INDEX.
21280
21281 * partmap/apple.c (apple_partition_map_iterate): Change the type
21282 of POS to unsigned.
21283 (apple_partition_map_probe): Subtract 1 for PARTNUM.
21284 (apple_partition_map_get_name): Add 1 into P->INDEX.
21285
21286 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
21287 of POS to unsigned.
21288 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
21289 calculate the offset of a partition.
21290 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
21291 (amiga_partition_map_get_name): Add 1 into P->INDEX.
21292
21293 * partmap/acorn.c (acorn_partition_map_find): Change the type of
21294 SECTOR to grub_disk_addr_t.
21295 (acorn_partition_map_iterate): Likewise.
21296 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
21297 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
21298 top.
21299 (acorn_partition_map_get_name): Add 1 into P->INDEX.
21300
21301 * kern/i386/pc/init.c (make_install_device): Add 1 into
21302 GRUB_INSTALL_DOS_PART.
21303
21304 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
21305 conditional.
21306
21307 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21308
21309 Clean up the code to support 64-bit addressing in disks and
21310 files. This change is not enough for filesystems yet.
21311
21312 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
21313 type of "start" to grub_uint64_t.
21314 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
21315 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
21316 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
21317 convert addresses.
21318
21319 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
21320 to grub_disk_addr_t.
21321
21322 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
21323 string.
21324
21325 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21326
21327 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
21328 to char *.
21329
21330 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
21331
21332 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
21333
21334 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
21335
21336 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
21337 to grub_off_t, to detect an error from grub_file_seek.
21338 (grub_multiboot_load_elf32): Likewise.
21339
21340 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
21341 maximum unsigned long value when an overflow is detected.
21342 (grub_strtoull): New function.
21343 (grub_divmod64): Likewise.
21344 (grub_lltoa): use grub_divmod64.
21345
21346 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
21347 grub_disk_addr_t.
21348 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
21349 the pointer to next character. Use grub_strtoull instead of
21350 grub_strtoul.
21351 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
21352 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
21353 respectively.
21354
21355 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
21356 return value is signed.
21357 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
21358 test if OFFSET is less than zero, as OFFSET is unsigned now.
21359
21360 * kern/disk.c (struct grub_disk_cache): Change the type of
21361 "sector" to grub_disk_addr_t.
21362 (grub_disk_cache_get_index): Change the type of SECTOR to
21363 grub_disk_addr_t. Calculate the hash with SECTOR casted to
21364 unsigned after shifting.
21365 (grub_disk_cache_invalidate): Change the type of SECTOR to
21366 grub_disk_addr_t.
21367 (grub_disk_cache_unlock): Likewise.
21368 (grub_disk_cache_store): Likewise.
21369 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
21370 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
21371 grub_disk_addr_t and grub_uint64_t, respectively.
21372 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
21373 body, as the value of OFFSET is tweaked by
21374 grub_disk_check_range. Change the types of START_SECTOR, LEN and
21375 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
21376 respectively.
21377 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
21378 body, as the value of OFFSET is tweaked by
21379 grub_disk_check_range. Change the types of LEN and N to
21380 grub_size_t.
21381
21382 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
21383 and "saved_offset" to grub_off_t.
21384 (test_header): Cast BUF to char *.
21385 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
21386 to char *.
21387 (grub_gzio_read): Change the types of OFFSET and SIZE to
21388 grub_off_t and grub_size_t, respectively.
21389
21390 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
21391 Removed.
21392 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
21393 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
21394 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
21395 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
21396 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
21397
21398 * include/grub/types.h (grub_off_t): Unconditionally set to
21399 grub_uint64_t.
21400 (grub_disk_addr_t): Changed to grub_uint64_t.
21401
21402 * include/grub/partition.h (struct grub_partition): Change the
21403 types of "start", "len" and "offset" to grub_disk_addr_t,
21404 grub_uint64_t and grub_disk_addr_t, respectively.
21405 (grub_partition_get_start): Return grub_disk_addr_t.
21406 (grub_partition_get_len): Return grub_uint64_t.
21407
21408 * include/grub/misc.h (grub_strtoull): New prototype.
21409 (grub_divmod64): Likewise.
21410
21411 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
21412 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
21413 grub_off_t, respectively.
21414 All callers and references changed.
21415
21416 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
21417 grub_size_t in "read".
21418 All callers and references changed.
21419
21420 * include/grub/file.h (struct grub_file): Change the types of
21421 "offset" and "size" to grub_off_t and grub_off_t,
21422 respectively. Change the type of SECTOR to grub_disk_addr_t in
21423 "read_hook".
21424 (grub_file_read): Change the type of LEN to grub_size_t.
21425 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
21426 grub_off_t.
21427 (grub_file_size): Return grub_off_t.
21428 (grub_file_tell): Likewise.
21429 All callers and references changed.
21430
21431 * include/grub/disk.h (struct grub_disk_dev): Change the types of
21432 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
21433 "write".
21434 (struct grub_disk): Change the type of "total_sectors" to
21435 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
21436 "read_hook".
21437 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
21438 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
21439 (grub_disk_write): Likewise.
21440 All callers and references changed.
21441
21442 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
21443 char * for grub_strncmp to silence gcc.
21444 (grub_iso9660_mount): Likewise.
21445 (grub_iso9660_mount): Likewise.
21446 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
21447 return statement.
21448 (grub_iso9660_iterate_dir): Likewise.
21449 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
21450
21451 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
21452 LEN to grub_disk_addr_t and grub_size_t, respectively.
21453
21454 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21455
21456 * fs/jfs.c (grub_jfs_read_file): Likewise.
21457
21458 * fs/minix.c (grub_jfs_read_file): Likewise.
21459
21460 * fs/sfs.c (grub_jfs_read_file): Likewise.
21461
21462 * fs/ufs.c (grub_jfs_read_file): Likewise.
21463
21464 * fs/xfs.c (grub_jfs_read_file): Likewise.
21465
21466 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
21467 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
21468 respectively.
21469
21470 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
21471 BLKNR to -1 instead of returning GRUB_ERRNO.
21472 (grub_ext2_read_file): Change the types of SECTOR and
21473 LEN to grub_disk_addr_t and grub_size_t, respectively.
21474
21475 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
21476 LEN to grub_disk_addr_t and grub_size_t, respectively.
21477
21478 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
21479 grub_file_read.
21480
21481 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
21482 string. Do not cast SECTOR explicitly.
21483
21484 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
21485 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
21486 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
21487 grub_disk_addr_t and grub_size_t, respectively. If the sector is
21488 over 2TB and LBA mode is not supported, raise an error.
21489 (get_safe_sectors): New function.
21490 (grub_biosdisk_read): Use get_safe_sectors.
21491 (grub_biosdisk_write): Likewise.
21492
21493 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
21494 (grub_efidisk_write): Likewise.
21495
21496 * disk/loopback.c (delete_loopback): Cosmetic changes.
21497 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
21498 correctly.
21499 (grub_loopback_open): Likewise.
21500 (grub_loopback_read): Likewise. Also, change the type of POS to
21501 grub_off_t, and fix the usage of grub_memset.
21502
21503 * commands/i386/pc/play.c: Include grub/machine/time.h.
21504
21505 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
21506 print FILE->SIZE.
21507
21508 * commands/configfile.c: Include grub/env.h.
21509
21510 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
21511 GRUB_ERRNO directly instead. Change the type of POS to
21512 grub_off_t. Follow the coding standard.
21513
21514 * commands/blocklist.c: Include grub/partition.h.
21515 (grub_cmd_blocklist): Return an error if the underlying device is
21516 not a disk. Take the starting sector of a partition into account,
21517 if a partition is used.
21518
21519 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
21520 a length field.
21521 (lba_mode): Support 64-bit addresses.
21522 (chs_mode): Likewise.
21523 (copy_buffer): Adapted to the new offsets of a length field and a
21524 segment field.
21525 (blocklist_default_start): Allocate 64-bit space.
21526
21527 * boot/i386/pc/boot.S (force_lba): Removed.
21528 (boot_drive): Moved to under KERNEL_SECTOR.
21529 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
21530 space.
21531 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
21532 is useless.
21533 (lba_mode): Refactored to support a 64-bit address. More size
21534 optimization.
21535 (setup_sectors): Likewise.
21536
21537 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21538
21539 * DISTLIST: Added include/grub/i386/linux.h. Removed
21540 include/grub/i386/pc/linux.h
21541
21542 * configure.ac (AC_INIT): Bumped to 1.94.
21543
21544 * config.guess: Updated from gnulib.
21545 * config.sub: Likewise.
21546 * install-sh: Likewise.
21547 * mkinstalldirs: Likewise.
21548
21549 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21550
21551 * conf/common.rmk (grub_modules_init.lst): Depended on
21552 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
21553 MODSRCFILES.
21554
21555 * genmk.rb (PModule::rule): Reverted the previous change.
21556
21557 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21558
21559 * conf/common.rmk (grub_modules_init.lst): Depends on
21560 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
21561 that the target does not exist before producing.
21562 (grub_modules_init.h): Remove the target before generating.
21563 (grub_emu_init.c): Likewise.
21564
21565 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
21566
21567 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
21568
21569 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
21570 for the target-specific tests. Make sure that we also have the
21571 up-to-date target variables for those tests.
21572
21573 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21574
21575 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
21576 (PModule::rule): Likewise.
21577
21578 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21579
21580 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
21581 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
21582 target-specific flags should be prefixed.
21583 (PModule::rule): Likewise.
21584
21585 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
21586
21587 * configure.ac (CMP): Check if cmp is available explicitly.
21588
21589 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
21590
21591 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
21592 (target_cpu): New variable.
21593 (pkglibdir): Use target_cpu instead of host_cpu.
21594
21595 * util/i386/pc/grub-install.in (host_cpu): Removed.
21596 (target_cpu): New variable.
21597 (pkglibdir): Use target_cpu instead of host_cpu.
21598
21599 * util/genmoddep.c: Removed.
21600
21601 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
21602 instead of GRUB_HOST_SIZEOF_VOID_P.
21603 * kern/dl.c: Likewise.
21604
21605 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
21606 ...
21607 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21608 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21609 (GRUB_TARGET_SIZEOF_LONG): ... this.
21610 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21611 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21612 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21613 to ...
21614 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21615 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21616 (GRUB_TARGET_SIZEOF_LONG): ... this.
21617 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21618 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21619 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21620 to ...
21621 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21622 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21623 (GRUB_TARGET_SIZEOF_LONG): ... this.
21624 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21625 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21626
21627 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
21628 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
21629 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
21630 instead of GRUB_HOST_SIZEOF_LONG.
21631 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
21632 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
21633 GRUB_CPU_WORDS_BIGENDIAN.
21634 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
21635 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
21636 grub_host_ssize_t.
21637
21638 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
21639 (genmoddep_SOURCES): Likewise.
21640 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
21641 (genmoddep_SOURCES): Likewise.
21642 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
21643 (genmoddep_SOURCES): Likewise.
21644 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
21645 Likewise.
21646 (genmoddep_SOURCES): Likewise.
21647
21648 * genmoddep.awk: New file.
21649
21650 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
21651 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
21652 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
21653 (PModule::rule): Likewise.
21654 (Program::rule): Likewise.
21655 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
21656 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
21657 respectively.
21658
21659 * configure.ac: Rewritten intensively to use host and target
21660 instead of build and host, respectively.
21661
21662 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
21663 (host_cpu): Removed.
21664 (target_cpu): New variable.
21665 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
21666 (BUILD_CC): Removed.
21667 (BUILD_CFLAGS): Likewise.
21668 (BUILD_CPPFLAGS): Likewise.
21669 (TARGET_CC): New variable.
21670 (TARGET_CFLAGS): Likewise.
21671 (TARGET_CPPFLAGS): Likewise.
21672 (TARGET_LDFLAGS): Likewise.
21673 (AWK): Likewise.
21674 (include): Use target_cpu instead of host_cpu.
21675 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
21676
21677 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
21678
21679 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
21680
21681 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
21682 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
21683 field 'false' to 'exec_on_false'.
21684 (grub_script_create_cmdif): Renamed argument names to reflect above
21685 changes.
21686
21687 * normal/execute.c (grub_script_execute_cmdif): Likewise.
21688
21689 * normal/script.c (grub_script_create_cmdif): Likewise.
21690
21691 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
21692
21693 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
21694 top.
21695 (grub_hfsplus_btree_recptr): Likewise.
21696 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
21697 FILEBLOCK both to pass a block number and store next block
21698 number.
21699 (grub_hfsplus_read_block): Rewritten heavily to support an extent
21700 overflow file correctly. Specify errors appropriately, because
21701 fshelp expects that GRUB_ERRNO is set when fails. Reuse
21702 grub_hfsplus_btree_recptr to get the pointer to a found key.
21703 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
21704 is found.
21705
21706 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
21707 linux.mod.
21708 (_linux_mod_SOURCES): New variable.
21709 (_linux_mod_CFLAGS): Likewise.
21710 (_linux_mod_LDFLAGS): Likewise.
21711 (linux_mod_SOURCES): Likewise.
21712 (linux_mod_CFLAGS): Likewise.
21713 (linux_mod_LDFLAGS): Likewise.
21714
21715 * DISTLIST: Added loader/i386/efi/linux.c,
21716 loader/i386/efi/linux_normal.c and
21717 include/grub/i386/efi/loader.h.
21718
21719 * loader/i386/efi/linux.c: New file.
21720 * loader/i386/efi/linux_normal.c: Likewise.
21721 * include/grub/i386/efi/loader.h: Likewise.
21722
21723 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
21724
21725 * commands/blocklist.c: New file.
21726
21727 * DISTLIST: Added commands/blocklist.c.
21728
21729 * term/efi/console.c (grub_console_highlight_color): Use a lighter
21730 color for the background, and a darker color for the foreground.
21731 (grub_console_checkkey): Return READ_KEY.
21732 (grub_console_cls): Set the background to
21733 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
21734
21735 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
21736
21737 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
21738 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
21739
21740 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
21741 prototype.
21742
21743 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
21744 BG. The spec is wrong again.
21745
21746 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
21747 prototype.
21748 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
21749
21750 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21751 commands/blocklist.c.
21752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21753
21754 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
21755 (blocklist_mod_SOURCES): New variable.
21756 (blocklist_mod_CFLAGS): Likewise.
21757 (blocklist_mod_LDFLAGS): Likewise.
21758
21759 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
21760
21761 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
21762 duplication.
21763 (lba_mode): Use %eax more intensively to reduce the code size.
21764
21765 2006-05-20 Marco Gerards <marco@gnu.org>
21766
21767 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
21768
21769 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
21770 for `menuentry'.
21771 (script): Accept leading newlines.
21772 (newlines): New rule to describe 0 or more newlines.
21773 (commands): Accept `command' with trailing newline. Fixed the
21774 order in which arguments were passed to `grub_script_add_cmd'.
21775 Accept commands separated by newlines.
21776 (function): Changed to accept newlines.
21777 (menuentry) Rewritten.
21778
21779 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
21780 front of the list, instead of to the end.
21781
21782 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
21783
21784 * util/i386/pc/grub-install.in (bindir): New variable.
21785 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
21786 Shaver <lbgwjl@gmail.com>.
21787
21788 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
21789
21790 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
21791 grub/machine/linux.h
21792 * loader/i386/pc/linux.c: Likewise.
21793
21794 * include/grub/i386/pc/linux.h: Moved to ...
21795 * include/grub/i386/linux.h: ... here.
21796
21797 * include/grub/i386/linux.h (struct linux_kernel_params): New
21798 struct.
21799
21800 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
21801
21802 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
21803 checking.
21804 (grub_video_vbe_blit_glyph): Likewise.
21805 (grub_video_vbe_blit_bitmap): Likewise.
21806 (grub_video_vbe_blit_render_target): Likewise.
21807
21808 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
21809
21810 * configure.ac (--with-platform): Properly quote the square
21811 brackets.
21812
21813 2006-05-08 Marco Gerards <marco@gnu.org>
21814
21815 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
21816 this...
21817 (kernel_elf_HEADERS): ...to this. Updated all users.
21818 (grubof_symlist.c): Renamed from this...
21819 (kernel_elf_symlist.c): ...to this. Updated all users.
21820 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21821 (grubof_SOURCES): Renamed from this...
21822 (kernel_elf_SOURCES): ...to this.
21823 (grubof_HEADERS): Renamed from this...
21824 (kernel_elf_HEADERS): ...to this.
21825 (grubof_CFLAGS): Renamed from this...
21826 (kernel_elf_CFLAGS): ...to this.
21827 (grubof_ASFLAGS): Renamed from this...
21828 (kernel_elf_ASFLAGS): ...to this.
21829 (grubof_LDFLAGS): Renamed from this...
21830 (kernel_elf_LDFLAGS): ...to this.
21831
21832 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
21833 this...
21834 (kernel_elf_HEADERS): ...to this. Updated all users.
21835 (grubof_symlist.c): Renamed from this...
21836 (kernel_elf_symlist.c): ...to this. Updated all users.
21837 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21838 (grubof_SOURCES): Renamed from this...
21839 (kernel_elf_SOURCES): ...to this.
21840 (grubof_HEADERS): Renamed from this...
21841 (kernel_elf_HEADERS): ...to this.
21842 (grubof_CFLAGS): Renamed from this...
21843 (kernel_elf_CFLAGS): ...to this.
21844 (grubof_ASFLAGS): Renamed from this...
21845 (kernel_elf_ASFLAGS): ...to this.
21846 (grubof_LDFLAGS): Renamed from this...
21847 (kernel_elf_LDFLAGS): ...to this.
21848
21849 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
21850 `kernel.elf' instead of `grubof'.
21851
21852 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
21853
21854 Add --with-platform to configure. Use pkglibdir instead of
21855 pkgdatadir. This is reported by Roger Leigh.
21856
21857 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
21858 (host_vendor): Likewise.
21859 (host_os): Likewise.
21860 (pkgdatadir): Likewise.
21861 (platform): New variable.
21862 (pkglibdir): Likewise.
21863 Use PKGLIBDIR instead of PKGDATADIR.
21864
21865 * util/i386/pc/grub-install.in (datadir): Removed.
21866 (host_vendor): Likewise.
21867 (host_os): Likewise.
21868 (pkgdatadir): Likewise.
21869 (platform): New variable.
21870 (pkglibdir): Likewise.
21871 Use PKGLIBDIR instead of PKGDATADIR.
21872
21873 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
21874 instead of GRUB_DATADIR.
21875 (main): Likewise.
21876 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21877 (main): Likewise.
21878 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21879 (main): Likewise.
21880
21881 * configure.ac (--with-platform): New option.
21882 Use PLATFORM instead of HOST_VENDOR to specify a platform.
21883
21884 * Makefile.in: Include a makefile based on PLATFORM instead of
21885 HOST_VENDOR.
21886 (pkgdatadir): Not appended by the machine type.
21887 (pkglibdir): Appended by the machine type.
21888 (host_vendor): Removed.
21889 (platform): New variable.
21890 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
21891 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
21892 (uninstall): Likewise.
21893
21894 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
21895
21896 Use the environment context in the menu. Remove the commands
21897 "default" and "timeout", and use variables instead.
21898
21899 * normal/menu.c: Include grub/env.h.
21900 (print_entry): Cast TITLE to silence gcc.
21901 (get_timeout): New function.
21902 (set_timeout): Likewise.
21903 (get_entry_number): Likewise.
21904 (run_menu): Use a default entry, a fallback entry and a timeout
21905 in the environment variables "default", "fallback" and
21906 "timeout". Also, tweak the default entry if it is not within the
21907 current menu entries.
21908 (grub_menu_run): Use a fallback entry in the environment variable
21909 "fallback".
21910
21911 * normal/main.c (read_config_file): Do not initialize
21912 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
21913 NEWMENU->TIMEOUT.
21914 (grub_normal_execute): Use a data slot to store the menu.
21915
21916 * include/grub/normal.h (struct grub_menu): Removed default_entry,
21917 fallback_entry and timeout.
21918 (struct grub_menu_list): Removed.
21919 (grub_menu_list_t): Likewise.
21920 (struct grub_context): Likewise.
21921 (grub_context_t): Likewise.
21922 (grub_context_get): Likewise.
21923 (grub_context_get_current_menu): Likewise.
21924 (grub_context_push_menu): Likewise.
21925 (grub_context_pop_menu): Likewise.
21926 (grub_default_init): Likewise.
21927 (grub_default_fini): Likewise.
21928 (grub_timeout_init): Likewise.
21929 (grub_timeout_fini): Likewise.
21930
21931 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
21932 and timeout.mod.
21933 (normal_mod_SOURCES): Removed normal/context.c.
21934
21935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
21936 commands/default.c, commands/timeout.c and normal/context.c.
21937 (normal_mod_SOURCES): Removed normal/context.c.
21938
21939 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
21940 commands/timeout.c and normal/context.c.
21941 (normal_mod_SOURCES): Removed normal/context.c.
21942
21943 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
21944 commands/default.c, commands/timeout.c and normal/context.c.
21945 (normal_mod_SOURCES): Removed normal/context.c.
21946
21947 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
21948 timeout.mod.
21949 (default_mod_SOURCES): Removed.
21950 (default_mod_CFLAGS): Likewise.
21951 (default_mod_LDFLAGS): Likewise.
21952 (timeout_mod_SOURCES): Removed.
21953 (timeout_mod_CFLAGS): Likewise.
21954 (timeout_mod_LDFLAGS): Likewise.
21955
21956 * DISTLIST: Removed commands/default.c, commands/timeout.c and
21957 normal/context.c.
21958
21959 * commands/default.c: Removed.
21960 * commands/timeout.c: Likewise.
21961 * normal/context.c: Likewise.
21962
21963 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
21964
21965 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
21966
21967 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
21968
21969 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
21970 "next" to "prev" for readability.
21971 (struct grub_env_sorted_var): New struct.
21972 (grub_env_context): Renamed to ...
21973 (initial_context): ... this.
21974 (grub_env_var_context): Renamed to ...
21975 (current_context): ... this.
21976 (grub_env_find): Look only at CURRENT_CONTEXT.
21977 (grub_env_context_open): Rewritten to copy exported variables from
21978 previous context.
21979 (grub_env_context_close): Rewritten according to the new
21980 scheme. Also, add an assertion to prevent the initial context from
21981 removed.
21982 (grub_env_insert): Removed the code for the sorted list.
21983 (grub_env_remove): Likewise.
21984 (grub_env_export): Simply mark the variable with
21985 GRUB_ENV_VAR_GLOBAL.
21986 (grub_env_set): A cosmetic change for naming consistency.
21987 (grub_env_get): Likewise.
21988 (grub_env_unset): Likewise.
21989 (grub_env_iterate): Rewritten to sort variables within this
21990 function.
21991 (grub_register_variable_hook): Fixed for naming consistency. Call
21992 grub_env_find again, only if NAME is not found at the first time.
21993 (mangle_data_slot_name): New function.
21994 (grub_env_set_data_slot): Likewise.
21995 (grub_env_get_data_slot): Likewise.
21996 (grub_env_unset_data_slot): Likewise.
21997
21998 * include/grub/env.h (grub_env_var_type): New enum.
21999 (GRUB_ENV_VAR_LOCAL): New constant.
22000 (GRUB_ENV_VAR_GLOBAL): Likewise.
22001 (GRUB_ENV_VAR_DATA): Likewise.
22002 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22003 "type".
22004 (grub_env_set): Replace VAR with NAME for consistency.
22005 (grub_register_variable_hook): Likewise.
22006 (grub_env_export): Specify the name of the argument.
22007 (grub_env_set_data_slot): New prototype.
22008 (grub_env_get_data_slot): Likewise.
22009 (grub_env_unset_data_slot): Likewise.
22010
22011 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22012
22013 Extend the loader so that GRUB can accept a loader which comes
22014 back to GRUB when a loaded image exits. Also, this change adds
22015 support for a chainloader on EFI.
22016
22017 * term/efi/console.c: Include grub/misc.h.
22018 (grub_console_checkkey): Display a scan code on the top for
22019 debugging. This will be removed once the EFI port gets stable.
22020 Correct the scan code mapping.
22021
22022 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22023 allocate memory from larger regions, in order to reduce the number
22024 of allocated regions. Otherwise, the MacOSX loader panics.
22025 (filter_memory_map): Avoid less than 1MB for compatibility with
22026 other loaders.
22027 (add_memory_regions): Allocate from the tail of a region, if
22028 possible, to avoid allocating a region near to 1MB, for the MacOSX
22029 loader.
22030
22031 * kern/efi/init.c (grub_efi_set_prefix): Specify
22032 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22033
22034 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22035 argument IMAGE_HANDLE and specify it to get a loaded image.
22036 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22037 grub_efi_get_loaded_image.
22038 (grub_efi_get_filename): Divide the length by the size of
22039 grub_efi_char16_t.
22040 (grub_efi_get_device_path): New function.
22041 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22042 the length by the size of grub_efi_char16_t for a file path device
22043 path node.
22044
22045 * kern/loader.c (grub_loader_noreturn): New variable.
22046 (grub_loader_set): Accept a new argument NORETURN. Set
22047 GRUB_LOADER_NORETURN to NORETURN.
22048 All callers changed.
22049 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22050 grub_machine_fini.
22051
22052 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22053 prototype.
22054 (grub_efi_get_loaded_image): Take an argument to specify an image
22055 handle.
22056
22057 * include/grub/loader.h (grub_loader_set): Added one more argument
22058 NORETURN.
22059
22060 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22061 instead of grub_efi_open_protocol.
22062 (grub_efidisk_get_device_name): Likewise.
22063 (grub_efidisk_close): Print a newline.
22064 (grub_efidisk_get_device_handle): Fixed to use
22065 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22066 GRUB_EFI_DEVICE_PATH_TYPE.
22067
22068 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22069 * kern/efi/efi.c (device_path_guid): ... here.
22070
22071 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22072 chain.mod.
22073 (kernel_mod_HEADERS): Added efi/disk.h.
22074 (_chain_mod_SOURCES): New variable.
22075 (_chain_mod_CFLAGS): Likewise.
22076 (_chain_mod_LDFLAGS): Likewise.
22077 (chain_mod_SOURCES): Likewise.
22078 (chain_mod_CFLAGS): Likewise.
22079 (chain_mod_LDFLAGS): Likewise.
22080
22081 * DISTLIST: Added include/grub/efi/chainloader.h,
22082 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22083
22084 * include/grub/efi/chainloader.h: New file.
22085 * loader/efi/chainloader.c: Likewise.
22086 * loader/efi/chainloader_normal.c: Likewise.
22087
22088 2006-04-30 Marco Gerards <marco@gnu.org>
22089
22090 * commands/configfile.c (grub_cmd_source): New function.
22091 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22092 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22093
22094 2006-04-30 Marco Gerards <marco@gnu.org>
22095
22096 * normal/execute.c (grub_script_execute_cmd): Change the return
22097 type to `grub_err_t'. Correctly return the error.
22098 (grub_script_execute_cmdline): In case a command line is not a
22099 command or a function, try to interpret it as an assignment.
22100
22101 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22102
22103 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22104 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22105 skip a node whose name is obviously invalid as UTF-16,
22106 i.e. contains a NUL character. Stop the iteration when the last
22107 directory entry is found. Instead of using the return value of
22108 grub_hfsplus_btree_iterate_node, store the value in RET and use
22109 it, because the iterator can be stopped by the last directory
22110 entry.
22111
22112 2006-04-30 Marco Gerards <marco@gnu.org>
22113
22114 * include/grub/env.h (grub_env_export): New prototype. Reported
22115 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22116
22117 2006-04-30 Marco Gerards <marco@gnu.org>
22118
22119 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22120 size of the extents in a catalog file record.
22121
22122 2006-04-29 Marco Gerards <marco@gnu.org>
22123
22124 * commands/configfile.c (grub_cmd_configfile): Execute the
22125 configfile within its own context.
22126
22127 * include/grub/env.h (grub_env_context_open): New prototype.
22128 (grub_env_context_close): Likewise.
22129
22130 * kern/env.c (grub_env): Removed.
22131 (grub_env_sorted): Likewise.
22132 (grub_env_context): New variable.
22133 (grub_env_var_context): Likewise.
22134 (grub_env_find): Search both the active context and the global
22135 context.
22136 (grub_env_context_open): New function.
22137 (grub_env_context_close): Likewise.
22138 (grub_env_insert): Likewise.
22139 (grub_env_remove): Likewise.
22140 (grub_env_export): Likewise.
22141 (grub_env_set): Changed to use helper functions to avoid code
22142 duplication.
22143 (grub_env_iterate): Rewritten so both the current context and the
22144 global context are being used.
22145
22146 * normal/command.c (export_command): New function.
22147 (grub_command_init): Register the `export' function.
22148
22149 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22150
22151 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22152 explicitly to suppress gcc's warnings.
22153 * fs/fat.c (grub_fat_find_dir): Likewise.
22154 (grub_fat_label): Likewise.
22155 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22156 (grub_xfs_mount): Likewise.
22157 (grub_xfs_label): Likewise.
22158 * fs/affs.c (grub_affs_mount): Likewise.
22159 (grub_affs_label): Likewise.
22160 (grub_affs_iterate_dir): Likewise.
22161 * fs/sfs.c (grub_sfs_mount): Likewise.
22162 (grub_sfs_iterate_dir): Likewise.
22163 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22164 * fs/hfs.c (grub_hfs_mount): Likewise.
22165 (grub_hfs_cmp_catkeys): Likewise.
22166 (grub_hfs_find_dir): Likewise.
22167 (grub_hfs_dir): Likewise.
22168 (grub_hfs_label): Likewise.
22169 * fs/jfs.c (grub_jfs_mount): Likewise.
22170 (grub_jfs_opendir): Likewise.
22171 (grub_jfs_getent): Likewise.
22172 (grub_jfs_lookup_symlink): Likewise.
22173 (grub_jfs_label): Likewise.
22174 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22175 (grub_hfsplus_iterate_dir): Likewise.
22176 (grub_hfsplus_btree_iterate_node): Made static.
22177
22178 * util/grub-emu.c (prefix): New variable.
22179 (grub_machine_set_prefix): New function.
22180 (main): Do not set the environment variable "prefix" here. Only
22181 set PREFIX, which is used later by grub_machine_set_prefix.
22182
22183 * include/grub/video.h: Do not include grub/symbol.h.
22184 (grub_video_register): Not exported. This symbol is not defined in
22185 the kernel.
22186 (grub_video_unregister): Likewise.
22187 (grub_video_iterate): Likewise.
22188 (grub_video_setup): Likewise.
22189 (grub_video_restore): Likewise.
22190 (grub_video_get_info): Likewise.
22191 (grub_video_get_blit_format): Likewise.
22192 (grub_video_set_palette): Likewise.
22193 (grub_video_get_palette): Likewise.
22194 (grub_video_set_viewport): Likewise.
22195 (grub_video_get_viewport): Likewise.
22196 (grub_video_map_color): Likewise.
22197 (grub_video_map_rgb): Likewise.
22198 (grub_video_map_rgba): Likewise.
22199 (grub_video_fill_rect): Likewise.
22200 (grub_video_blit_glyph): Likewise.
22201 (grub_video_blit_bitmap): Likewise.
22202 (grub_video_blit_render_target): Likewise.
22203 (grub_video_scroll): Likewise.
22204 (grub_video_swap_buffers): Likewise.
22205 (grub_video_create_render_target): Likewise.
22206 (grub_video_delete_render_target): Likewise.
22207 (grub_video_set_active_render_target): Likewise.
22208
22209 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22210 Undefined.
22211 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22212
22213 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
22214 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22215 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22216 instead of $(srcdir)/genkernsyms.sh.
22217
22218 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
22219 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22220 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22221 instead of $(srcdir)/genkernsyms.sh.
22222
22223 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
22224 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22225 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22226 instead of $(srcdir)/genkernsyms.sh.
22227
22228 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
22229 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22230 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22231 instead of $(srcdir)/genkernsyms.sh.
22232
22233 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
22234 genkernsyms.sh.
22235
22236 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
22237 genkernsyms.sh.
22238 (gensymlist.sh): New target.
22239 (genkernsyms.sh): Likewise.
22240
22241 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
22242 genkernsyms.sh.in and gensymlist.sh.in.
22243
22244 * genkernsyms.sh: Removed.
22245 * gensymlist.sh: Likewise.
22246
22247 * genkernsyms.sh.in: New file.
22248 * gensymlist.sh.in: Likewise.
22249
22250 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22251
22252 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
22253 clobber "prefix", since we may have already set it manually.
22254
22255 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22256
22257 * kern/misc.c (abort): New alias for grub_abort.
22258
22259 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
22260
22261 A new machine-specific function "grub_machine_set_prefix" is
22262 defined. This is called after loading modules, so that a prefix
22263 initialization can use modules. Also, this change adds an
22264 intensive debugging feature for the memory manager via the
22265 configure option "--enable-mm-debug".
22266
22267 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
22268 PART.LEN.
22269
22270 * kern/sparc64/ieee1275/init.c (abort): Removed.
22271 (grub_stop): Likewise.
22272 (grub_exit): New function.
22273 (grub_set_prefix): Renamed to ...
22274 (grub_machine_set_prefix): ... this.
22275 (grub_machine_init): Do not call grub_set_prefix.
22276
22277 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
22278 (grub_machine_set_prefix): ... this.
22279 (grub_machine_init): Do not call grub_set_prefix.
22280
22281 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
22282 (grub_machine_init): Do not set the prefix here.
22283
22284 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
22285
22286 * kern/efi/init.c: Include grub/mm.h.
22287 (grub_efi_set_prefix): New function.
22288
22289 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
22290 (grub_efi_get_filename): New function.
22291 (grub_print_device_path): Renamed to ...
22292 (grub_efi_print_device_path): ... this.
22293
22294 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
22295 [MM_DEBUG] (grub_realloc): Likewise.
22296 [MM_DEBUG] (grub_free): Likewise.
22297 [MM_DEBUG] (grub_memalign): Likewise.
22298 [MM_DEBUG] (grub_mm_debug): New variable.
22299 [MM_DEBUG] (grub_debug_malloc): New function.
22300 [MM_DEBUG] (grub_debug_free): New function.
22301 [MM_DEBUG] (grub_debug_realloc): New function.
22302 [MM_DEBUG] (grub_debug_memalign): New function.
22303
22304 * kern/misc.c (grub_abort): Print a newline to distinguish
22305 the message.
22306
22307 * kern/main.c (grub_main): Call grub_machine_set_prefix and
22308 grub_set_root_dev after loading modules. This is necessary when
22309 setting a prefix depends on modules.
22310
22311 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
22312 (grub_efi_print_device_path): ... this.
22313 (grub_efi_get_filename): New prototype.
22314 (grub_efi_set_prefix): Likewise.
22315
22316 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
22317 and grub/disk.h.
22318 (grub_efidisk_get_device_handle): New prototype.
22319 (grub_efidisk_get_device_name): Likewise.
22320
22321 * include/grub/mm.h: Include config.h.
22322 (MM_DEBUG): Removed.
22323 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
22324 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
22325 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
22326 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
22327 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
22328 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
22329 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
22330 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
22331 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
22332
22333 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
22334
22335 * disk/efi/efidisk.c: Include grub/partition.h.
22336 (iterate_child_devices): New function.
22337 (add_device): First, compare only last device path nodes, so that
22338 devices are sorted by the types.
22339 (grub_efidisk_get_device_handle): New function.
22340 (grub_efidisk_get_device_name): Likewise.
22341
22342 * configure.ac (--enable-mm-debug): New option to enable the
22343 memory manager debugging feature. This makes the binary much
22344 bigger, so is disabled by default.
22345
22346 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
22347
22348 Use grub_abort instead of grub_stop, and grub_exit must be
22349 define in each architecture now. Also, this change adds support
22350 for EFI disks.
22351
22352 * util/i386/pc/grub-probefs.c: Include grub/term.h.
22353 (grub_getkey): New function.
22354 (grub_term_get_current): Likewise.
22355
22356 * util/i386/pc/grub-setup.c: Include grub/term.h.
22357 (grub_getkey): New function.
22358 (grub_term_get_current): Likewise.
22359
22360 * util/misc.c (grub_stop): Renamed to ...
22361 (grub_exit): ... this.
22362
22363 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
22364 (grub_exit): ... this.
22365 (grub_machine_init): Use grub_abort instead of abort.
22366 (grub_stop): Removed.
22367
22368 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
22369 abort.
22370
22371 * kern/i386/pc/startup.S (grub_exit): New function.
22372 (cold_reboot): New label.
22373
22374 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
22375 (grub_efi_init): Call grub_efidisk_init.
22376 (grub_efi_fini): Call grub_efidisk_fini.
22377
22378 * kern/efi/efi.c: Include grub/mm.h.
22379 (grub_efi_console_control_guid): Renamed to ...
22380 (console_control_guid): ... this.
22381 (grub_efi_loaded_image_guid): Renamed to ...
22382 (loaded_image_guid): ... this.
22383 (grub_efi_locate_handle): New function.
22384 (grub_efi_open_protocol): Likewise.
22385 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
22386 GRUB_EFI_CONSOLE_CONTROL_GUID.
22387 (grub_efi_exit): Removed.
22388 (grub_stop): Likewise.
22389 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
22390 (grub_exit): New function.
22391 (grub_print_device_path): Likewise.
22392
22393 * kern/rescue.c (grub_rescue_cmd_exit): New function.
22394 (grub_enter_rescue_mode): Register "exit".
22395
22396 * kern/misc.c (grub_real_dprintf): A cosmetic change.
22397 (grub_abort): New function.
22398
22399 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
22400
22401 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
22402
22403 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
22404
22405 * include/grub/efi/efi.h (grub_efi_exit): Removed.
22406 (grub_print_device_path): New prototype.
22407 (grub_efi_locate_handle): Likewise.
22408 (grub_efi_open_protocol): Likewise.
22409
22410 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
22411 * disk/efi/efidisk.c: Likewise.
22412
22413 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
22414
22415 * include/grub/efi/console_control.h
22416 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
22417
22418 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
22419 last 8 bytes as an array.
22420 (GRUB_EFI_DISK_IO_GUID): New macro.
22421 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
22422 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
22423 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
22424 grub_uint8_t.
22425 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
22426 (struct grub_efi_device_path): Rename the member "sub_type" to
22427 "subtype".
22428 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
22429 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
22430 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
22431 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
22432 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
22433 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
22434 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
22435 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
22436 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
22437 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
22438 (struct grub_efi_pci_device_path): New structure.
22439 (grub_efi_pci_device_path_t): New type.
22440 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
22441 (struct grub_efi_pccard_device_path): New structure.
22442 (grub_efi_pccard_device_path_t): New type.
22443 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
22444 (struct grub_efi_memory_mapped_device_path): New structure.
22445 (grub_efi_memory_mapped_device_path_t): New type.
22446 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
22447 (struct grub_efi_vendor_device_path): New structure.
22448 (grub_efi_vendor_device_path_t): New type.
22449 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
22450 (struct grub_efi_controller_device_path): New structure.
22451 (grub_efi_controller_device_path_t): New type.
22452 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
22453 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
22454 (struct grub_efi_acpi_device_path): New structure.
22455 (grub_efi_acpi_device_path_t): New type.
22456 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
22457 (struct grub_efi_expanded_acpi_device_path): New structure.
22458 (grub_efi_expanded_acpi_device_path_t): New type.
22459 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
22460 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
22461 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
22462 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
22463 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
22464 (struct grub_efi_atapi_device_path): New structure.
22465 (grub_efi_atapi_device_path_t): New type.
22466 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
22467 (struct grub_efi_fibre_channel_device_path): New structure.
22468 (grub_efi_fibre_channel_device_path_t): New type.
22469 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
22470 (struct grub_efi_1394_device_path): New structure.
22471 (grub_efi_1394_device_path_t): New type.
22472 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
22473 (struct grub_efi_usb_device_path): New structure.
22474 (grub_efi_usb_device_path_t): New type.
22475 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
22476 (struct grub_efi_usb_class_device_path): New structure.
22477 (grub_efi_usb_class_device_path_t): New type.
22478 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
22479 (struct grub_efi_i2o_device_path): New structure.
22480 (grub_efi_i2o_device_path_t): New type.
22481 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
22482 (struct grub_efi_mac_address_device_path): New structure.
22483 (grub_efi_mac_address_device_path_t): New type.
22484 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
22485 (struct grub_efi_ipv4_device_path): New structure.
22486 (grub_efi_ipv4_device_path_t): New type.
22487 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
22488 (struct grub_efi_ipv6_device_path): New structure.
22489 (grub_efi_ipv6_device_path_t): New type.
22490 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
22491 (struct grub_efi_infiniband_device_path): New structure.
22492 (grub_efi_infiniband_device_path_t): New type.
22493 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
22494 (struct grub_efi_uart_device_path): New structure.
22495 (grub_efi_uart_device_path_t): New type.
22496 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
22497 (struct grub_efi_vendor_messaging_device_path): New structure.
22498 (grub_efi_vendor_messaging_device_path_t): New type.
22499 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
22500 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
22501 (struct grub_efi_hard_drive_device_path): New structure.
22502 (grub_efi_hard_drive_device_path_t): New type.
22503 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
22504 (struct grub_efi_cdrom_device_path): New structure.
22505 (grub_efi_cdrom_device_path_t): New type.
22506 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
22507 (struct grub_efi_vendor_media_device_path): New structure.
22508 (grub_efi_vendor_media_device_path_t): New type.
22509 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
22510 (struct grub_efi_file_path_device_path): New structure.
22511 (grub_efi_file_path_device_path_t): New type.
22512 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
22513 (struct grub_efi_protocol_device_path): New structure.
22514 (grub_efi_protocol_device_path_t): New type.
22515 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
22516 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
22517 (struct grub_efi_bios_device_path): New structure.
22518 (grub_efi_bios_device_path_t): New type.
22519 (struct grub_efi_disk_io): New structure.
22520 (grub_efi_disk_io_t): New type.
22521 (struct grub_efi_block_io_media): New structure.
22522 (grub_efi_block_io_media_t): New type.
22523 (struct grub_efi_block_io): New structure.
22524 (grub_efi_block_io_t): New type.
22525
22526 * include/grub/misc.h (grub_stop): Removed.
22527 (grub_exit): New prototype.
22528 (grub_abort): Likewise.
22529
22530 * include/grub/disk.h (enum grub_disk_dev_id): Added
22531 GRUB_DISK_DEVICE_EFIDISK_ID.
22532
22533 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
22534 disk/efi/efidisk.c.
22535 (kernel_syms.lst): Remove the target if an error occurs.
22536
22537 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
22538
22539 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
22540 as it was simply too buggy.
22541
22542 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
22543
22544 * kern/misc.c (grub_lltoa): New function.
22545 (grub_vsprintf): Added support for the long long suffix,
22546 i.e. "ll".
22547
22548 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
22549
22550 * Makefile.in (LDFLAGS): Add variable.
22551 (LD): Remove variable.
22552 * configure.ac: Add -m32 to LDFLAGS.
22553 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
22554 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
22555 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
22556 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
22557 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
22558 variables.
22559 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
22560 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
22561 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
22562
22563 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
22564
22565 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
22566 length for unknown glyph.
22567
22568 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22569
22570 Add support for pre-loaded modules into the EFI port.
22571
22572 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
22573 completely. Accept one more argument DIR. The caller has changed.
22574
22575 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
22576
22577 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
22578 (grub_efi_loaded_image_guid): New variable.
22579 (grub_efi_get_loaded_image): New function.
22580 (grub_arch_modules_addr): Likewise.
22581
22582 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
22583 prototype.
22584
22585 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
22586 (struct grub_efi_loaded_image): New structure.
22587 (grub_efi_loaded_image_t): New type.
22588
22589 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22590
22591 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
22592 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
22593 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
22594
22595 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
22596
22597 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
22598
22599 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
22600
22601 * DISTLIST: Added include/grub/efi/console.h,
22602 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
22603 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22604
22605 * include/grub/efi/console.h: New file.
22606 * include/grub/efi/time.h: Likewise.
22607 * include/grub/i386/efi/kernel.h: Likewise.
22608 * kern/efi/init.c: Likewise.
22609 * kern/efi/mm.c: Likewise.
22610 * term/efi/console.c: Likewise.
22611
22612 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
22613 (grub_stop): Removed.
22614 (grub_get_rtc): Likewise.
22615 (grub_machine_init): Simply call grub_efi_init.
22616 (grub_machine_fini): Call grub_efi_fini.
22617
22618 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
22619 (grub_efi_output_string): Removed.
22620 (grub_efi_stall): New function.
22621 (grub_stop): Likewise.
22622 (grub_get_rtc): Likewise.
22623
22624 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
22625 (grub_efi_stall): New prototype.
22626 (grub_efi_allocate_pages): Likewise.
22627 (grub_efi_free_pages): Likewise.
22628 (grub_efi_get_memory_map): Likewise.
22629 (grub_efi_mm_init): Likewise.
22630 (grub_efi_mm_fini): Likewise.
22631 (grub_efi_init): Likewise.
22632 (grub_efi_fini): Likewise.
22633
22634 * include/grub/i386/efi/time.h: Do not include
22635 grub/symbol.h. Include grub/efi/time.h.
22636 (GRUB_TICKS_PER_SECOND): Removed.
22637 (grub_get_rtc): Likewise.
22638
22639 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
22640 Added padding. The EFI spec is buggy.
22641 (GRUB_EFI_BLACK): New macro.
22642 (GRUB_EFI_BLUE): Likewise.
22643 (GRUB_EFI_GREEN): Likewise.
22644 (GRUB_EFI_CYAN): Likewise.
22645 (GRUB_EFI_RED): Likewise.
22646 (GRUB_EFI_MAGENTA): Likewise.
22647 (GRUB_EFI_BROWN): Likewise.
22648 (GRUB_EFI_LIGHTGRAY): Likewise.
22649 (GRUB_EFI_BRIGHT): Likewise.
22650 (GRUB_EFI_DARKGRAY): Likewise.
22651 (GRUB_EFI_LIGHTBLUE): Likewise.
22652 (GRUB_EFI_LIGHTGREEN): Likewise.
22653 (GRUB_EFI_LIGHTCYAN): Likewise.
22654 (GRUB_EFI_LIGHTRED): Likewise.
22655 (GRUB_EFI_LIGHTMAGENTA): Likewise.
22656 (GRUB_EFI_YELLOW): Likewise.
22657 (GRUB_EFI_WHITE): Likewise.
22658 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
22659 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
22660 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
22661 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
22662 (GRUB_EFI_BACKGROUND_RED): Likewise.
22663 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
22664 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
22665 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
22666 (GRUB_EFI_TEXT_ATTR): Likewise.
22667
22668 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
22669 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22670 (kernel_mod_HEADERS): Added efi/time.h.
22671
22672 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
22673
22674 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
22675 include/grub/efi/api.h, include/grub/efi/console_control.h,
22676 include/grub/efi/efi.h, include/grub/efi/pe32.h,
22677 include/grub/i386/efi/time.h, kern/efi/efi.c,
22678 kern/i386/efi/init.c, kern/i386/efi/startup.S,
22679 and util/i386/efi/grub-mkimage.c.
22680
22681 * Makefile.in (RMKFILES): Added i386-efi.rmk.
22682
22683 * genmk.rb (PModule#rule): Do not export symbols if
22684 #{prefix}_EXPORTS is set to "no".
22685
22686 * conf/i386-efi.mk: New file.
22687 * conf/i386-efi.rmk: Likewise.
22688 * include/grub/efi/api.h: Likewise.
22689 * include/grub/efi/console_control.h: Likewise.
22690 * include/grub/efi/efi.h: Likewise.
22691 * include/grub/efi/pe32.h: Likewise.
22692 * include/grub/i386/efi/time.h: Likewise.
22693 * kern/efi/efi.c: Likewise.
22694 * kern/i386/efi/init.c: Likewise.
22695 * kern/i386/efi/startup.S: Likewise.
22696 * util/i386/efi/grub-mkimage.c: Likewise.
22697
22698 2006-04-17 Marco Gerards <marco@gnu.org>
22699
22700 * include/grub/script.h: Include <grub/parser.h> and
22701 "grub_script.tab.h".
22702 (struct grub_lexer_param): New struct.
22703 (struct grub_parser_param): Likewise.
22704 (grub_script_create_arglist): Pass the state in an argument.
22705 (grub_script_add_arglist): Likewise.
22706 (grub_script_create_cmdline): Likewise.
22707 (grub_script_create_cmdblock): Likewise.
22708 (grub_script_create_cmdif): Likewise.
22709 (grub_script_create_cmdmenu): Likewise.
22710 (grub_script_add_cmd): Likewise.
22711 (grub_script_arg_add): Likewise.
22712 (grub_script_lexer_ref): Likewise.
22713 (grub_script_lexer_deref): Likewise.
22714 (grub_script_lexer_record_start): Likewise.
22715 (grub_script_lexer_record_stop): Likewise.
22716 (grub_script_mem_record): Likewise.
22717 (grub_script_mem_record_stop): Likewise.
22718 (grub_script_malloc): Likewise.
22719 (grub_script_yylex): Likewise.
22720 (grub_script_yyparse): Likewise.
22721 (grub_script_yyerror): Likewise.
22722 (grub_script_yylex): Likewise.
22723 (grub_script_lexer_init): Return the state.
22724
22725 * normal/lexer.c (grub_script_lexer_state): Removed variable.
22726 (grub_script_lexer_done): Likewise.
22727 (grub_script_lexer_getline): Likewise.
22728 (grub_script_lexer_refs): Likewise.
22729 (script): Likewise.
22730 (newscript): Likewise.
22731 (record): Likewise.
22732 (recording): Likewise.
22733 (recordpos): Likewise.
22734 (recordlen): Likewise.
22735 (grub_script_lexer_init): Return the state instead of setting
22736 global variables.
22737 (grub_script_lexer_ref): Use the newly added argument for state
22738 instead of globals.
22739 (grub_script_lexer_deref): Likewise.
22740 (grub_script_lexer_record_start): Likewise.
22741 (grub_script_lexer_record_stop): Likewise.
22742 (recordchar): Likewise.
22743 (nextchar): Likewise.
22744 (grub_script_yylex2): Likewise.
22745 (grub_script_yylex): Likewise.
22746 (grub_script_yyerror): Likewise.
22747
22748 * normal/parser.y (func_mem): Removed variable.
22749 (menu_entry): Likewise.
22750 (err): Likewise.
22751 (%lex-param): New parser option.
22752 (%parse-param): Likewise.
22753 (script): Always return the AST.
22754 (argument): Pass the state around.
22755 (arguments): Likewise.
22756 (grubcmd): Likewise.
22757 (commands): Likewise.
22758 (function): Likewise.
22759 (menuentry): Likewise.
22760 (if_statement): Likewise.
22761 (if): Likewise.
22762
22763 * normal/script.c (grub_script_memused): Removed variable.
22764 (grub_script_parsed): Likewise.
22765 (grub_script_malloc): Added a state argument. Use that instead of
22766 global variables.
22767 (grub_script_mem_record): Likewise.
22768 (grub_script_mem_record_stop): Likewise.
22769 (grub_script_arg_add): Likewise.
22770 (grub_script_add_arglist): Likewise.
22771 (grub_script_create_cmdline): Likewise.
22772 (grub_script_create_cmdif): Likewise.
22773 (grub_script_create_cmdmenu): Likewise.
22774 (grub_script_add_cmd): Likewise.
22775 (grub_script_parse): Setup the state before calling the parser.
22776
22777 2006-04-16 Marco Gerards <marco@gnu.org>
22778
22779 * normal/command.c (grub_command_init): Remove the title command.
22780
22781 * normal/lexer.c (grub_script_yylex): Renamed from this...
22782 (grub_script_yylex2): ... to this.
22783 (grub_script_yylex): New function. Temporary
22784 introduced to filter some tokens.
22785 (grub_script_yyerror): Print a newline.
22786
22787 * normal/main.c (read_config_file): Output information about the
22788 lines that contain errors. Wait for a key after all lines have
22789 been processed. Don't return an empty menu.
22790
22791 * normal/parser.y (func_mem): Don't initialize.
22792 (menu_entry): Likewise.
22793 (err): New variable.
22794 (script): Don't return anything when an error was encountered.
22795 (ws, returns): Removed rules.
22796 (argument): Disabled concatenated variable support.
22797 (arguments): Remove explicit separators.
22798 (grubcmd): Likewise.
22799 (function): Likewise.
22800 (menuentry): Likewise.
22801 (if): Likewise.
22802 (commands): Likewise. Add error handling.
22803
22804 * normal/script.c (grub_script_create_cmdline): If
22805 `grub_script_parsed' is 0, assume the parser encountered an error.
22806
22807 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
22808
22809 * configure.ac: Add support for EFI. Fix the typo
22810 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
22811
22812 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22813
22814 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
22815 foreign multibyte characters should be shown correctly.
22816
22817 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22818
22819 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
22820 calculation.
22821 (read_config_file): Made it to close file before returning.
22822
22823 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
22824
22825 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
22826 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
22827 video/i386/pc/vbefill.c.
22828
22829 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
22830 video/i386/pc/vbefill.c.
22831
22832 * include/grub/video.h (grub_video_blit_format): New enum.
22833 (grub_video_mode_info): Added new member blit_format.
22834 (grub_video_get_blit_format): New function prototype.
22835
22836 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
22837 function prototype.
22838 (grub_video_vbe_map_rgb): Likewise.
22839 (grub_video_vbe_unmap_color): Likewise.
22840
22841 * include/grub/i386/pc/vbeblit.h: New file.
22842
22843 * include/grub/i386/pc/vbefill.h: New file.
22844
22845 * video/video.c (grub_video_get_blit_format): New function.
22846 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
22847 (grub_video_vbe_map_rgb): Likewise.
22848 (grub_video_vbe_unmap_color): Likewise.
22849
22850 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
22851 optimized fills.
22852 (grub_video_vbe_blit_render_target): Changed to use more optimized
22853 blits.
22854 (grub_video_vbe_setup): Added detection for optimized settings.
22855 (grub_video_vbe_create_render_target): Likewise.
22856
22857 * video/i386/pc/vbeblit.c: New file.
22858
22859 * video/i386/pc/vbefill.c: New file.
22860
22861 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
22862
22863 * font/manager.c (grub_font_get_glyph): Removed font fixup from
22864 here...
22865
22866 * util/unifont2pff.rb: ... and moved it to here. Improved argument
22867 parsing to support both hex and dec ranges. If filename was missing
22868 show usage information.
22869
22870 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
22871
22872 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
22873 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
22874
22875 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
22876 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
22877 (video_mod_SOURCES): Added.
22878 (video_mod_CFLAGS): Likewise.
22879 (video_mod_LDFLAGS): Likewise.
22880 (gfxterm_mod_SOURCES): Likewise.
22881 (gfxterm_mod_CFLAGS): Likewise.
22882 (gfxterm_mod_LDFLAGS): Likewise.
22883 (videotest_mod_SOURCES): Likewise.
22884 (videotest_mod_CFLAGS): Likewise.
22885 (videotest_mod_LDFLAGS): Likewise.
22886 (vesafb_mod_SOURCES): Removed.
22887 (vesafb_mod_CFLAGS): Likewise.
22888 (vesafb_mod_LDFLAGS): Likewise.
22889 (vga_mod_SOURCES): Likewise.
22890 (vga_mod_CFLAGS): Likewise.
22891 (vga_mod_LDFLAGS): Likewise.
22892
22893 * commands/videotest.c: New file.
22894
22895 * font/manager.c (fill_with_default_glyph): Modified to use
22896 grub_font_glyph.
22897 (grub_font_get_glyph): Likewise.
22898 (fontmanager): Renamed from this...
22899 (font_manager): ... to this.
22900
22901 * include/grub/font.h (grub_font_glyph): Added new structure.
22902 (grub_font_get_glyph): Modified to use grub_font_glyph.
22903
22904 * include/grub/misc.h (grub_abs): Added as inline function.
22905
22906 * include/grub/video.h: New file.
22907
22908 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
22909 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
22910 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
22911 (grub_vbe_get_controller_info): Renamed from this...
22912 (grub_vbe_bios_get_controller_info): ... to this.
22913 (grub_vbe_get_mode_info): Renamed from this...
22914 (grub_vbe_bios_get_mode_info): ... to this.
22915 (grub_vbe_set_mode): Renamed from this...
22916 (grub_vbe_bios_set_mode): ... to this.
22917 (grub_vbe_get_mode): Renamed from this...
22918 (grub_vbe_bios_get_mode): ... to this.
22919 (grub_vbe_set_memory_window): Renamed from this...
22920 (grub_vbe_bios_set_memory_window): ... to this.
22921 (grub_vbe_get_memory_window): Renamed from this...
22922 (grub_vbe_bios_get_memory_window): ... to this.
22923 (grub_vbe_set_scanline_length): Renamed from this...
22924 (grub_vbe_set_scanline_length): ... to this.
22925 (grub_vbe_get_scanline_length): Renamed from this...
22926 (grub_vbe_bios_get_scanline_length): ... to this.
22927 (grub_vbe_set_display_start): Renamed from this...
22928 (grub_vbe_bios_set_display_start): ... to this.
22929 (grub_vbe_get_display_start): Renamed from this...
22930 (grub_vbe_bios_get_display_start): ... to this.
22931 (grub_vbe_set_palette_data): Renamed from this...
22932 (grub_vbe_bios_set_palette_data): ... to this.
22933 (grub_vbe_set_pixel_rgb): Removed.
22934 (grub_vbe_set_pixel_index): Likewise.
22935
22936 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
22937 from this...
22938 (grub_vbe_bios_get_controller_info): ... to this.
22939 (grub_vbe_get_mode_info): Renamed from this...
22940 (grub_vbe_bios_get_mode_info): ... to this.
22941 (grub_vbe_set_mode): Renamed from this...
22942 (grub_vbe_bios_set_mode): ... to this.
22943 (grub_vbe_get_mode): Renamed from this...
22944 (grub_vbe_bios_get_mode): ... to this.
22945 (grub_vbe_set_memory_window): Renamed from this...
22946 (grub_vbe_bios_set_memory_window): ... to this.
22947 (grub_vbe_get_memory_window): Renamed from this...
22948 (grub_vbe_bios_get_memory_window): ... to this.
22949 (grub_vbe_set_scanline_length): Renamed from this...
22950 (grub_vbe_set_scanline_length): ... to this.
22951 (grub_vbe_get_scanline_length): Renamed from this...
22952 (grub_vbe_bios_get_scanline_length): ... to this.
22953 (grub_vbe_set_display_start): Renamed from this...
22954 (grub_vbe_bios_set_display_start): ... to this.
22955 (grub_vbe_get_display_start): Renamed from this...
22956 (grub_vbe_bios_get_display_start): ... to this.
22957 (grub_vbe_set_palette_data): Renamed from this...
22958 (grub_vbe_bios_set_palette_data): ... to this.
22959 (grub_vbe_bios_get_controller_info): Fixed problem with registers
22960 getting corrupted after calling it. Added more pushes and pops.
22961 (grub_vbe_bios_set_mode): Likewise.
22962 (grub_vbe_bios_get_mode): Likewise.
22963 (grub_vbe_bios_get_memory_window): Likewise.
22964 (grub_vbe_bios_set_scanline_length): Likewise.
22965 (grub_vbe_bios_get_scanline_length): Likewise.
22966 (grub_vbe_bios_get_display_start): Likewise.
22967 (grub_vbe_bios_set_palette_data): Likewise.
22968
22969 * normal/cmdline.c (cl_set_pos): Refresh the screen.
22970 (cl_insert): Likewise.
22971 (cl_delete): Likewise.
22972
22973 * term/gfxterm.c: New file.
22974
22975 * term/i386/pc/vesafb.c: Removed file.
22976
22977 * video/video.c: New file.
22978
22979 * video/i386/pc/vbe.c (real2pm): Added new function.
22980 (grub_video_vbe_draw_pixel): Likewise.
22981 (grub_video_vbe_get_video_ptr): Likewise.
22982 (grub_video_vbe_get_pixel): Likewise
22983 (grub_video_vbe_init): Likewise.
22984 (grub_video_vbe_fini): Likewise.
22985 (grub_video_vbe_setup): Likewise.
22986 (grub_video_vbe_get_info): Likewise.
22987 (grub_video_vbe_set_palette): Likewise.
22988 (grub_video_vbe_get_palette): Likewise.
22989 (grub_video_vbe_set_viewport): Likewise.
22990 (grub_video_vbe_get_viewport): Likewise.
22991 (grub_video_vbe_map_color): Likewise.
22992 (grub_video_vbe_map_rgb): Likewise.
22993 (grub_video_vbe_map_rgba): Likewise.
22994 (grub_video_vbe_unmap_color): Likewise.
22995 (grub_video_vbe_fill_rect): Likewise.
22996 (grub_video_vbe_blit_glyph): Likewise.
22997 (grub_video_vbe_blit_bitmap): Likewise.
22998 (grub_video_vbe_blit_render_target): Likewise.
22999 (grub_video_vbe_scroll): Likewise.
23000 (grub_video_vbe_swap_buffers): Likewise.
23001 (grub_video_vbe_create_render_target): Likewise.
23002 (grub_video_vbe_delete_render_target): Likewise.
23003 (grub_video_vbe_set_active_render_target): Likewise.
23004 (grub_vbe_set_pixel_rgb): Remove function.
23005 (grub_vbe_set_pixel_index): Likewise.
23006 (index_color_mode): Remove static variable.
23007 (active_mode): Likewise.
23008 (framebuffer): Likewise.
23009 (bytes_per_scan_line): Likewise.
23010 (grub_video_vbe_adapter): Added new static variable.
23011 (framebuffer): Likewise.
23012 (render_target): Likewise.
23013 (initial_mode): Likewise.
23014 (mode_in_use): Likewise.
23015 (mode_list): Likewise.
23016
23017 2006-03-10 Marco Gerards <marco@gnu.org>
23018
23019 * configure.ac (AC_INIT): Bumped to 1.93.
23020
23021 * DISTLIST: Added `include/grub/hfs.h'.
23022
23023 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23024
23025 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23026 18H, which might help the BIOS falling back to next boot media.
23027
23028 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23029
23030 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23031 Poe Chen <poe.poechen@gmail.com>.
23032
23033 2006-01-17 Marco Gerards <marco@gnu.org>
23034
23035 * include/grub/normal.h: Include <grub/script.h>.
23036 (grub_command_list): Removed struct.
23037 (grub_command_list_t): Removed type.
23038 (grub_menu_entry): Remove members `num' and `command_list'. Add
23039 members `commands' and `sourcecode'.
23040 * include/grub/script.h: Add inclusion guards.
23041 (grub_script_cmd_menuentry): New struct.
23042 (grub_script_execute_menuentry): New prototype.
23043 (grub_script_lexer_record_start): Likewise.
23044 (grub_script_lexer_record_stop): Likewise.
23045 * normal/execute.c (grub_script_execute_menuentry): New function.
23046 * normal/lexer.c (record, recording, recordpos, recordlen): New
23047 variables.
23048 (grub_script_lexer_record_start): New function.
23049 (grub_script_lexer_record_stop): Likewise.
23050 (recordchar): Likewise.
23051 (nextchar): Likewise.
23052 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23053 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23054 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23055 (current_menu): New variable.
23056 (free_menu): Mainly rewritten.
23057 (grub_normal_menu_addentry): New function.
23058 (read_config_file): Rewritten.
23059 * normal/menu.c (run_menu_entry): Mainly rewritten.
23060 * normal/menu_entry.c (make_screen): Rewritten the code to insert
23061 the menu entry.
23062 (run): Mainly rewritten.
23063 * normal/parser.y (menu_entry): New variable.
23064 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23065 (menuentry): New rule.
23066 (command): Add `menuentry'.
23067 (if_statement): Allow additional returns before `fi'.
23068 * normal/script.c (grub_script_create_cmdmenu): New function.
23069
23070 2006-01-03 Marco Gerards <marco@gnu.org>
23071
23072 * INSTALL: GNU Bison is required.
23073 * configure.ac: Rewritten the test to detect Bison.
23074 * Makefile.in (YACC): New variable. Reported by Xun Sun
23075 <xun.sun.cn@gmail.com>.
23076
23077 2006-01-03 Marco Gerards <marco@gnu.org>
23078
23079 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23080 the HFS+ filesystem to filesystem blocks.
23081 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23082 GCC warning is silenced.
23083
23084 2006-01-03 Marco Gerards <marco@gnu.org>
23085
23086 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23087 read from disk from big endian to host byte order.
23088
23089 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23090
23091 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23092 documentation.
23093 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23094 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23095 embedded HFS+ filesystem.
23096 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23097 (grub_hfs_sblock): Move from here...
23098 * include/grub/hfs.h: To here... New file.
23099 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23100 documentation.
23101 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23102 New macros.
23103 (grub_hfsplus_volheader): Change type of member `magic' to
23104 `grub_uint16_t'.
23105 (grub_hfsplus_data): Add new member `embedded_offset'.
23106 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23107 returned block.
23108 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23109 Calculate the offset.
23110
23111 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23112
23113 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23114 Removed.
23115 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23116
23117 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23118
23119 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23120 ENV->NAME is NULL after allocating ENV->VALUE.
23121
23122 2005-12-25 Marco Gerards <marco@gnu.org>
23123
23124 * kern/env.c (grub_env_set): Rewritten the error handling code.
23125
23126 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23127
23128 * geninit.sh: Made more robust, and more portable.
23129
23130 2005-12-25 Marco Gerards <marco@gnu.org>
23131
23132 Add support for Apple HFS+ filesystems.
23133
23134 * fs/hfsplus.c: New file.
23135
23136 * DISTLIST: Added `fs/hfsplus.c'.
23137
23138 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23139 (hfsplus_mod_SOURCES): New variable.
23140 (hfsplus_mod_CFLAGS): Likewise.
23141 (hfsplus_mod_LDFLAGS): Likewise.
23142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23143 (grub_setup_SOURCES): Likewise.
23144 (grub_mkdevicemap_SOURCES): Likewise.
23145 (grub_emu_SOURCES): Likewise.
23146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23147
23148 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23149
23150 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23151
23152 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23153
23154 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23155 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23156 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23157 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23158 normal/lexer.c, normal/parser.y, normal/script.c, and
23159 partmap/gpt.c.
23160 Removed kern/sparc64/cache.c.
23161
23162 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23163 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23164 grub_emu_init.c.
23165
23166 * configure.ac (AC_INIT): Bumped to 1.92.
23167
23168 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23169
23170 * kern/err.c (grub_error_push): Added new function to support error
23171 stacks.
23172 (grub_error_pop): Likewise.
23173 (grub_error_stack_items): New local variable to support error stacks.
23174 (grub_error_stack_pos): Likewise.
23175 (grub_error_stack_assert): Likewise.
23176 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23177 stack depth.
23178 (grub_print_error): Added support to print errors from error stack.
23179
23180 * include/grub/err.h (grub_error_push): Added function prototype.
23181 (grub_error_pop): Likewise.
23182
23183 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23184
23185 * configure.ac: Accept `powerpc64' as host_cpu.
23186 (amd64): Rename to `biarch32'.
23187
23188 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23189 non-cacheline-aligned addresses.
23190
23191 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23192 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23193 if `size' is non-zero.
23194
23195 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
23196
23197 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23198 and `cd' to make sure the filename is not prefixed with a
23199 directory name.
23200 (pkgdata_MODULES): Add `gpt.mod'.
23201 (gpt_mod_SOURCES): New variable.
23202 (gpt_mod_CFLAGS): Likewise.
23203 (gpt_mod_LDFLAGS): Likewise.
23204
23205 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23206
23207 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23208 New macro.
23209
23210 * partmap/gpt.c: New file.
23211
23212 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23213 GPT partition map is detected.
23214
23215 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
23216
23217 * commands/i386/pc/play.c: New file.
23218 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
23219 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
23220 macros.
23221
23222 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
23223
23224 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
23225 ((unused))' to silence gcc warning.
23226
23227 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
23228
23229 * configure.ac: Correct `AC_PROG_YACC' test.
23230
23231 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23232
23233 * util/powerpc/ieee1275/grub-install.in: Run the mount point
23234 check before installing files.
23235
23236 2005-11-22 Mike Small <smallm@panix.com>
23237
23238 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
23239 number regex so multidigit numbers are recognized correctly.
23240
23241 2005-11-22 Mike Small <smallm@panix.com>
23242
23243 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
23244 debugging message before attempting to claim memory.
23245 (grub_rescue_cmd_initrd): Add a claim debugging message and try
23246 multiple addresses in case of failure.
23247
23248 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23249
23250 * term/tparm.c (get_space): Remove empty `if' statement.
23251
23252 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
23253
23254 * kern/parser.c (check_varstate): Rename `state' to 's'.
23255
23256 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23257
23258 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
23259 variable definitions to the beginning of each function. Sort stack
23260 variables by size.
23261 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
23262 `buf' argument to `char *'.
23263
23264 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23265
23266 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
23267 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23268 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23269 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23270 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23271 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23272 configfile.mod, search.mod, gzio.mod and test.mod.
23273 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23274 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23275 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23276 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23277 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23278 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23279 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23280 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23281 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23282 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23283 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23284 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23285 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23286 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23287 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23288 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23289 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23290 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23291 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23292 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23293 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23294 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23295 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
23296
23297 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
23298 `grep --include'.
23299 (pkgdata_MODULES): Add test.mod.
23300
23301 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23302
23303 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
23304 appending to variables with "+=".
23305 (PModule): Use full pathname to generate *.lst filenames.
23306
23307 * Makefile.in: Fixed list rules moved from genmk.rb.
23308 (.DELETE_ON_ERROR): New special target.
23309 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
23310
23311 * conf/i386-pc.rmk: Include conf/common.mk.
23312 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23313 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23314 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23315 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23316 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23317 configfile.mod, search.mod, gzio.mod and test.mod.
23318 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23319 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23320 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23321 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23322 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23323 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23324 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23325 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23326 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23327 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23328 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23329 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23330 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23331 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23332 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23333 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23334 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23335 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23336 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23337 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23338 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23339 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23340 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
23341 here...
23342 * conf/common.rmk: ... to here. New file.
23343
23344 * conf/common.mk: New file.
23345
23346 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
23347
23348 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
23349 (grub_script.tab.c): ... here.
23350
23351 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
23352 (grub_script.tab.c): ... here.
23353
23354 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
23355 (grub_script.tab.c): ... here.
23356
23357 * normal/command.c (grub_command_find): Fixed a memory leak of
23358 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
23359
23360 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23361
23362 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
23363 "@" which marks the start of a comment on ARM.
23364 (VARIABLE): Likewise.
23365
23366 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23367
23368 Add support for Linux/ADFS partition tables.
23369
23370 * partmap/acorn.c: New file.
23371
23372 * include/grub/acorn_filecore.h: Likewise.
23373
23374 * DISTLIST: Added `partmap/acorn.c' and
23375 `include/grub/acorn_filecore.h'.
23376
23377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23378 `partmap/acorn.c'.
23379 (pkgdata_MODULES): Add `acorn.mod'.
23380 (acorn_mod_SOURCES): New variable.
23381 (acorn_mod_CFLAGS): Likewise.
23382
23383 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23384 `partmap/acorn.c'.
23385 (pkgdata_MODULES): Add `acorn.mod'.
23386 (acorn_mod_SOURCES): New variable.
23387 (acorn_mod_CFLAGS): Likewise.
23388
23389 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
23390 (pkgdata_MODULES): Add `acorn.mod'.
23391 (acorn_mod_SOURCES): New variable.
23392 (acorn_mod_CFLAGS): Likewise.
23393 (acorn_mod_LDFLAGS): Likewise.
23394
23395 * include/types.h (grub_disk_addr_t): New typedef.
23396
23397 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
23398
23399 * geninit.sh: New file.
23400
23401 * geninitheader.sh: Likewise.
23402
23403 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
23404 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
23405 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
23406 * commands/configfile.c (grub_configfile_init)
23407 (grub_configfile_fini): Likewise.
23408 * commands/default.c (grub_default_init, grub_default_fini):
23409 Likewise.
23410 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
23411 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
23412 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
23413 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
23414 Likewise.
23415 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
23416 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
23417 Likewise.
23418 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
23419 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
23420 Likewise.
23421 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
23422 Likewise.
23423 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
23424 Likewise.
23425 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
23426 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
23427 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
23428 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
23429 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
23430 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
23431 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
23432 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
23433 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
23434 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
23435 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
23436 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
23437 * partmap/amiga.c (grub_amiga_partition_map_init)
23438 (grub_amiga_partition_map_fini): Likewise.
23439 * partmap/apple.c (grub_apple_partition_map_init)
23440 (grub_apple_partition_map_fini): Likewise.
23441 * partmap/pc.c (grub_pc_partition_map_init)
23442 (grub_pc_partition_map_fini): Likewise.
23443 * partmap/sun.c (grub_sun_partition_map_init,
23444 grub_sun_partition_map_fini): Likewise.
23445 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
23446 Likewise.
23447
23448 * util/grub-emu.c: Include <grub_modules_init.h>.
23449 (main): Don't initialize and de-initialize any modules directly,
23450 use `grub_init_all' and `grub_fini_all' instead.
23451
23452 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
23453 `grub_vesafb_mod_init'.
23454 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
23455 all users.
23456 * term/i386/pc/vga.c (grub_vga_init): Renamed to
23457 `grub_vga_mod_init'. Updated all users.
23458 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
23459
23460 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
23461 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
23462 rules.
23463
23464 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
23465 Generate a function to initialize the module in utilities.
23466 Updated all callers.
23467 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
23468 initialize the module in utilities. Updated all callers.
23469
23470 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23471
23472 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
23473 escape sequence and a literal ^L to clear the screen.
23474
23475 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
23476 when returning from Open Firmware.
23477
23478 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23479
23480 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
23481 (grub_ofconsole_height): Likewise.
23482 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
23483 manually insert a '\n'.
23484 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
23485 `grub_ofconsole_height'. Return early if these are already set.
23486
23487 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
23488
23489 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23490 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
23491 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
23492 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
23493 and `normal/script.c'.
23494 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23495 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23496 (test_mod_SOURCES): New variable.
23497 (test_mod_CFLAGS): Likewise.
23498 (test_mod_LDFLAGS): Likewise.
23499 (pkgdata_MODULES): Add `test.mod'.
23500 (grub_script.tab.c): New rule.
23501 (grub_script.tab.h): Likewise.
23502
23503 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
23504
23505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23506 `commands/test.c', `normal/execute.c', `normal/lexer.c',
23507 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23508 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23509 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23510 (test_mod_SOURCES): New variable.
23511 (test_mod_CFLAGS): Likewise.
23512 (pkgdata_MODULES): Add `test.mod'.
23513 (grub_script.tab.c): New rule.
23514 (grub_script.tab.h): Likewise.
23515
23516 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
23517
23518 Add initial scripting support.
23519
23520 * commands/test.c: New file.
23521 * include/grub/script.h: Likewise.
23522 * normal/execute.c: Likewise.
23523 * normal/function.c: Likewise.
23524 * normal/lexer.c: Likewise.
23525 * normal/parser.y: Likewise.
23526 * normal/script.c: Likewise.
23527
23528 * configure.ac: Add `AC_PROG_YACC' test.
23529
23530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
23531 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
23532 `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, test_mod_CFLAGS, test_mod_LDFLAGS): New
23536 variables.
23537 (pkgdata_MODULES): Add `test.mod'.
23538 (grub_script.tab.c): New rule.
23539 (grub_script.tab.h): Likewise.
23540
23541 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
23542
23543 * include/grub/normal.h (grub_test_init): New prototype.
23544 (grub_test_fini): Likewise.
23545
23546 * normal/command.c: Include <grub/script.h>.
23547 (grub_command_execute): Rewritten.
23548
23549 * util/grub-emu.c (main): Call `grub_test_init' and
23550 `grub_test_fini'.
23551
23552 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23553
23554 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
23555 to 0.
23556 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
23557 there are no pending characters.
23558
23559 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23560
23561 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
23562 `grub_strndup' to drop device arguments. Replace unnecessary
23563 `grub_strndup' with `grub_strdup'.
23564
23565 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23566
23567 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
23568 `debug' environment variable has been set.
23569
23570 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
23571
23572 * Makefile.in (install-local): Use $(DATA).
23573 (uninstall): Likewise.
23574 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
23575 (sbin_UTILITIES): ... to here.
23576 (sbin_SCRIPTS): New variable.
23577 (grub_install_SOURCES): New variable.
23578 * util/powerpc/ieee1275/grub-install.in: New file.
23579 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
23580 variable.
23581 (add_segments): Call `grub_util_get_path'.
23582
23583 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23584
23585 From Timothy Baldwin:
23586 * commands/ls.c (grub_ls_list_files): Close FILE with
23587 grub_file_close.
23588 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
23589
23590 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
23591
23592 * include/grub/parser.h: New file.
23593
23594 * kern/parser.c: Likewise.
23595
23596 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
23597 (grub_setup_SOURCES): Likewise.
23598 (grub_probefs_SOURCES): Likewise.
23599 (grub_emu_SOURCES): Likewise.
23600 (kernel_img_HEADERS): Add `parser.h'.
23601
23602 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23603 (grub_emu_SOURCES): Add `kern/parser.c'.
23604 (grubof_SOURCES): Likewise.
23605
23606 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23607 (grubof_SOURCES): Add `kern/parser.c'.
23608
23609 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
23610
23611 * kern/misc.c (grub_split_cmdline): Removed function.
23612
23613 * kern/rescue.c: Include <grub/parser.h>.
23614 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
23615 of `grub_split_cmdline'.
23616
23617 * normal/command.c: Include <grub/parser.h>.
23618 (grub_command_execute): Use `grub_parser_split_cmdline' instead
23619 of `grub_split_cmdline'.
23620
23621 * normal/completion.c: Include <grub/parser.h>.
23622 (cmdline_state): New variable.
23623 (iterate_dir): End the filename with a quote depending on the
23624 command line state.
23625 (get_state): new function.
23626 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
23627 split the arguments and determine the current argument. When the
23628 argument string is not quoted, escape all spaces.
23629
23630 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23631
23632 * normal/sparc64/setjmp.S: New file.
23633
23634 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23635
23636 * include/grub/sparc64/libgcc.h: New file.
23637 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
23638 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
23639 normal/sparc64/setjmp.c.
23640
23641 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23642
23643 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
23644 * kern/sparc64/cache.S: New file.
23645 * kern/sparc64/cache.c: Removed.
23646 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
23647 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
23648 -mtune=ultrasparc.
23649 (COMMON_LDFLAGS): Add -melf64_sparc.
23650 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
23651 (grubof_SOURCES): Use cache.S instead of cache.c.
23652 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
23653 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
23654 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
23655 commented though.
23656 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
23657 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
23658 (linux_mod_CFLAGS): Commented out.
23659 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
23660 out because module isn't built.
23661 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
23662 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
23663 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
23664 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
23665 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
23666 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23667 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23668 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
23669 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
23670 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
23671 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23672 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23673 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
23674 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
23675
23676 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
23677
23678 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
23679 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
23680 longer, because HFS should not be used on PC.
23681
23682 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23683
23684 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
23685 consistently within the loop.
23686
23687 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
23688
23689 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
23690 directory can not be read.
23691
23692 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23693
23694 * configure.ac (AC_INIT): Increase the version number to 1.91.
23695
23696 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
23697 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
23698 term/i386/pc/serial.c.
23699
23700 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23701
23702 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
23703 file size must be permitted.
23704
23705 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
23706 between %ah and %al.
23707
23708 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23709
23710 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
23711 grub_uint64_t.
23712 Call the hook with a NUL-terminated filename.
23713 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
23714 grub_cpu_to_be32.
23715
23716 * kern/term.c (cursor_state): New variable.
23717 (grub_term_set_current): Reset the cursor state on a new
23718 terminal.
23719 (grub_setcursor): Rewritten to use CURSOR_STATE.
23720 (grub_getcursor): New function.
23721
23722 * include/grub/term.h (grub_getcursor): New prototype.
23723
23724 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
23725 integers on ARM. Reported by Timothy Baldwin
23726 <T.E.Baldwin99@members.leeds.ac.uk>.
23727
23728 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
23729
23730 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
23731 allocated.
23732 (grub_sfs_dir): Likewise.
23733
23734 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
23735
23736 Add support for the SFS filesystem.
23737
23738 * fs/sfs.c: New file.
23739
23740 * DISTLIST: Added `fs/sfs.c'.
23741
23742 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
23743 (grub_probefs_SOURCES): Likewise.
23744 (grub_emu_SOURCES): Likewise.
23745 (pkgdata_MODULES): Add `sfs.mod'.
23746 (sfs_mod_SOURCES): New variable.
23747 (sfs_mod_CFLAGS): Likewise.
23748 (sfs_mod_LDFLAGS): Likewise.
23749
23750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
23751 (pkgdata_MODULES): Add `sfs.mod'.
23752 (sfs_mod_SOURCES): New variable.
23753 (sfs_mod_CFLAGS): Likewise.
23754
23755 * util/grub-emu.c (main): Call `grub_sfs_init' and
23756 `grub_sfs_fini'.
23757
23758 * include/grub/fs.h (grub_sfs_init): New prototype.
23759 (grub_sfs_fini): Likewise.
23760
23761 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
23762
23763 Add support for the AFFS filesystem.
23764
23765 * fs/affs.c: New file.
23766
23767 * DISTLIST: Added `fs/affs.c'.
23768
23769 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
23770 (grub_probefs_SOURCES): Likewise.
23771 (grub_emu_SOURCES): Likewise.
23772 (pkgdata_MODULES): Add `affs.mod'.
23773 (affs_mod_SOURCES): New variable.
23774 (affs_mod_CFLAGS): Likewise.
23775 (affs_mod_LDFLAGS): Likewise.
23776
23777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
23778 (pkgdata_MODULES): Add `affs.mod'.
23779 (affs_mod_SOURCES): New variable.
23780 (affs_mod_CFLAGS): Likewise.
23781
23782 * util/grub-emu.c (main): Call `grub_affs_init' and
23783 `grub_affs_fini'.
23784
23785 * include/grub/fs.h (grub_affs_init): New prototype.
23786 (grub_affs_fini): Likewise.
23787
23788 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
23789
23790 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
23791
23792 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
23793
23794 * configure.ac: Accept `x86_64' as host_cpu. In that case add
23795 `-m32' to CFLAGS.
23796
23797 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
23798 linking.
23799
23800 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
23801 (COMMON_LDFLAGS): New variable.
23802 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
23803 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
23804 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
23805 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
23806 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
23807 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
23808 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
23809 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
23810 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
23811 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
23812 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23813 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23814 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
23815 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
23816 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
23817 variables.
23818 (normal_mod_ASFLAGS): Add `-m32'.
23819
23820 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
23821 (grub_host_size_t, grub_host_ssize_t): New types.
23822 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
23823 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
23824 `GRUB_HOST_SIZEOF_VOID_P'.
23825
23826 * include/grub/kernel.h (struct grub_module_header): Type of
23827 member offset changed to `grub_host_off_t'. Type of member size
23828 changed to `grub_host_size_t'.
23829 (struct grub_module_info): Type of member offset changed to
23830 `grub_host_off_t'. Type of member size changed to
23831 `grub_host_size_t'.
23832
23833 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
23834
23835 Make GRUB's kernel compliant to Multiboot Specification.
23836
23837 * kern/i386/pc/startup.S (multiboot_header): New label.
23838 (multiboot_entry): Likewise.
23839 (multiboot_trampoline): Likewise.
23840
23841 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23842 Increased to 0x4A0.
23843
23844 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
23845 put parentheses after a question mark.
23846 [!GRUB_UTIL] (my_mod): New variable.
23847
23848 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
23849
23850 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
23851
23852 Adds support for the XFS filesystem. Btrees are not supported
23853 yet.
23854
23855 * fs/xfs.c: New file.
23856
23857 * DISTLIST: Added `fs/xfs.c'.
23858
23859 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
23860 (grub_probefs_SOURCES): Likewise.
23861 (grub_emu_SOURCES): Likewise.
23862 (pkgdata_MODULES): Add `xfs.mod'.
23863 (xfs_mod_SOURCES): New variable.
23864 (xfs_mod_CFLAGS): Likewise.
23865
23866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
23867 (pkgdata_MODULES): Add `xfs.mod'.
23868 (xfs_mod_SOURCES): New variable.
23869 (xfs_mod_CFLAGS): Likewise.
23870
23871 * util/grub-emu.c (main): Call `grub_xfs_init' and
23872 `grub_xfs_fini'.
23873
23874 * include/grub/fs.h (grub_xfs_init): New prototype.
23875 (grub_xfs_fini): Likewise.
23876
23877
23878 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
23879
23880 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
23881 color modes, allow greater than 16 colors to be configured as
23882 a default palette.
23883
23884 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23885
23886 * normal/completion.c (complete_arguments): Add the qualifier
23887 const into OPTIONS.
23888
23889 From Omniflux <omniflux+lists@omniflux.com>:
23890 * include/grub/terminfo.h: New file.
23891 * include/grub/tparm.h: Likewise.
23892 * include/grub/i386/pc/serial.h: Likewise.
23893 * term/terminfo.c: Likewise.
23894 * term/tparm.c: Likewise.
23895 * term/i386/pc/serial.c: Likewise.
23896 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
23897 serial.mod.
23898 (terminfo_mod_SOURCES): New variable.
23899 (terminfo_mod_CFLAGS): Likewise.
23900 (serial_mod_SOURCES): Likewise.
23901 (serial_mod_CFLAGS): Likewise.
23902
23903 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
23904
23905 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
23906 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
23907 and kern/powerpc/ieee1275/cmain.c, respectively.
23908
23909 * boot/powerpc/ieee1275/crt0.S: Moved to ...
23910 * kern/powerpc/ieee1275/crt0.S: ... here.
23911
23912 * boot/powerpc/ieee1275/cmain.c: Moved to ...
23913 * kern/powerpc/ieee1275/cmain.c: ... here.
23914
23915 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
23916 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
23917 instead of boot/powerpc/ieee1275/crt0.S and
23918 boot/powerpc/ieee1275/cmain.c, respectively.
23919
23920 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
23921 sectors. It was not used anyway.
23922
23923 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23924
23925 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
23926 `unused parameter' warning.
23927
23928 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23929
23930 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
23931 function.
23932 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
23933 getcharwidth.
23934
23935 2005-08-28 Marco Gerards <metgerards@student.han.nl>
23936
23937 * include/grub/normal.h (enum grub_completion_type): Added
23938 `GRUB_COMPLETION_TYPE_ARGUMENT'.
23939
23940 * normal/cmdline.c (print_completion): Handle
23941 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
23942 * normal/menu_entry.c (store_completion): Likewise.
23943
23944 * normal/completion.c (complete_arguments): New function.
23945 (grub_normal_do_completion): Call `complete_arguments' when the
23946 current words start with a dash.
23947
23948 2005-08-27 Marco Gerards <metgerards@student.han.nl>
23949
23950 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
23951 `gzio.mod' instead of `io.mod').
23952
23953 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
23954
23955 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
23956 (DISTDIRS): Added io and video.
23957 Rewrite the search routine to make an output consistently.
23958
23959 * DISTLIST: Added conf/sparc64-ieee1275.mk,
23960 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
23961 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
23962 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
23963 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
23964 util/powerpc/ieee1275/misc.c.
23965
23966 * include/grub/gzio.h: New file.
23967 * io/gzio.c: Likewise.
23968
23969 * kern/file.c (grub_file_close): Call grub_device_close only if
23970 FILE->DEVICE is not NULL.
23971
23972 * include/grub/mm.h [!NULL] (NULL): New macro.
23973
23974 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
23975
23976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
23977 (pkgdata_MODULES): Added gzio.mod.
23978 (gzio_mod_SOURCES): New variable.
23979 (gzio_mod_CFLAGS): Likewise.
23980
23981 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
23982 (pkgdata_MODULES): Added gzio.mod.
23983 (gzio_mod_SOURCES): New variable.
23984 (gzio_mod_CFLAGS): Likewise.
23985
23986 * commands/cat.c: Include grub/gzio.h.
23987 (grub_cmd_cat): Use grub_gzfile_open instead of
23988 grub_file_open.
23989
23990 * commands/cmp.c: Include grub/gzio.h.
23991 (grub_cmd_cmp): Use grub_gzfile_open instead of
23992 grub_file_open.
23993
23994 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
23995 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
23996 grub_file_open.
23997 (grub_rescue_cmd_module): Likewise.
23998
23999 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24000
24001 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24002 kern/sparc64/ieee1275/init.c because it contains _start.
24003 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24004
24005 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24006
24007 * configure.ac: Add support for sparc64 host with ieee1275
24008 firmware.
24009 * configure: Generated from configure.ac.
24010 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24011 instead of int.
24012 (grub_ofdisk_read): Likewise.
24013 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24014 pointers as (void *) to remove a warning.
24015 (grub_ofdisk_close): Likewise.
24016 (grub_ofdisk_read): Likewise.
24017 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24018 returns, so make it return void to remove a warning.
24019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24020 Corresponding prototype change.
24021 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24022 values, and cast the pointers as (void *) to remove a warning.
24023 (grub_mm_dump): Likewise.
24024 * conf/sparc64-ieee1275.mk: New file.
24025 * conf/sparc64-ieee1275.rmk: Likewise.
24026 * include/grub/sparc64/setjmp.h: Likewise.
24027 * include/grub/sparc64/types.h: Likewise.
24028 * include/grub/sparc64/ieee1275/console.h: Likewise.
24029 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24030 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24031 * include/grub/sparc64/ieee1275/time.h: Likewise.
24032 * kern/sparc64/cache.c: Likewise.
24033 * kern/sparc64/dl.c: Likewise.
24034 * kern/sparc64/ieee1275/init.c: Likewise.
24035 * kern/sparc64/ieee1275/openfw.c: Likewise.
24036
24037 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24038
24039 * util/console.c (grub_ncurses_putchar): If C is greater than
24040 0x7f, set C to a question mark.
24041 (grub_ncurses_getcharwidth): New function.
24042 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24043 getcharwidth.
24044
24045 * normal/menu.c (print_entry): Made aware of Unicode. First,
24046 convert TITLE to UCS-4, and predict the cursor position by
24047 grub_getcharwidth.
24048
24049 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24050 const to SRC.
24051 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24052
24053 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24054
24055 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24056 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24057 grub_strcat.
24058
24059 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24060 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24061 grub_strcpy and grub_strlen. Take it into account that a space
24062 character is inserted as a delimiter.
24063
24064 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24065
24066 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
24067 invalid magic in the error.
24068
24069 * commands/search.c: New file.
24070
24071 * util/grub-emu.c (main): Call grub_search_init and
24072 grub_search_fini.
24073
24074 * kern/rescue.c (grub_rescue_print_disks): Removed.
24075 (grub_rescue_print_devices): New function.
24076 (grub_rescue_cmd_ls): Use grub_device_iterate with
24077 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24078 grub_rescue_print_disks.
24079
24080 * kern/partition.c (grub_partition_iterate): Return the result of
24081 PARTMAP->ITERATE instead of GRUB_ERRNO.
24082
24083 * kern/device.c: Include grub/partition.h.
24084 (grub_device_iterate): New function.
24085
24086 * include/grub/partition.h (grub_partition_iterate): Return int
24087 instead of grub_err_t.
24088
24089 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24090 prototype.
24091 [GRUB_UTIL] (grub_search_fini): Likewise.
24092
24093 * include/grub/device.h (grub_device_iterate): New prototype.
24094
24095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24096 commands/search.c.
24097 (pkgdata_MODULES): Added search.mod.
24098 (search_mod_SOURCES): New variable.
24099 (search_mod_CFLAGS): Likewise.
24100
24101 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24102 (pkgdata_MODULES): Added search.mod.
24103 (search_mod_SOURCES): New variable.
24104 (search_mod_CFLAGS): Likewise.
24105
24106 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24107 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24108 All callers changed.
24109
24110 * DISTLIST: Added commands/search.c.
24111
24112 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24113
24114 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24115 conversion.
24116 (grub_getcharwidth): New function.
24117
24118 * kern/misc.c (grub_utf8_to_ucs4): New function.
24119
24120 * include/grub/term.h (struct grub_term): Added a new member
24121 "getcharwidth".
24122 (grub_getcharwidth): New prototype.
24123
24124 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24125
24126 * term/i386/pc/console.c (map_char): New function. Segregated from
24127 grub_console_putchar.
24128 (grub_console_putchar): Use map_char.
24129 (grub_console_getcharwidth): New function.
24130 (grub_console_term): Specified grub_console_getcharwidth as
24131 getcharwidth.
24132
24133 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24134 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24135
24136 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24137 GRUB_ERRNO.
24138 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24139 on grub_strtoul completely.
24140 (write_char): Declare local variables in the beginning of the
24141 function.
24142 (grub_vesafb_getcharwidth): New function.
24143 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24144 getcharwidth.
24145
24146 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24147
24148 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24149 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24150 commands/i386/pc/vbetest.c.
24151
24152 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24153 call grub_vbe_get_controller_info again, because the returned
24154 information is volatile.
24155 (grub_vbe_set_video_mode): Mostly rewritten.
24156 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24157 grub_vbe_status_t correctly.
24158 (grub_vbe_get_video_mode_info): Likewise.
24159 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24160 several if statements.
24161
24162 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24163 * commands/i386/pc/vbeinfo.c: ... this.
24164
24165 * commands/i386/pc/vbe_test.c: Renamed to ...
24166 * commands/i386/pc/vbetest.c: ... this.
24167
24168 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24169 ...
24170 (grub_cmd_vbeinfo): ... this. Save video modes before
24171 iterating. Skip a video mode, if it is not available, not enough
24172 information is given or it is monochrome. Show the memory
24173 model. Leave the interpretation of MODEVAR to grub_strtoul
24174 completely.
24175 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24176 (GRUB_MOD_FINI): Likewise.
24177
24178 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24179 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24180 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24181 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24182 grub_strtoul completely.
24183 (real2pm): Removed.
24184 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24185 (GRUB_MOD_FINI): Likewise.
24186
24187 * normal/misc.c: Include grub/mm.h.
24188
24189 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24190 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24191 (vbe_list_modes_mod_SOURCES): Removed.
24192 (vbe_list_modes_mod_CFLAGS): Likewise.
24193 (vbe_test_mod_SOURCES): Likewise.
24194 (vbe_test_mod_CFLAGS): Likewise.
24195 (vbeinfo_mod_SOURCES): New variable.
24196 (vbeinfo_mod_CFLAGS): Likewise.
24197 (vbetest_mod_SOURCES): Likewise.
24198 (vbetest_mod_CFLAGS): Likewise.
24199
24200 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24201
24202 * normal/misc.c: New file.
24203
24204 * DISTLIST: Added normal/misc.c.
24205
24206 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24207 DISK to HOOK. Call HOOK with DISK.
24208 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24209 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24210 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24211
24212 * normal/menu_entry.c (struct screen): Added a new member
24213 "completion_shown".
24214 (completion_buffer): New global variable.
24215 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
24216 (store_completion): New function.
24217 (complete): Likewise.
24218 (clear_completions): Likewise.
24219 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
24220 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
24221 a tab, call complete.
24222
24223 * normal/completion.c (disk_dev): Removed.
24224 (print_simple_completion): Likewise.
24225 (print_partition_completion): Likewise.
24226 (print_func): New global variable.
24227 (add_completion): Do not take the arguments WHAT or PRINT any
24228 longer. Added a new argument TYPE. Instead of printing directly,
24229 call PRINT_FUNC if not NULL.
24230 All callers changed.
24231 (complete_device): Use a local variable DEV instead of
24232 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
24233 (grub_normal_do_completion): Take a new argument HOOK. Do not
24234 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
24235 empty string, return NULL instead.
24236 All callers changed.
24237
24238 * normal/cmdline.c (print_completion): New function.
24239
24240 * kern/partition.c (grub_partition_iterate): Add an argument DISK
24241 to HOOK.
24242 All callers changed.
24243
24244 * kern/disk.c (grub_print_partinfo): Removed.
24245
24246 * include/grub/partition.h (struct grub_partition_map): Add a new
24247 argument DISK into HOOK of ITERATE.
24248 (grub_partition_iterate): Add a new argument DISK to HOOK.
24249
24250 * include/grub/normal.h (enum grub_completion_type): New enum.
24251 (grub_completion_type_t): New type.
24252 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
24253 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
24254 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
24255 (GRUB_COMPLETION_TYPE_FILE): Likewise.
24256 (grub_normal_do_completion): Added a new argument HOOK.
24257 (grub_normal_print_device_info): New prototype.
24258
24259 * include/grub/disk.h (grub_print_partinfo): Removed.
24260
24261 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
24262 (normal_mod_SOURCES): Likewise.
24263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24264 (normal_mod_SOURCES): Likewise.
24265
24266 * commands/ls.c (grub_ls_list_disks): Use
24267 grub_normal_print_device_info instead of grub_print_partinfo. Free
24268 PNAME.
24269 (grub_ls_list_files): Use grub_normal_print_device_info instead of
24270 duplicating the code.
24271
24272 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24273
24274 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
24275 follow GCS more precisely.
24276 * commands/i386/pc/vbe_test.c: Likewise.
24277 * include/grub/i386/pc/vbe.h: Likewise.
24278 * term/i386/pc/vesafb.c: Likewise.
24279 * video/i386/pc/vbe.c: Likewise.
24280
24281 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24282
24283 * DISTLIST: Added term/i386/pc/vesafb.c
24284 DISTLIST: Added video/i386/pc/vbe.c
24285 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
24286 DISTLIST: Added commands/i386/pc/vbe_test.c.
24287 * commands/i386/pc/vbe_list_modes.c: New file.
24288 * commands/i386/pc/vbe_test.c: Likewise.
24289 * term/i386/pc/vesafb.c: Likewise.
24290 * video/i386/pc/vbe.c: Likewise.
24291 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
24292 (grub_vbe_probe) Added prototype.
24293 (grub_vbe_set_video_mode) Likewise.
24294 (grub_vbe_get_video_mode) Likewise.
24295 (grub_vbe_get_video_mode_info) Likewise.
24296 (grub_vbe_set_pixel_rgb) Likewise.
24297 (grub_vbe_set_pixel_index) Likewise.
24298 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
24299 (pkgdata_MODULES): Added vesafb.mod.
24300 (pkgdata_MODULES): Added vbe_list_modes.mod.
24301 (pkgdata_MODULES): Added vbe_test.mod.
24302 (vbe_mod_SOURCES): Added.
24303 (vbe_mod_CFLAGS): Likewise.
24304 (vesafb_mod_SOURCES): Likewise.
24305 (vesafb_mod_CFLAGS): Likewise.
24306 (vbe_list_modes_mod_SOURCES): Likewise.
24307 (vbe_list_modes_mod_CFLAGS): Likewise.
24308 (vbe_test_mod_SOURCES): Likewise.
24309 (vbe_test_mod_CFLAGS): Likewise.
24310
24311 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
24312
24313 * normal/command.c (grub_command_execute): If INTERACTIVE is
24314 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
24315 CMDLINE. Disable the pager if INTERACTIVE is true.
24316 All callers are changed.
24317
24318 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
24319 before reading a config file.
24320 * normal/main.c (read_config_file): Even if a command is not
24321 found, register it if it is within an entry.
24322
24323 * util/grub-emu.c: Include sys/types.h and unistd.h.
24324 (options): Added --hold.
24325 (struct arguments): Added a new member "hold".
24326 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
24327 missing.
24328 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
24329 cleared by a debugger, if it is not zero.
24330
24331 * include/grub/normal.h (grub_command_execute): Add an argument
24332 INTERACTIVE.
24333
24334 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
24335
24336 * DISTLIST: Added include/grub/i386/pc/vbe.h.
24337
24338 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
24339
24340 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
24341 program with another one, because the old one didn't detect a bug
24342 in gcc-3.4. Always use regparm 2, because the new test is still
24343 not enough for gcc-4.0. Someone must investigate a simple test
24344 case which detects a bug in gcc-4.0.
24345
24346 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
24347
24348 * DISTLIST: Added normal/completion.c.
24349
24350 * normal/completion.c: New file.
24351
24352 * term/i386/pc/console.c (grub_console_getwh): New function.
24353 (grub_console_term): Assign grub_console_getwh to getwh.
24354
24355 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
24356 function is defined in normal/completion.c as
24357 grub_normal_do_completion.
24358 (grub_cmdline_get): Use grub_normal_do_completion instead of
24359 grub_tab_complete.
24360
24361 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
24362 returns non-zero, otherwise return 0.
24363 (grub_partition_iterate): First, probe the partition map. Then,
24364 call ITERATE only for this partition map.
24365
24366 * kern/misc.c (grub_strncmp): Rewritten.
24367
24368 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
24369 returns non-zero. Otherwise return 0.
24370
24371 * include/grub/partition.h (grub_partition_map_iterate): Return
24372 int instead of void.
24373
24374 * include/grub/normal.h (grub_normal_do_completion): New prototype.
24375
24376 * include/grub/misc.h (grub_strncmp): Change the type of N to
24377 grub_size_t.
24378
24379 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
24380 of void.
24381
24382 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
24383 unsigned explicitly before comparing it with I.
24384
24385 * kern/main.c (grub_env_write_root): Add the attribute unused into
24386 VAR.
24387
24388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24389 normal/completion.c.
24390 (normal_mod_SOURCES): Likewise.
24391 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24392 (normal_mod_SOURCES): Likewise.
24393
24394 * normal/command.c (grub_iterate_commands): If ITERATE returns
24395 non-zero, return one immediately.
24396
24397 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
24398
24399 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
24400 * kern/i386/pc/startup.S: Updated Global Descriptor table's
24401 descriptions.
24402 (grub_vbe_get_controller_info): New function.
24403 (grub_vbe_get_mode_info): Likewise.
24404 (grub_vbe_set_mode): Likewise.
24405 (grub_vbe_get_mode): Likewise.
24406 (grub_vbe_set_memory_window): Likewise.
24407 (grub_vbe_get_memory_window): Likewise.
24408 (grub_vbe_set_scanline_length): Likewise.
24409 (grub_vbe_get_scanline_length): Likewise.
24410 (grub_vbe_set_display_start): Likewise.
24411 (grub_vbe_get_display_start): Likewise.
24412 (grub_vbe_set_palette_data): Likewise.
24413 * include/grub/i386/pc/vbe.h: New file.
24414
24415 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24416
24417 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24418 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
24419 * DISTLIST: Likewise.
24420 * kern/ieee1275/of.c: Moved to ...
24421 * kern/ieee1275/ieee1275.c: ... here.
24422
24423 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24424
24425 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
24426 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
24427 Pass 0 as `end' parameter to grub_strtoul().
24428
24429 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24430
24431 * include/grub/powerpc/ieee1275/console.h: Do not include
24432 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
24433 ifdef.
24434 (grub_console_cur_color): Remove i386-specific prototype.
24435 (grub_console_real_putchar): Likewise.
24436 (grub_console_checkkey): Likewise.
24437 (grub_console_getkey): Likewise.
24438 (grub_console_getxy): Likewise.
24439 (grub_console_gotoxy): Likewise.
24440 (grub_console_cls): Likewise.
24441 (grub_console_setcursor): Likewise.
24442 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
24443 Include <grub/machine/console.h>.
24444 * term/ieee1275/ofconsole.c: Likewise.
24445
24446 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
24447
24448 * Makefile.in (LIBLZO): New variable.
24449
24450 * configure.ac: Check for LZO version 2.
24451
24452 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
24453 lzo/lzo1x.h instead of lzo1x.h.
24454
24455 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
24456 of -llzo.
24457
24458 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
24459 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
24460
24461 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
24462 copying the data from PARTITION to P.
24463
24464 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24465
24466 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
24467 negative, unload the module.
24468
24469 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
24470 map is "pc_partition_map" but not "pc".
24471 (usage): Fix the description. The options are --boot-image and
24472 --core-image but not --boot-file or --core-file.
24473 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
24474 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
24475 DEFAULT_DIRECTORY.
24476
24477 * util/i386/pc/grub-install.in: Do not specify --boot-file or
24478 --core-file. Specify INSTALL_DEVICE as an argument.
24479
24480 * util/console.c: Include config.h.
24481 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
24482 [HAVE_NCURSES_H]: Include ncurses.h.
24483 [HAVE_CURSES_H]: Include curses.h.
24484 [!A_NORMAL] (A_NORMAL): Defined as zero.
24485 [!A_STANDOUT] (A_STANDOUT): Likewise.
24486
24487 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
24488 -lncurses.
24489 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
24490
24491 * configure.ac: Check for curses libraries and headers.
24492
24493 * Makefile.in (LIBCURSES): New variable.
24494
24495 * genmk.rb (Script::rule): Set the executable bits.
24496
24497 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
24498 name of the PC partition map is "pc_partition_map" but not "pc".
24499
24500 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24501
24502 * util/i386/pc/grub-install.in (grub_probefs): New variable.
24503 (modules): Likewise.
24504 (usage): Added descriptions for --modules and --grub-probefs.
24505 Handle --modules and --grub-probefs. Save the arguments in MODULES
24506 and GRUB_PROBEFS, respectively.
24507 Auto-detect a filesystem module against GRUBDIR. If the result is
24508 empty and modules are not specified explicitly, abort the
24509 installation. Add the result to MODULES.
24510
24511 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
24512 disk/powerpc/ieee1275/ofdisk.c,
24513 include/grub/powerpc/ieee1275/init.h and
24514 term/powerpc/ieee1275/ofconsole.c.
24515 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
24516 term/ieee1275/ofconsole.c.
24517
24518 * include/grub/powerpc/ieee1275/console.h: Resurrected.
24519
24520 * COPYING: Upgraded to the latest version. Only the address of the
24521 FSF office has changed.
24522
24523 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24524
24525 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24526 kern/ieee1275.c with kern/ieee1275/of.c.
24527
24528 * kern/ieee1275.c: Moved to ...
24529 * kern/ieee1275/of.c: ... here.
24530
24531 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
24532
24533 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
24534 readability.
24535
24536 * config.guess: Updated to the latest version from gnulib.
24537 * config.sub: Likewise.
24538 * install.sh: Likewise.
24539 * mkinstalldirs: Likewise.
24540
24541 * include/grub/console.h: Removed. This file is arch-specific. Do
24542 not put this in include/grub.
24543
24544 * include/grub/i386/pc/console.h: Resurrected.
24545
24546 * util/console.c: Include grub/machine/console.h instead of
24547 grub/console.h.
24548 * util/grub-emu.c: Likewise.
24549
24550 2005-08-04 Marco Gerards <metgerards@student.han.nl>
24551
24552 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
24553 hardcoded value.
24554
24555 From Vincent Pelletier <subdino2004@yahoo.fr>
24556 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
24557 Redefined to use grub_getwh.
24558 (grub_term): New member named getwh.
24559 (grub_getwh): New prototype.
24560 * kern/term.c (grub_getwh): New function.
24561 * term/i386/pc/console.c (grub_console_getwh): New function.
24562 (grub_console_term): New member `getwh'.
24563 * term/i386/pc/vga.c (grub_vga_getwh): New function.
24564 (grub_vga_term): New member `getwh'.
24565 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
24566 grub_ssize_t.
24567 (grub_ofconsole_getw): New function.
24568 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
24569 (grub_ofconsole_term): New field named getwh and new initial
24570 value.
24571
24572 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
24573
24574 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
24575 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
24576 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
24577 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
24578 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
24579 of <grub/machine/ieee1275.h>.
24580 * commands/ieee1275/reboot.c: Likewise.
24581 * boot/powerpc/ieee1275/ieee1275.c: Move ...
24582 * kern/ieee1275.c: ... to here. All users updated. Change all
24583 parameter structs to use new type `grub_ieee1275_cell_t'.
24584 * term/powerpc/ieee1275/ofconsole.c: Move ...
24585 * term/ieee1275/ofconsole.c: ... to here. All users updated.
24586 * disk/powerpc/ieee1275/ofdisk.c: Move ...
24587 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
24588 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
24589 to return int.
24590 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
24591 Remove unused prototypes. All users updated.
24592 * include/grub/powerpc/ieee1275/console.h: Removed.
24593 * include/grub/powerpc/ieee1275/ieee1275.h: Define
24594 `grub_ieee1275_cell_t'.
24595 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
24596 Cast comparisons with -1 to the correct type.
24597 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
24598 type to match `grub_ieee1275_entry_fn'.
24599
24600 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
24601
24602 * DISTLIST: Added util/i386/pc/grub-probefs.c.
24603
24604 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
24605 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
24606 partmap/sun.c.
24607 (grub_probefs_SOURCES): New variable.
24608
24609 * util/i386/pc/grub-probefs.c: New file.
24610
24611 * util/i386/pc/grub-setup.c (main): Call
24612 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
24613 grub_hfs_init and grub_jfs_init to initialize the system. Call
24614 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
24615 grub_pc_partition_map_fini to finish the system.
24616
24617 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
24618
24619 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
24620 function.
24621 (grub_multiboot_load_elf32): Likewise.
24622 (grub_multiboot_is_elf64): Likewise.
24623 (grub_multiboot_load_elf64): Likewise.
24624 (grub_multiboot_load_elf): Likewise.
24625 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
24626 an ELF32 or ELF64 file.
24627 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
24628
24629 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
24630 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
24631 NULL before calling FS->LABEL.
24632 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
24633 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
24634 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
24635 before calling FS->LABEL.
24636
24637 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
24638
24639 * util/i386/pc/grub-install.in (datadir): New variable.
24640 (libdir): Removed.
24641 (pkgdatadir): New variable.
24642 (pkglibdir): Removed.
24643
24644 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
24645
24646 * DISTLIST: Added util/i386/pc/grub-install.in.
24647
24648 * util/i386/pc/grub-install.in: New file.
24649
24650 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
24651 (grub_install_SOURCES): Likewise.
24652
24653 * genmk.rb: Added support for scripts.
24654 (Script): New class.
24655 (scripts): New variable.
24656
24657 * Makefile.in (install-local): Install sbin_SCRIPTS by
24658 INSTALL_SCRIPT.
24659 (uninstall): Remove sbin_SCRIPTS.
24660
24661 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
24662 device, try to get a GRUB device by
24663 grub_util_biosdisk_get_grub_dev.
24664 Free DEST_DEV.
24665
24666 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
24667 description for --device-map.
24668
24669 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24670
24671 Change the semantics of variable hooks. They now return strings
24672 instead of error values.
24673
24674 * util/i386/pc/grub-setup.c: Include grub/env.h.
24675 (setup): Use grub_device_set_root instead of grub_env_set.
24676
24677 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
24678 grub_env_get instead of grub_device_set_root and
24679 grub_device_get_root, respectively.
24680
24681 * kern/main.c (grub_env_write_root): New function.
24682 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
24683 grub_env_set instead of grub_device_set_root.
24684
24685 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
24686 many variables.
24687 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
24688 rather than calling ENV->WRITE_HOOK afterwards.
24689 (grub_env_get): Return the result of ENV->READ_HOOK rather than
24690 passing a pointer of a pointer.
24691 (grub_register_variable_hook): Change the types of "read_hook" and
24692 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
24693 respectively.
24694 Allocate the default empty string on the heap, because this string
24695 may be freed later.
24696
24697 * kern/device.c: Include grub/env.h.
24698 (grub_device_set_root): Removed.
24699 (grub_device_get_root): Likewise.
24700 (grub_device_open): Use grub_env_get instead of
24701 grub_device_get_root.
24702
24703 * include/grub/env.h (grub_env_read_hook_t): New type.
24704 (grub_env_write_hook_t): Likewise.
24705 (grub_env_var): Change the types of "read_hook" and "write_hook"
24706 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
24707 (grub_register_variable_hook): Likewise.
24708
24709 * include/grub/device.h (grub_device_set_root): Removed.
24710 (grub_device_set_root): Likewise.
24711
24712 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
24713 make sure that DIRNAME terminates with '/', so that
24714 grub_fat_find_dir will fail if PATH is not a directory.
24715
24716 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
24717 from DIRNAME.
24718 Use the qualifier auto for print_files and print_files_long.
24719 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
24720 as a regular file.
24721 Put a newline only if there is no error.
24722 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
24723 used.
24724
24725 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24726
24727 * kern/partition.c (grub_partition_probe): Initialize PART to
24728 NULL. Otherwise, when no partition map is registered, this returns
24729 a garbage.
24730
24731 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
24732
24733 * partmap/apple.c (apple_partition_map_iterate): Check if POS
24734 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
24735 valid.
24736
24737 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
24738
24739 * commands/ls.c (grub_ls_list_disks): Print the filesystem
24740 information on each device, if it does not have partitions. Print
24741 "Device" instead of "Disk", because this function is not specific
24742 to disk devices.
24743
24744 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
24745 static to ensure that it is put on the memory rather than a
24746 register.
24747
24748 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24749
24750 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
24751 (grub_cat_init): Likewise.
24752 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
24753 (options): Likewise.
24754 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24755 (grub_configfile_init): Likewise.
24756 * font/manager.c (GRUB_MOD_INIT): Likewise.
24757 * commands/help.c (GRUB_MOD_INIT): Likewise.
24758 (grub_help_init): Likewise.
24759 * normal/command.c (grub_command_init): Likewise.
24760 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
24761 * disk/loopback.c (grub_loop_init): Likewise.
24762 (GRUB_MOD_INIT): Likewise.
24763 * commands/ls.c (grub_ls_init): Likewise.
24764 (GRUB_MOD_INIT): Likewise.
24765 (options): Likewise.
24766 * commands/boot.c (grub_boot_init): Likewise.
24767 (GRUB_MOD_INIT): Likewise.
24768 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
24769 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
24770 (GRUB_MOD_INIT): Likewise.
24771 * commands/cmp.c (grub_cmp_init): Likewise.
24772 (GRUB_MOD_INIT): Likewise.
24773
24774 * normal/arg.c: Use <> instead of "" to include header files.
24775 (SHORT_ARG_HELP): New macro.
24776 (SHORT_ARG_USAGE): Likewise.
24777 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
24778 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
24779 descriptions.
24780 (find_short): Check if C is 'h' or 'u' explicitly.
24781 (grub_arg_show_help): Use space characters instead of tabs. Treat
24782 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
24783 are shown with --help and --usage only if they are not used for
24784 the command itself.
24785 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
24786 'h' and 'u'.
24787
24788 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
24789 const into "longarg". Change the type of "shortarg" to int.
24790
24791 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24792
24793 * boot/i386/pc/boot.S (boot_drive_check): New label.
24794
24795 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
24796 macro.
24797
24798 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
24799 which do not pass a boot drive correctly. Copied from GRUB Legacy.
24800
24801 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24802
24803 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
24804 When turning off Gate A20, skip the check and return immediately,
24805 because this is not fatal usually.
24806
24807 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
24808
24809 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
24810 be 0x7C00 instead of 0x8000.
24811
24812 * boot/i386/pc/pxeboot.S: Rewritten.
24813
24814 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
24815 EXT_C.
24816 (gate_a20_check_state): Read a byte from 0x108000. Invert the
24817 result.
24818
24819 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
24820
24821 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
24822 robustness. This routine now supports a BIOS call and System
24823 Control Port A to modify the gate A20.
24824
24825 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24826 Increased to 0x440.
24827
24828 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
24829
24830 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
24831 device path and resulting ihandle.
24832 (grub_ofdisk_close): dprintf the ihandle being closed.
24833 (grub_ofdisk_read): dprintf function parameters.
24834 * kern/mm.c (grub_mm_init_region): Likewise.
24835 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
24836 (grub_linux_boot): dprintf the Linux entry point, initrd address and
24837 size, and boot arguments.
24838 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
24839 before loading into memory.
24840 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
24841 before loading into memory.
24842
24843 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
24844
24845 * kern/mm.c: Added much documentation.
24846 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
24847 8, set to 5 instead of 8.
24848
24849 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
24850
24851 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
24852
24853 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
24854 (grub_mkdevicemap_SOURCES): New variable.
24855
24856 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
24857 lib/device.c of GRUB Legacy.
24858
24859 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
24860
24861 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
24862 instead of PATH is NULL.
24863
24864 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
24865
24866 * commands/cmp.c (BUFFER_SIZE): New macro.
24867 (grub_cmd_cmp): Close the right file at the right time. Compare
24868 only data just read. Don't report files of different size as
24869 identical. Dynamically allocate buffers. Move variable
24870 declarations at the beginning of function.
24871
24872 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
24873
24874 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
24875 reverse.
24876
24877 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
24878
24879 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
24880 when backspace is pressed at beginning of line.
24881
24882 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
24883
24884 * DISTLIST: Added genfslist.sh.
24885
24886 * normal/main.c (fs_module_list): New variable.
24887 (autoload_fs_module): New function.
24888 (read_fs_list): Likewise.
24889 (grub_normal_execute): Call read_fs_list.
24890
24891 * kern/fs.c (grub_fs_autoload_hook): New variable.
24892 (grub_fs_probe): Added support for auto-loading.
24893
24894 * include/grub/normal.h (struct grub_fs_module_list): New struct.
24895 (grub_fs_module_list_t): New type.
24896
24897 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
24898 (grub_fs_autoload_hook): New prototype.
24899
24900 * genfslist.sh: New file.
24901
24902 * genmk.rb: Added a rule to generate a filesystem list.
24903
24904 2005-06-30 Marco Gerards <metgerards@student.han.nl>
24905
24906 * configure.ac: Fix the test for cross-compiling.
24907
24908 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
24909 define GRUB_UTIL anymore.
24910
24911 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
24912 so this function works on other systems than just big endian.
24913 (load_modules): Likewise.
24914 (add_segments): Likewise.
24915
24916 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
24917
24918 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
24919 contains `l' modifier, get a long from va_arg().
24920
24921 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
24922
24923 * kern/mm.c (grub_free): If the next free block which is being
24924 merged is the first free block, set the first block to the block
24925 being freed.
24926 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
24927
24928 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24929
24930 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
24931 `grub_ieee1275_chosen'.
24932
24933 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24934
24935 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
24936 (grub_ieee1275_chosen): New variable.
24937 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
24938 `chosen'.
24939 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
24940 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24941 Rename first argument to `phandle' for consistency.
24942 (grub_ieee1275_get_property_length): Likewise.
24943 (grub_ieee1275_next_property): Likewise. Change type of first argument
24944 to grub_ieee1275_phandle_t.
24945 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
24946 Move export next to declaration.
24947 (grub_ieee1275_chosen): New variable.
24948 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
24949 Correct cosmetic typo.
24950 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
24951 `grub_ieee1275_chosen'.
24952 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
24953 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
24954 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
24955 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
24956 `grub_ieee1275_chosen'.
24957
24958 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
24959
24960 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
24961 /chosen/bootargs.
24962 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
24963 /chosen/bootargs as "variable=value" pairs.
24964
24965 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
24966
24967 * include/grub/misc.h (grub_dprintf): New macro.
24968 (grub_real_dprintf): New prototype.
24969 (grub_strword): Likewise.
24970 (grub_iswordseparator): Likewise.
24971 * kern/misc.c (grub_real_dprintf): New function.
24972 (grub_strword): Likewise.
24973 (grub_iswordseparator): Likewise.
24974
24975 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
24976
24977 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
24978 (roundup): Remove macro.
24979 (grub_ieee1275_flags): Make static.
24980 (grub_ieee1275_realmode): Remove.
24981 (grub_ieee1275_test_flag): New function.
24982 (grub_ieee1275_set_flag): Likewise.
24983 (find_options): Rename to `grub_ieee1275_find_options'; update
24984 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
24985 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
24986 (cmain): New prototype.
24987 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
24988 `grub_ieee1275_flags' directly.
24989 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
24990 machine/biosdisk.h.
24991 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
24992 Don't include grub/machine/init.h.
24993 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
24994 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24995 Remove prototype.
24996 (grub_ieee1275_realmode): Likewise.
24997 (grub_ieee1275_flag): New enum.
24998 (grub_ieee1275_test_flag): New prototype.
24999 (grub_ieee1275_set_flag): New prototype.
25000 * include/grub/powerpc/ieee1275/init.h: Remove file.
25001 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25002 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25003 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25004 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25005 comment.
25006 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25007 `grub_ieee1275_test_flag'.
25008 (grub_ieee1275_encode_devname): Likewise.
25009
25010 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25011
25012 * include/grub/powerpc/ieee1275/ieee1275.h
25013 (grub_ieee1275_encode_devname): New prototype.
25014 (grub_ieee1275_get_filename): Likewise.
25015 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25016 function.
25017 (grub_set_prefix): Likewise.
25018 (grub_machine_init): Call grub_set_prefix.
25019 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25020 (grub_parse_type): New enum.
25021 (grub_ieee1275_get_devargs): New function.
25022 (grub_ieee1275_get_devname): Likewise.
25023 (grub_ieee1275_parse_args): Likewise.
25024 (grub_ieee1275_get_filename): Likewise.
25025 (grub_ieee1275_encode_devname): Likewise.
25026
25027 2005-03-30 Marco Gerards <metgerards@student.han.nl>
25028
25029 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25030 `grub_loader_unset'.
25031
25032 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25033
25034 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25035 instead of grub_ieee1275_interpret.
25036 (grub_halt_init): New function.
25037 (grub_halt_fini): Likewise.
25038 (GRUB_MOD_INIT): Correct message grammar.
25039 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25040 instead of grub_ieee1275_interpret.
25041 (grub_reboot_init): New function.
25042 (grub_reboot_fini): Likewise.
25043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25044 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25045 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25046 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25047 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25048 function.
25049 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25050 Add prototype.
25051 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25052 prototype.
25053 (grub_halt): Likewise.
25054 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25055 (cmain): Remove __attribute__((unused)).
25056 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25057 (grub_heap_len): Likewise.
25058 (grub_machine_fini): New function.
25059 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25060 (grub_halt): Likewise.
25061 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25062 function.
25063 * util/powerpc/ieee1275/misc.c: New file.
25064
25065 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25066
25067 * DISTLIST: New file.
25068 * gendistlist.sh: Likewise.
25069
25070 * Makefile.in (COMMON_DISTFILES): Removed.
25071 (BOOT_DISTFILES): Likewise.
25072 (CONF_DISTFILES): Likewise.
25073 (DISK_DISTFILES): Likewise.
25074 (FS_DISTFILES): Likewise.
25075 (INCLUDE_DISTFILES): Likewise.
25076 (KERN_DISTFILES): Likewise.
25077 (LOADER_DISTFILES): Likewise.
25078 (TERM_DISTFILES): Likewise.
25079 (UTIL_DISTFILES): Likewise.
25080 (DISTFILES): Likewise.
25081 (uninstall): Uninstall files in $(pkgdata_DATA).
25082 (DISTLIST): New target.
25083 (distdir): Use the contents of the file DISTLIST to get a list of
25084 distributed files.
25085
25086 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25087
25088 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25089 descriptor. This is ported from GRUB Legacy.
25090
25091 * gencmdlist.sh: Added an extra semicolon to make it work with
25092 old sed versions. Reported by Robert Bihlmeyer
25093 <robbe@orcus.priv.at>.
25094
25095 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
25096
25097 Automatic loading of commands is supported.
25098
25099 * normal/main.c (read_command_list): New function.
25100 (grub_normal_execute): Call read_command_list.
25101
25102 * normal/command.c (grub_register_command): Return zero or CMD.
25103 Allocate CMD->NAME from the heap.
25104 Initialize CMD->MODULE_NAME to zero.
25105 Find the same name as well. If the same command is found and it is
25106 a dummy command, overwrite members. If it is not a dummy command,
25107 return zero.
25108 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25109 (grub_command_find): If a dummy command is found, load a module
25110 and retry to find a command only once.
25111
25112 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25113 make sure that each command is loaded.
25114
25115 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25116 macro.
25117 (struct grub_command): Remove const from the member `name'.
25118 Add a new member `module_name'.
25119 (grub_register_command): Return grub_command_t.
25120
25121 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25122 sure that each command is loaded.
25123
25124 * genmk.rb (PModule::rule): Specify a module name without the
25125 suffix ".mod" to gencmdlist.sh.
25126
25127 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25128
25129 * gencmdlist.sh: New file.
25130
25131 * genmk.rb (PModule::rule): Generate a rule for a command list.
25132 Clean command.lst.
25133 Generate command.lst from $(COMMANDFILES).
25134
25135 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25136 (DATA): Added $(pkgdata_DATA).
25137 (install-local): Install files in $(pkgdata_DATA).
25138
25139 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25140
25141 * term/i386/pc/vga.c (debug_command): Removed.
25142 (GRUB_MOD_INIT): Do not register the command "debug".
25143
25144 From Hollis Blanchard:
25145 * commands/configfile.c: New file.
25146 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25147 commands/configfile.c.
25148 (pkgdata_MODULES): Added configfile.mod.
25149 (configfile_mod_SOURCES): New variable.
25150 (configfile_mod_CFLAGS): Likewise.
25151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25152 commands/configfile.c.
25153 (pkgdata_MODULES): Added configfile.mod.
25154 (configfile_mod_SOURCES): New variable.
25155 (configfile_mod_CFLAGS): Likewise.
25156 * util/grub-emu.c (main): Call grub_configfile_init and
25157 grub_configfile_fini.
25158 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25159 prototype.
25160 [GRUB_UTIL] (grub_configfile_fini): Likewise.
25161
25162 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25163
25164 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25165 address.
25166
25167 * commands/help.c (grub_cmd_help): Do not print newlines after
25168 the last command in print_command_help.
25169
25170 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25171
25172 * commands/default.h: New file.
25173 * commands/timeout.h: Likewise.
25174 * normal/context.c: Likewise.
25175
25176 * util/misc.c: Do not include sys/times.h.
25177 Include sys/time.h and grub/machine/time.h.
25178 (grub_get_rtc): Rewritten with gettimeofday.
25179
25180 * util/grub-emu.c (main): Call grub_default_init and
25181 grub_timeout_init before grub_normal_init, and call
25182 grub_timeout_fini and grub_default_fini after grub_main.
25183
25184 * util/console.c (grub_ncurses_checkkey): Return the read
25185 character or -1.
25186
25187 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25188 timeouts.
25189
25190 * normal/main.c (read_config_file): Push MENU. If this fails,
25191 print an error and wait for a user input.
25192 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25193 If a menu is empty or an error occurs, pop MENU.
25194 (grub_normal_execute): Pop and free MENU after grub_menu_run
25195 returns.
25196
25197 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25198
25199 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25200 include time.h.
25201 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25202 without GRUB_UTIL.
25203 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25204 time.h.
25205 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25206 without GRUB_UTIL.
25207
25208 * include/grub/normal.h (struct grub_menu_list): New struct.
25209 (grub_menu_list_t): New type.
25210 (struct grub_context): New struct.
25211 (grub_context_t): New type.
25212 (grub_register_command): Got rid of EXPORT_FUNC.
25213 (grub_unregister_command): Likewise.
25214 (grub_context_get): New prototype.
25215 (grub_context_get_current_menu): Likewise.
25216 (grub_context_push_menu): Likewise.
25217 (grub_context_pop_menu): Likewise.
25218 [GRUB_UTIL] (grub_default_init): Likewise.
25219 [GRUB_UTIL] (grub_default_fini): Likewise.
25220 [GRUB_UTIL] (grub_timeout_init): Likewise.
25221 [GRUB_UTIL] (grub_timeout_fini): Likewise.
25222
25223 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
25224 commands/timeout.c and normal/context.c.
25225 (pkgdata_MODULES): Added default.mod and timeout.mod.
25226 (normal_mod_SOURCES): Added normal/context.c.
25227 (default_mod_SOURCES): New variable.
25228 (default_mod_CFLAGS): Likewise.
25229 (timeout_mod_SOURCES): Likewise.
25230 (timeout_mod_CFLAGS): Likewise.
25231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
25232 conf/i386-pc.rmk.
25233 (pkgdata_MODULES): Added default.mod and timeout.mod.
25234 (normal_mod_SOURCES): Added normal/context.c.
25235 (default_mod_SOURCES): New variable.
25236 (default_mod_CFLAGS): Likewise.
25237 (timeout_mod_SOURCES): Likewise.
25238 (timeout_mod_CFLAGS): Likewise.
25239
25240 * Makefile.in (all-local): Added $(MKFILES).
25241
25242 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
25243
25244 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
25245 (grub_emu_SOURCES): Likewise.
25246 (pkgdata_MODULES): Add `sun.mod'.
25247 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25248 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25249 `partmap/sun.c'.
25250 (pkgdata_MODULES): Add `sun.mod'.
25251 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25252 * include/grub/partition.h (grub_sun_partition_map_init): New
25253 prototype.
25254 (grub_sun_partition_map_fini): Likewise.
25255 * partmap/sun.c: New file.
25256 * util/grub-emu.c (main): Initialize and de-initialize the sun
25257 partitionmap support.
25258
25259 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
25260
25261 This implements an Emacs-like menu entry editor.
25262
25263 * normal/menu_entry.c: New file.
25264
25265 * util/console.c (grub_ncurses_putchar): Translate some Unicode
25266 characters to ASCII.
25267 (saved_char): New variable.
25268 (grub_ncurses_checkkey): Rewritten completely.
25269 (grub_ncurses_getkey): Likewise.
25270 (grub_ncurses_init): Call raw instead of cbreak.
25271
25272 * normal/menu.c (print_entry): Do not put a space.
25273 (init_page): Renamed to ...
25274 (grub_menu_init_page): ... this. All callers changed.
25275 (edit_menu_entry): Removed.
25276 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
25277
25278 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
25279
25280 * kern/misc.c (grub_vprintf): Call grub_refresh.
25281
25282 * normal/menu.c (DISP_LEFT): Renamed to ...
25283 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
25284 * normal/menu.c (DISP_UP): Renamed to ...
25285 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
25286 * normal/menu.c (DISP_RIGHT): Renamed to ...
25287 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
25288 * normal/menu.c (DISP_DOWN): Renamed to ...
25289 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
25290 * normal/menu.c (DISP_HLINE): Renamed to ...
25291 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
25292 * normal/menu.c (DISP_VLINE): Renamed to ...
25293 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
25294 * normal/menu.c (DISP_UL): Renamed to ...
25295 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
25296 * normal/menu.c (DISP_UR): Renamed to ...
25297 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
25298 * normal/menu.c (DISP_LL): Renamed to ...
25299 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
25300 * normal/menu.c (DISP_LR): Renamed to ...
25301 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
25302 * normal/menu.c (TERM_WIDTH): Renamed to ...
25303 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
25304 * normal/menu.c (TERM_HEIGHT): Renamed to ...
25305 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
25306 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
25307 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
25308 * normal/menu.c (TERM_MARGIN): Renamed to ...
25309 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
25310 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
25311 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
25312 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
25313 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
25314 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
25315 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
25316 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
25317 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
25318 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
25319 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
25320 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
25321 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
25322 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
25323 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
25324 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
25325 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
25326 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
25327 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
25328 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
25329 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
25330 All callers changed.
25331
25332 * include/grub/normal.h: New prototype.
25333
25334 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25335 normal/menu_entry.c.
25336 (normal_mod_SOURCES): Likewise.
25337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25338 (normal_mod_SOURCES): Likewise.
25339
25340 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
25341
25342 * include/grub/normal.h (grub_halt_init): New prototype.
25343 (grub_halt_fini): Likewise.
25344 (grub_reboot_init): Likewise.
25345 (grub_reboot_fini): Likewise.
25346
25347 * util/grub-emu.c: Include signal.h.
25348 (main_env): New global variable.
25349 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
25350 catch C-c.
25351 (grub_machine_fini): New function.
25352 (main): Call grub_halt_init and grub_reboot_init before
25353 grub_main, and grub_reboot_fini and grub_halt_fini after it.
25354 Call setjmp with MAIN_ENV to go back afterwards.
25355 Call grub_machine_fini right before return.
25356
25357 * include/grub/util/misc.h: Include setjmp.h.
25358 (main_env): New prototype.
25359
25360 * include/grub/kernel.h (grub_machine_fini): New prototype.
25361 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
25362 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
25363
25364 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
25365 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
25366 * term/i386/pc/console.c (grub_console_fini): Likewise.
25367
25368 * util/i386/pc/misc.c: New file.
25369
25370 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25371 util/i386/pc/misc.c, commands/i386/pc/halt.c and
25372 commands/i386/pc/reboot.c.
25373
25374 2005-02-14 Guillem Jover <guillem@hadrons.org>
25375
25376 * include/grub/dl.h (grub_dl_check_header): New prototype.
25377 (grub_arch_dl_check_header): Change return type to grub_err_t,
25378 remove size parameter and export function. Update all callers.
25379 * kern/dl.c (grub_dl_check_header): New function.
25380 (grub_dl_load_core): Use `grub_dl_check_header' instead of
25381 `grub_arch_dl_check_header'. Check ELF type. Check if sections
25382 are inside the core.
25383 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
25384 independent ELF header checks.
25385 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25386 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
25387 `grub_dl_check_header' instead of explicit checks. Check for the
25388 ELF type.
25389 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
25390 `grub_dl_check_header' instead of explicit checks. Remove arch
25391 specific ELF header checks.
25392
25393 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
25394 argument SIZE.
25395
25396 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
25397
25398 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
25399 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
25400
25401 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
25402
25403 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
25404 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
25405 (part_map_iterate): Clear `grub_errno' and return 0 if
25406 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
25407 * partmap/amiga.c (amiga_partition_map_iterate): Return
25408 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
25409 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25410
25411 2005-02-01 Guillem Jover <guillem@hadrons.org>
25412
25413 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
25414 help info.
25415
25416 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25417
25418 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
25419 Removed prototype.
25420 (grub_rescue_cmd_linux): New prototype.
25421 (grub_rescue_cmd_initrd): Likewise.
25422 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
25423 `bi_rec'.
25424 (grub_linux_release_mem): Release the memory for the initrd.
25425 (grub_load_linux): Renamed from this...
25426 (grub_rescue_cmd_linux): ...To this. Changed all callers.
25427 Changed `entry' not to be static. Loop over memory regions to
25428 find another one when the default fails.
25429 (grub_rescue_cmd_initrd): New function.
25430 (grub_linux_init): Remove function.
25431 (grub_linux_fini): Likewise.
25432 (GRUB_MOD_INIT): Register `initrd'.
25433 (GRUB_MOD_FINI): Unregister `initrd'.
25434 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
25435 Function removed.
25436 (grub_linux_normal_fini): Likewise.
25437 (GRUB_MOD_INIT): Register `initrd'.
25438 (GRUB_MOD_FINI): Unregister `initrd'.
25439
25440 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25441
25442 * commands/help.c: New file.
25443 * normal/arg.c (show_help): Renamed to...
25444 (grub_arg_show_help): ... this.
25445 * commands/i386/pc/halt.c: New file.
25446 * commands/i386/pc/reboot.c: Likewise.
25447 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
25448 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
25449 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
25450 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
25451 variables.
25452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25453 `commands/help.c'.
25454 (pkgdata_MODULES): Add `help.mod'.
25455 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
25456 * grub/i386/pc/init.h (grub_reboot): New prototype.
25457 (grub_halt): Likewise.
25458 * include/grub/normal.h (grub_arg_show_help): New prototype.
25459 (grub_help_init): Likewise.
25460 (grub_help_fini): Likewise.
25461 * util/grub-emu.c (main): Initialize and deinitialize the help
25462 command.
25463
25464 * normal/cmdline.c (grub_cmdline_get): Doc fix.
25465
25466 * normal/command.c (grub_command_init): Fixed the description of
25467 the `set' and `unset' commands.
25468
25469 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25470
25471 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
25472 function.
25473 * commands/ieee1275/halt.c: New file.
25474 * commands/ieee1275/reboot.c: Likewise.
25475 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
25476 `__attribute__ ((unused))'. Some GCS related fixed.
25477 (grub_suspend_init) [GRUB_UTIL]: Function removed.
25478 (grub_suspend_fini): Likewise.
25479 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
25480 and `halt.mod'.
25481 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
25482 (halt_mod_CFLAGS): New variables.
25483 * include/grub/powerpc/ieee1275/ieee1275.h
25484 (grub_ieee1275_interpret): New prototype.
25485
25486 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
25487
25488 * include/grub/misc.h (memmove): New prototype.
25489 (memcpy): Likewise.
25490
25491 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
25492
25493 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
25494 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
25495
25496 2005-01-22 Marco Gerards <metgerards@student.han.nl>
25497
25498 * kern/misc.c (grub_strndup): Function rewritten.
25499
25500 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
25501
25502 * normal/menu.c (TERM_WIDTH): Macro redefined.
25503 (TERM_TOP_BORDER_Y): Likewise.
25504 (draw_border): Replaced while-loop by a for-loop. Make the number
25505 of lines consistent with the number of lines displayed in
25506 print_entries. Added a margin below the rectangle.
25507 (print_entry): Make the entry fit in the rectangle.
25508 (print_entries): Display the scroll arrows next to the right
25509 border.
25510
25511 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25512
25513 * fs/minix.c (grub_minix_find_file): Reserve more space for
25514 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
25515 `grub_strncpy' to copy `path' into it.
25516
25517 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25518
25519 Add the loopback device, a device via which files can be accessed
25520 as devices.
25521
25522 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
25523 (pkgdata_MODULES): Add loopback.mod.
25524 (loopback_mod_SOURCES): New variable.
25525 (loopback_mod_CFLAGS): Likewise.
25526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25527 `disk/loopback.c'.
25528 (pkgdata_MODULES): Add loopback.mod.
25529 (loopback_mod_SOURCES): New variable.
25530 (loopback_mod_CFLAGS): Likewise.
25531 * disk/loopback.c: new file.
25532 * include/grub/normal.h (grub_loop_init): New prototype.
25533 (grub_loop_fini): New prototype.
25534 * util/grub-emu.c (main): Initialize and de-initialize loopback
25535 support.
25536 * include/grub/disk.h (grub_disk_dev_id): Add
25537 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
25538
25539 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
25540
25541 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
25542 function.
25543 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
25544 (suspend_mod_SOURCES): New variable.
25545 (suspend_mod_CFLAGS): Likewise.
25546 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
25547 New prototype.
25548 * commands/ieee1275/suspend.c: New file.
25549
25550 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25551
25552 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
25553 ((unused))' to `__attribute__ ((used))'.
25554 (GRUB_MOD_FINI): Likewise.
25555 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
25556 * genmk.rb (PModule): Assign space to common symbols when linking
25557 modules.
25558
25559 2005-01-20 Marco Gerards <metgerards@student.han.nl>
25560
25561 * include/grub/mm.h (grub_mm_init_region): Change the type of the
25562 `unsigned' arguments to `grub_size_t'.
25563 (grub_malloc): Likewise.
25564 (grub_realloc): Likewise.
25565 (grub_memalign): Likewise.
25566 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
25567 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25568 * util/misc.c (grub_malloc): Likewise.
25569 (grub_realloc): Likewise.
25570 * kern/mm.c (get_header_from_pointer): Change the casts to
25571 `unsigned' into a cast to `grub_size_t'.
25572
25573 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
25574 point to `currnode' when `currnode' is changed.
25575
25576 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
25577 Schottelius <nico-linux@schottelius.org>.
25578
25579 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
25580
25581 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
25582 (note_path): Remove variable.
25583 (GRUB_IEEE1275_NOTE_NAME): New macro.
25584 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
25585 (grub_ieee1275_note_hdr): New structure.
25586 (grub_ieee1275_note_desc): Likewise.
25587 (grub_ieee1275_note): Likewise.
25588 (load_note): Remove `dir' argument. All callers updated. Remove
25589 `note_img' and `path'. Do not load a file from `note_path'.
25590 Initialize a struct grub_ieee1275_note and write that to `out'.
25591 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
25592
25593 2005-01-05 Marco Gerards <metgerards@student.han.nl>
25594
25595 * util/misc.c (grub_util_read_image): Revert last change. It
25596 called `grub_util_read_at', which seeks from the beginning of the
25597 file.
25598
25599 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
25600
25601 * TODO: Add note about endianness in grub-mkimage.
25602 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
25603 section.
25604 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
25605 (grub_mkimage_SOURCES): New target.
25606 * include/grub/kernel.h (grub_start_addr): Remove variable.
25607 (grub_end_addr): Likewise.
25608 (grub_total_module_size): Likewise.
25609 (grub_kernel_image_size): Likewise.
25610 (GRUB_MODULE_MAGIC): New constant.
25611 (grub_module_info): New structure.
25612 (grub_arch_modules_addr): New prototype.
25613 (grub_get_end_addr): Remove prototype.
25614 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
25615 * include/grub/powerpc/ieee1275/kernel.h: New file.
25616 * include/grub/util/misc.h (grub_util_get_fp_size): New
25617 prototype.
25618 (grub_util_read_at): Likewise.
25619 (grub_util_write_image_at): Likewise.
25620 * kern/main.c (grub_get_end_addr): Remove function.
25621 (grub_load_modules): Call grub_arch_modules_addr instead of using
25622 grub_end_addr. Look for a grub_module_info struct in memory. Use
25623 the grub_module_info fields instead of calling grub_get_end_addr
25624 as loop conditions. Move grub_add_unused_region code here.
25625 (grub_add_unused_region): Remove function.
25626 * kern/i386/pc/init.c: Include grub/cache.h.
25627 (grub_machine_init): Remove call to grub_get_end_addr. Remove
25628 one call to add_mem_region.
25629 (grub_arch_modules_addr): New function.
25630 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
25631 (grub_total_module_size): Likewise.
25632 Include grub/machine/kernel.h.
25633 (grub_arch_modules_addr): New function.
25634 * util/grub-emu.c (grub_end_addr): Remove variable.
25635 (grub_total_module_size): Likewise.
25636 (grub_arch_modules_addr): New function.
25637 * util/misc.c: Include unistd.h.
25638 (grub_util_get_fp_size): New function.
25639 (grub_util_read_at): Likewise.
25640 (grub_util_write_image_at): Likewise.
25641 (grub_util_read_image): Call grub_util_read_at.
25642 (grub_util_write_image): Call grub_util_write_image_at.
25643 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
25644 additional memory in kernel_img for a struct grub_module_info.
25645 Fill in that grub_module_info.
25646 * util/powerpc/ieee1275/grub-mkimage.c: New file.
25647
25648 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25649
25650 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
25651 New function.
25652 * include/grub/powerpc/ieee1275/ieee1275.h
25653 (grub_ieee1275_milliseconds): New prototype.
25654 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
25655 Change to 1000.
25656 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
25657 grub_ieee1275_milliseconds.
25658
25659 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25660
25661 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
25662 variable.
25663 (find_options): New function.
25664 (cmain): Call find_options.
25665 * include/grub/powerpc/ieee1275/ieee1275.h
25666 (grub_ieee1275_realmode): New extern variable.
25667 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
25668 grub_map if grub_ieee1275_realmode is false.
25669
25670 2004-12-29 Marco Gerards <metgerards@student.han.nl>
25671
25672 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
25673 lines are inserted and make it work like readline. Reported by
25674 Vincent Pelletier <subdino2004@yahoo.fr>.
25675
25676 2004-12-28 Marco Gerards <metgerards@student.han.nl>
25677
25678 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
25679
25680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
25681 `kern/powerpc/cache.S'.
25682
25683 2004-12-27 Marco Gerards <metgerards@student.han.nl>
25684
25685 * genmk.rb: Handle the `Program' class in the main loop. Written
25686 by Johan Rydberg <jrydberg@gnu.org>.
25687 (Program): New class.
25688 (programs): New variable.
25689 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
25690 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
25691 instead of "grub/kernel.h". Include <grub/machine/init.h>.
25692 (help_arch): Function removed.
25693 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
25694 `powerpc/libgcc.h' and `loader.h'.
25695 (pkgdata_PROGRAMS): New variable.
25696 (sbin_UTILITIES): Variable removed.
25697 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
25698 (grubof_SOURCES): Variable re-defined so it only includes the
25699 core functionality.
25700 (grubof_CFLAGS): Remove `-DGRUBOF'.
25701 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
25702 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
25703 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
25704 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
25705 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
25706 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
25707 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
25708 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
25709 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
25710 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
25711 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25712 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
25713 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
25714 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
25715 (pc_mod_CFLAGS): New variables.
25716 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
25717 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
25718 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
25719 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
25720 Moved from here...
25721 * include/grub/i386/pc/init.h (grub_os_area_addr)
25722 (rub_os_area_size): ... to here.
25723 * include/grub/powerpc/ieee1275/ieee1275.h
25724 (grub_ieee1275_entry_fn): Export symbol.
25725 * include/grub/powerpc/ieee1275/init.h: New file.
25726 * include/grub/powerpc/libgcc.h: Likewise.
25727 * include/grub/cache.h: Likewise.
25728 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
25729 <hollis@penguinppc.org>.
25730 * kern/dl.c: Include <grub/cache.h>.
25731 (grub_dl_flush_cache): New function.
25732 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
25733 for this module.
25734 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
25735 (grub_console_init): Removed prototypes.
25736 (grub_machine_init): Don't initialize the modules anymore.
25737 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
25738 static.
25739 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
25740 Macro undef removed.
25741 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
25742 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
25743 relocation `R_PPC_REL32'. Return an error when the relocation is
25744 unknown.
25745 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
25746 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
25747 * util/misc.c (grub_arch_sync_caches): Likewise.
25748
25749 2004-12-19 Marco Gerards <metgerards@student.han.nl>
25750
25751 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
25752 `symlist.c', add `grubof_symlist.c'.
25753 (symlist.c): Variable removed.
25754 (grubof_HEADERS): Variable added.
25755 (grubof_symlist.c): New target.
25756 (kernel_syms.lst): Use `grubof_HEADERS' instead of
25757 `kernel_img_HEADERS'.
25758 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
25759 * kern/powerpc/dl.c: New file.
25760 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
25761 Function removed.
25762 (grub_arch_dl_relocate_symbols): Likewise.
25763 (grub_register_exported_symbols): Likewise.
25764
25765 2004-12-13 Marco Gerards <metgerards@student.han.nl>
25766
25767 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
25768 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
25769 to fail instead. Reported by Vincent Pelletier
25770 <subdino2004@yahoo.fr>.
25771
25772 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
25773 it is not allocated. Reported by Vincent Pelletier
25774 <subdino2004@yahoo.fr>.
25775
25776 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
25777 output so the output looks better.
25778
25779 2004-12-04 Marco Gerards <metgerards@student.han.nl>
25780
25781 Modulize the partition map support and add support for the amiga
25782 partition map.
25783
25784 * commands/ls.c: Include <grub/partition.h> instead of
25785 <grub/machine/partition.h>.
25786 * kern/disk.c: Likewise.
25787 * kern/rescue.c: Likewise.
25788 * loader/i386/pc/chainloader.c: Likewise.
25789 * normal/cmdline.c: Likewise.
25790 * kern/powerpc/ieee1275/init.c: Likewise.
25791 (grub_machine_init): Call `grub_pc_partition_map_init',
25792 `grub_amiga_partition_map_init' and
25793 `grub_apple_partition_map_init'.
25794 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
25795 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
25796 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
25797 `partition.h' and `pc_partition.h'.
25798 (grub_setup_SOURCES): Remove
25799 `disk/i386/pc/partition.c'. Add `kern/partition.c',
25800 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25801 (grub_emu_SOURCES): Likewise.
25802 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
25803 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
25804 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
25805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25806 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
25807 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25808 (grubof_SOURCES): Likewise.
25809 * disk/i386/pc/partition.c: File removed.
25810 * disk/powerpc/ieee1275/partition.c: Likewise.
25811 * include/grub/powerpc/ieee1275/partition.h: Likewise.
25812 * include/grub/i386/pc/partition.h: Likewise.
25813 * kern/partition.c: New file.
25814 * partmap/amiga.c: Likewise.
25815 * partmap/apple.c: Likewise.
25816 * partmap/pc.c: Likewise.
25817 * include/grub/partition.h: Likewise..
25818 * include/grub/pc_partition.h: Likewise.
25819 * util/grub-emu.c: Include <grub/partition.h> instead of
25820 <grub/machine/partition.h>.
25821 (main): Call `grub_pc_partition_map_init',
25822 `grub_amiga_partition_map_init' and
25823 `grub_apple_partition_map_init' and deinitialize afterwards.
25824 * util/i386/pc/biosdisk.c: Include `#include
25825 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25826 `<grub/machine/partition.h>'.
25827 * util/i386/pc/grub-setup.c: Likewise.
25828 * util/i386/pc/biosdisk.c: Likewise.
25829 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
25830 partition information in case of a PC partition.
25831 * util/i386/pc/grub-setup.c: Include `#include
25832 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25833 `<grub/machine/partition.h>'.
25834 (setup): Only access the PC specific partition information in case
25835 of a PC partition.
25836
25837 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
25838
25839 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
25840 (grub_longjmp): Likewise.
25841 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
25842 20.
25843 * normal/powerpc/setjmp.S: New file.
25844 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
25845 `normal/powerpc/setjmp.S'.
25846 (grubof_CFLAGS): Add `-DGRUBOF'.
25847 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
25848 [GRUB_UTIL && !GRUBOF].
25849
25850 2004-11-16 Marco Gerards <metgerards@student.han.nl>
25851
25852 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
25853 property named `name'. Correctly handle the error returned by
25854 `grub_ieee1275_finddevice' if a device can not be opened.
25855
25856 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
25857
25858 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
25859 `actual' for negativity.
25860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25861 kern/fshelp.c.
25862
25863 2004-11-01 Marco Gerards <metgerards@student.han.nl>
25864
25865 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
25866 (PAGE_OFFSET): New macro.
25867 (CRTC_ADDR_PORT): Likewise.
25868 (CRTC_DATA_PORT): Likewise.
25869 (START_ADDR_HIGH_REGISTER): Likewise.
25870 (START_ADDR_LOW_REGISTER): Likewise.
25871 (GRAPHICS_ADDR_PORT): Likewise.
25872 (GRAPHICS_DATA_PORT): Likewise.
25873 (READ_MAP_REGISTER): Likewise.
25874 (INPUT_STATUS1_REGISTER): Likewise.
25875 (INPUT_STATUS1_VERTR_BIT): Likewise.
25876 (page): New variable.
25877 (wait_vretrace): New function.
25878 (set_read_map): Likewise.
25879 (set_start_address): Likewise.
25880 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
25881 the right page.
25882 (check_vga_mem): Take the page into account.
25883 (write_char): Likewise.
25884 (write_cursor): Likewise.
25885 (scroll_up): Likewise. Copy the page to the page that is not
25886 shown and switch between both pages.
25887 (grub_vga_putchar): Fix off by one error.
25888 (grub_vga_cls): Wait for the vertical retrace. Take the page into
25889 account.
25890
25891 2004-11-01 Marco Gerards <metgerards@student.han.nl>
25892
25893 Add support for iso9660 (including rockridge).
25894
25895 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25896 (iso9660_mod_SOURCES): New variable.
25897 (iso9660_mod_CFLAGS): Likewise.
25898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25899 * include/grub/fs.h (grub_iso9660_init): New prototype.
25900 * util/grub-emu.c (main): Call `grub_iso9660_init'.
25901 * fs/iso9660.c: New file.
25902
25903 * include/grub/misc.h (grub_strncat): New prototype.
25904 * kern/misc.c (grub_strncat): New function.
25905
25906 * fs/hfs.c (grub_hfs_mount): Translate the error
25907 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
25908 * fs/jfs.c (grub_jfs_mount): Likewise.
25909 * fs/ufs.c (grub_ufs_mount): Likewise.
25910
25911 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
25912
25913 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
25914 which initialized BAT registers.
25915 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
25916 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25917 Move from here...
25918 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
25919 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25920 ... to here.
25921 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
25922 (grub_mapclaim): Likewise.
25923 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
25924 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
25925 hand.
25926
25927 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
25928
25929 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
25930 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
25931 -ffreestanding and -msoft-float.
25932
25933 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
25934
25935 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
25936 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
25937 set in grub_ieee1275_flags.
25938
25939 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
25940
25941 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
25942 prototype.
25943 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
25944 grub_console_init first.
25945 Change the memory range used for grub_ieee1275_claim and
25946 grub_mm_init_region.
25947 Print an error message if the claim fails.
25948 Include <grub/misc.h>.
25949
25950 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
25951
25952 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
25953 Call grub_children_iterate for device nodes of type `scsi',
25954 `ide', or `ata'.
25955 (grub_ofdisk_open): Remove manual device alias resolution.
25956 Fix memory leak when device cannot be opened.
25957 * include/grub/powerpc/ieee1275/ieee1275.h
25958 (grub_children_iterate): New prototype.
25959 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
25960 New function.
25961 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25962 Return -1 if args.size was -1.
25963
25964 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25965
25966 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
25967 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
25968 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
25969 Open Firmware's memory for it; claim memory from _start to _end.
25970 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
25971 (_end): New extern.
25972 (_start): Zero BSS from __bss_start to _end.
25973 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25974 New extern.
25975 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
25976
25977 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25978
25979 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
25980 -1 if args.base was -1.
25981
25982 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
25983
25984 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
25985 escape sequence instead of a literal ^L. Also call
25986 grub_ofconsole_gotoxy.
25987
25988 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
25989
25990 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
25991 void * arguments to grub_addr_t. All callers updated. Also make
25992 the `result' argument optional.
25993 (grub_ieee1275_release): change void * arguments to grub_addr_t.
25994 All callers updated.
25995
25996 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
25997
25998 * commands/ls.c (grub_ls_list_files): Use the string following the
25999 initial ')', if present, as the filesystem path.
26000 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26001
26002 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26003
26004 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26005
26006 Make the source code of the menu interface more readable.
26007
26008 * normal/menu.c: Include grub/mm.h.
26009 (TERM_WIDTH): New macro.
26010 (TERM_HEIGHT): Likewise.
26011 (TERM_INFO_HEIGHT): Likewise.
26012 (TERM_MARGIN): Likewise.
26013 (TERM_SCROLL_WIDTH): Likewise.
26014 (TERM_TOP_BORDER_Y): Likewise.
26015 (TERM_LEFT_BORDER_X): Likewise.
26016 (TERM_BORDER_WIDTH): Likewise.
26017 (TERM_MESSAGE_HEIGHT): Likewise.
26018 (TERM_BORDER_HEIGHT): Likewise.
26019 (TERM_NUM_ENTRIES): Likewise.
26020 (TERM_FIRST_ENTRY_Y): Likewise.
26021 (TERM_ENTRY_WIDTH): Likewise.
26022 (TERM_CURSOR_X): Likewise.
26023 (draw_border): Use macros instead of magic numbers.
26024 (print_entry): Likewise.
26025 (print_entries): Likewise.
26026 (run_menu): Likewise. Also, handle the key 'e'.
26027 (run_menu_entry): Ignore empty command lines.
26028 (print_message): Added a new argument EDIT. If EDIT is true,
26029 print a different message.
26030 (init_page): Likewise.
26031 (edit_menu_entry): New function. Not implemented yet.
26032
26033 2004-09-17 Marco Gerards <metgerards@student.han.nl>
26034
26035 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26036 can be loaded from normal mode.
26037
26038 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26039 `multiboot.mod'.
26040 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26041 (multiboot_mod_CFLAGS): New variables.
26042 * loader/i386/pc/linux_normal.c: New file.
26043 * loader/i386/pc/multiboot_normal.c: Likewise.
26044
26045 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26046 attribute `unused'.
26047
26048 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26049 `fdiro' to read the mode information from instead of `diro'.
26050
26051 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26052 looking up a symlink.
26053
26054 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26055 macro.
26056 * normal/command.c (grub_command_execute): Don't parse the
26057 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26058 flags of the command.
26059
26060 * normal/menu.c (grub_menu_run): Fix typo.
26061
26062 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26063
26064 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26065
26066 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26067 `y + 1' instead of `y - 1'.
26068
26069 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
26070
26071 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26072
26073 From Hollis Blanchard <hollis@penguinppc.org>:
26074 * kern/misc.c (memmove): New alias for grub_memmove.
26075 (memcmp): New alias for grub_memcmp.
26076 (memset): New alias for grub_memset.
26077 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26078 Change "int handle" to "grub_ieee1275_phandle_t handle".
26079 * include/grub/powerpc/ieee1275/ieee1275.h
26080 (grub_ieee1275_get_property): Likewise.
26081
26082 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26083
26084 Added normal mode command `chainloader' as module chain.mod, which
26085 depends on normal.mod and _chain.mod.
26086
26087 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26088 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26089 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26090 Deleted prototype.
26091 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26092 but arguments parsing moved to ...
26093 (grub_chainloader_cmd): ... here. New function.
26094 * include/grub/i386/pc/chainloader.h: New file.
26095 * loader/i386/pc/chainloader_normal.c: Likewise.
26096
26097 2004-09-11 Marco Gerards <metgerards@student.han.nl>
26098
26099 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26100 (grub_mkimage_LDFLAGS): Likewise.
26101 (grub_emu_SOURCES): Likewise.
26102 (kernel_img_HEADERS): Added fshelp.h.
26103 * fs/ext2.c: Include <grub/fshelp.h>.
26104 (FILETYPE_REG): New macro.
26105 (FILETYPE_INO_REG): Likewise.
26106 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26107 Changed all users.
26108 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26109 all users.
26110 (grub_fshelp_node): New struct.
26111 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26112 to a pointer.
26113 (grub_ext2_get_file_block): Removed function.
26114 (grub_ext2_read_block): New function.
26115 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26116 This function was written.
26117 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26118 (grub_ext2_find_file): Removed function.
26119 (grub_ext2_read_symlink): New function.
26120 (grub_ext2_iterate_dir): Likewise.
26121 (grub_ext2_open): Rewritten.
26122 (grub_ext2_dir): Rewritten.
26123 * include/grub/fshelp.h: New file.
26124 * fs/fshelp.c: Likewise.
26125
26126 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26127
26128 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26129 (print_message): Add a missing newline.
26130 (run_menu): Added timeout support.
26131 (run_menu_entry): New local function.
26132 (grub_menu_run): Added support for booting.
26133
26134 * kern/loader.c (grub_loader_is_loaded): New function.
26135
26136 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26137 (grub_get_rtc): Exported.
26138
26139 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26140 (grub_get_rtc): Exported.
26141
26142 * include/grub/normal.h (struct grub_command_list): Remove
26143 constant from the member `command'.
26144
26145 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26146
26147 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26148
26149 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26150
26151 2004-08-28 Marco Gerards <metgerards@student.han.nl>
26152
26153 Add support for the JFS filesystem.
26154
26155 * fs/jfs.c: New file.
26156 * include/grub/fs.h (grub_jfs_init): New prototype.
26157 (grub_jfs_fini): New prototype.
26158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26159 (grub_emu_SOURCES): Likewise.
26160 (pkgdata_MODULES): Add jfs.mod.
26161 (jfs_mod_SOURCES): New variable.
26162 (jfs_mod_CFLAGS): Likewise.
26163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26164 (grubof_SOURCES): Likewise.
26165 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26166
26167 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26168 endian to the host endian.
26169 (grub_fat_utf16_to_utf8): Move function from there...
26170 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
26171 the endianness of the source string anymore.
26172 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26173
26174 2004-08-24 Marco Gerards <metgerards@student.han.nl>
26175
26176 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26177 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26178 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26179 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
26180
26181 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26182 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26183 for `node_found' and `it_dir'.
26184 (grub_hfs_dir): Add prototype for `dir_hook'.
26185
26186 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26187 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26188 and `indir32' to silence a gcc warning.
26189
26190 * include/grub/fs.h (grub_hfs_init): New prototype.
26191 (grub_hfs_fini): Likewise.
26192
26193
26194 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26195
26196 Each disk device has its own id now. This is useful to make use
26197 of multiple disk devices.
26198
26199 * include/grub/disk.h (grub_disk_dev_id): New enum.
26200 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26201 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26202
26203 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26204 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26205
26206 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26207 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26208
26209 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26210 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26211
26212 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26213 "id" which is used by the cache manager.
26214
26215 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
26216 of just "GRUB".
26217
26218 2004-08-18 Marco Gerards <metgerards@student.han.nl>
26219
26220 * fs/hfs.c: New file.
26221 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
26222 (grub_emu_SOURCES): Likewise.
26223 (pkgdata_MODULES): Add hfs.mod.
26224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
26225 (grubof_SOURCES): Likewise.
26226 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
26227
26228 * include/grub/misc.h (grub_strncasecmp): Add prototype.
26229 * kern/misc.c (grub_strncasecmp): Add function.
26230
26231 2004-08-14 Marco Gerards <metgerards@student.han.nl>
26232
26233 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
26234 with parentheses.
26235
26236 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
26237 (grub_ext2_dir): In case the directory entry type is unknown, read
26238 it from the inode.
26239
26240 2004-08-02 Peter Bruin <pjbruin@dds.nl>
26241
26242 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
26243 grub_load_linux instead of grub_rescue_cmd_linux as second
26244 argument of grub_rescue_register_command.
26245
26246 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
26247
26248 2004-07-27 Marco Gerards <metgerards@student.han.nl>
26249
26250 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
26251 function.
26252 * commands/boot.c: Remove the check for `GRUB_UTIL'.
26253 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26254 `loader/powerpc/ieee1275/linux.c',
26255 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
26256 * include/grub/powerpc/ieee1275/ieee1275.h
26257 (grub_ieee1275_release): New prototype.
26258 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
26259 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
26260 normal, boot, linux and linux_normal.
26261 * loader/powerpc/ieee1275/linux.c: New file.
26262 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26263
26264 2004-07-12 Marco Gerards <metgerards@student.han.nl>
26265
26266 * normal/arg.c (grub_arg_parse): Correct error handling after
26267 reallocating the argumentlist (check if `argl' is not null instead
26268 of checking if `args' is not null).
26269 * kern/mm.c (grub_realloc): Return the same pointer when using the
26270 same region, instead of returning the header address.
26271
26272 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26273
26274 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
26275 one block instead of two when looking for the initial partition.
26276 (grub_partition_probe): Initialize the local variable `p' with 0.
26277 Use base 10 for the grub_strtoul call.
26278 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
26279 need for one local variable.
26280 (grub_strtoul): Don't add the new value to `num', instead of that
26281 just assign it.
26282
26283 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26284
26285 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
26286 (pxeboot_img_SOURCES): New variable.
26287 (pxeboot_img_ASFLAGS): Likewise.
26288 (pxeboot_img_LDFLAGS): Likewise.
26289 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
26290 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
26291 <lode_leroy@hotmail.com>.
26292
26293 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26294
26295 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
26296 there was no input.
26297
26298 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26299
26300 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
26301 the history buffer logic.
26302
26303 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26304
26305 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
26306 (FILETYPE_INO_SYMLINK): New macros.
26307 (grub_ext2_find_file): Check if the node is a directory using the
26308 inode stat information instead of using the filetype in the
26309 dirent. Exclude the first character of an absolute symlink.
26310 (grub_ext2_dir): Mask out the filetype part of the mode member of
26311 the inode.
26312
26313 2004-05-24 Marco Gerards <metgerards@student.han.nl>
26314
26315 Add support for UFS version 1 and 2. Add support for the minix
26316 filesystem version 1 and 2, both the variants with 14 and 30 long
26317 filenames.
26318
26319 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
26320 fs/minix.c.
26321 (grub_emu_SOURCES): Likewise.
26322 (pkgdata_MODULES): Add ufs.mod and minix.mod.
26323 (ufs_mod_SOURCES): New variable.
26324 (ufs_mod_CFLAGS): Likewise.
26325 (minix_mod_SOURCES): Likewise.
26326 (minix_mod_CFLAGS): Likewise.
26327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
26328 fs/minix.c.
26329 (grubof_SOURCES): Likewise.
26330 * fs/ufs.c: New file.
26331 * fs/minix.c: New file.
26332 * include/grub/fs.h (grub_ufs_init): New prototype.
26333 (grub_ufs_fini): Likewise.
26334 (grub_minix_init): Likewise.
26335 (grub_minix_fini): Likewise.
26336 * util/grub-emu.c (main): Initialize and deinitialize UFS and
26337 minix fs.
26338
26339 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
26340
26341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
26342 commands/ls.c, commands/terminal.c, commands/boot.c,
26343 commands/cmp.c and commands/cat.c.
26344 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
26345
26346 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
26347 "env.h"
26348
26349 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26350
26351 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
26352 and grub_, respectively. Because the conversion is trivial and
26353 mechanical, I omit the details here. Please refer to the CVS
26354 if you need more information.
26355
26356 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26357
26358 * include/pupa: Renamed to ...
26359 * include/grub: ... this.
26360 * util/i386/pc/pupa-mkimage.c: Renamed to ...
26361 * util/i386/pc/grub-mkimage.c: ... this.
26362 * util/i386/pc/pupa-setup.c: Renamed to ...
26363 * util/i386/pc/grub-setup.c: ... this.
26364 * util/pupa-emu.c: Renamed to ...
26365 * util/grub-emu.c: ... this.
26366
26367 2004-03-29 Marco Gerards <metgerards@student.han.nl>
26368
26369 Add support for the newworld apple macintosh (PPC). This has been
26370 tested on the powerbook 2000 only. It only adds support for
26371 generic ieee1275 functions, console and disk support. This should
26372 be easy to port to other architectures with support for Open
26373 Firmware.
26374
26375 * configure.ac: Accept the powerpc as host_cpu. In the case of
26376 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
26377 specific tests are only executed while building for the i386.
26378 Inverse test for crosscompile.
26379 * genmk.rb (Utility): Allow assembler files.
26380 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
26381 * conf/powerpc-ieee1275.rmk: New file.
26382 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
26383 * disk/powerpc/ieee1275/partition.c: Likewise.
26384 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
26385 * include/pupa/powerpc/ieee1275/console.h: Likewise.
26386 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
26387 * include/pupa/powerpc/ieee1275/time.h: Likewise.
26388 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
26389 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
26390 * include/pupa/powerpc/ieee1275/loader.h
26391 * include/pupa/powerpc/setjmp.h: Likewise.
26392 * include/pupa/powerpc/types.h: Likewise.
26393 * kern/powerpc/ieee1275/init.c: Likewise.
26394 * kern/powerpc/ieee1275/openfw.c: Likewise.
26395 * term/powerpc/ieee1275/ofconsole.c: Likewise.
26396
26397 These files were written by Johan Rydberg
26398 (jrydberg@night.trouble.net) and I only modified them slightly.
26399
26400 * boot/powerpc/ieee1275/cmain.c: New file.
26401 * boot/powerpc/ieee1275/crt0.S: Likewise.
26402 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
26403 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
26404
26405 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
26406
26407 * Makefile.in: Update copyright.
26408 * genmodsrc.sh: Likewise.
26409 * gensymlist.sh: Likewise.
26410 * term/i386/pc/vga.c: Indent correctly.
26411
26412 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
26413 bugreporting address.
26414 * util/i386/pc/pupa-setup.c (usage): Likewise,
26415 (main): Call pupa_ext2_init and pupa_ext2_fini.
26416
26417 * fs/fat.c (log2): Renamed to ...
26418 (fat_log2): ... this.
26419 All callers changed.
26420 * kern/misc.c (memcpy): Alias to pupa_memmove.
26421 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
26422 lvalue cast.
26423 * util/console.c (pupa_ncurses_fini): Return 0.
26424
26425 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
26426 Move fail label here.
26427 [__GNU__]: Don't warn when using stat.
26428 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
26429 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
26430 long int. Use strtol instead of strtoul.
26431
26432 2004-03-14 Marco Gerards <metgerards@student.han.nl>
26433
26434 * commands/boot.c: New file.
26435 * commands/cat.c: Likewise.
26436 * commands/cmp.c: Likewise.
26437 * commands/ls.c: Likewise.
26438 * commands/terminal.c: Likewise.
26439 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
26440 (pupa_register_command): Changed interface to match the new
26441 argument parser.
26442 (pupa_command_execute): Changed (almost rewritten) so it uses
26443 pupa_split_command. Added support for setting variables using the
26444 syntax `foo=bar'.
26445 (rescue_command): Changed to work with the new argument parser.
26446 (terminal_command): Moved from here to commands/terminal.c.
26447 (set_command): New function.
26448 (unset_command): New function.
26449 (insmod_command): New function.
26450 (rmmod_command): New function.
26451 (lsmod_command): New function.
26452 (pupa_command_init): Don't initialize the command terminal
26453 anymore. Initialize the commands set, unset, insmod, rmmod and
26454 lsmod.
26455 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
26456 (kernel_img_HEADERS): Add arg.h and env.h.
26457 (pupa_mkimage_LDFLAGS): Add kern/env.c.
26458 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
26459 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
26460 normal/arg.c.
26461 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
26462 terminal.mod.
26463 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
26464 (boot_mod_SOURCES): New variable.
26465 (terminal_mod_SOURCES): Likewise.
26466 (ls_mod_SOURCES): Likewise.
26467 (cmp_mod_SOURCES): Likewise.
26468 (cat_mod_SOURCES): Likewise.
26469
26470 * normal/arg.c: New file.
26471 * kern/env.c: Likewise.
26472 * include/pupa/arg.h: Likewise.
26473 * include/pupa/env.h: Likewise.
26474 * font/manager.c (font_command): Changed to match argument parsing
26475 interface changes.
26476 (PUPA_MOD_INIT): Likewise.
26477 * hello/hello.c (pupa_cmd_hello): Likewise.
26478 (PUPA_MOD_INIT): Likewise.
26479 * include/pupa/disk.h: Include <pupa/device.h>.
26480 (pupa_print_partinfo): New prototype.
26481 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
26482 (pupa_dl_get_prefix): Likewise.
26483 * include/pupa/misc.h: Include <pupa/err.h>.
26484 (pupa_isgraph): New prototype.
26485 (pupa_isdigit): Likewise.
26486 (pupa_split_cmdline): Likewise.
26487 * include/pupa/normal.h: Include <pupa/arg.h>.
26488 (pupa_command): Changed the prototype of the member `func' to
26489 match the argument parsing interface. Added member `options'.
26490 (pupa_register_command): Updated to match function.
26491 (pupa_arg_parse): New prototype.
26492 (pupa_hello_init) [PUPA_UTIL]: New prototype.
26493 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
26494 (pupa_ls_init) [PUPA_UTIL]: Likewise.
26495 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
26496 (pupa_cat_init) [PUPA_UTIL]: Likewise.
26497 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
26498 (pupa_boot_init) [PUPA_UTIL]: Likewise.
26499 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
26500 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
26501 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
26502 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
26503 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
26504 * kern/disk.c: Include <pupa/file.h>.
26505 (pupa_print_partinfo): New function.
26506 * kern/dl.c: Include <pupa/env.h>.
26507 (pupa_dl_dir): Variable removed.
26508 (pupa_dl_load): Use the environment variable `prefix' instead of
26509 the variable pupa_dl_dir.
26510 (pupa_dl_set_prefix): Function removed.
26511 (pupa_dl_get_prefix): Likewise.
26512 * kern/i386/pc/init.c: Include <pupa/env.h>.
26513 (pupa_machine_init): Use the environment variable `prefix' instead of
26514 using pupa_dl_set_prefix to set the prefix.
26515 * kern/main.c: Include <pupa/env.h>.
26516 (pupa_set_root_dev): Use the environment variable `prefix' instead of
26517 using pupa_dl_get_prefix to get the prefix.
26518 * kern/misc.c: Include <pupa/env.h>.
26519 (pupa_isdigit): New function.
26520 (pupa_isgraph): Likewise.
26521 (pupa_ftoa): Likewise.
26522 (pupa_vsprintf): Added support for printing values of the type
26523 `double'. Make it possible to format variable output when using
26524 formatting like `%1.2%f'.
26525 (pupa_split_cmdline): New function.
26526 * kern/rescue.c: Include <pupa/env.h>.
26527 (next_word): Removed function.
26528 (pupa_rescue_cmd_prefix): Likewise.
26529 (pupa_rescue_cmd_set): New function.
26530 (pupa_rescue_cmd_unset): New function.
26531 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
26532 split the command line instead of splitting it here. Added
26533 support for setting variables using the syntax `foo=bar'. Don't
26534 initialize the prefix command anymore. Initialized the set and
26535 unset commands.
26536 * normal/cmdline.c: Include <pupa/env.h>.
26537 (pupa_tab_complete): Added prototypes for print_simple_completion,
26538 print_partition_completion, add_completion, iterate_commands,
26539 iterate_dev, iterate_part and iterate_dir. Moved code to print
26540 partition information from here to kern/disk.c.
26541 (pupa_cmdline_run): Don't check if the function exists anymore.
26542 * normal/main.c: Include <pupa/env.h>.
26543 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
26544 instead of using pupa_dl_get_prefix to get the prefix.
26545 * term/i386/pc/vga.c: Include <pupa/arg.h>.
26546 (check_vga_mem): Cast pointers to `void *' to silence a gcc
26547 warning.
26548 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
26549 (pupa_vga_setcolor): Declare unused variables with `__attribute__
26550 ((unused))' to silence a gcc warning.
26551 (pupa_vga_setcolor): Likewise.
26552 (debug_command): Changed to match argument parsing
26553 interface changes.
26554 * util/pupa-emu.c: Include <pupa/env.h>.
26555 (options): Added 0's for unused fields to silence a gcc warning.
26556 (argp): Likewise.
26557 (main): Use the environment variable `prefix' instead of using
26558 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
26559 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
26560 and terminal.
26561
26562 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
26563 * util/misc.c: Include <malloc.h>.
26564 (pupa_malloc): Rewritten so errors are correctly reported.
26565 (pupa_realloc): Likewise.
26566 (pupa_memalign): Likewise.
26567 (pupa_mm_init_region): Declare unused variables with
26568 `__attribute__ ((unused))' to silence a gcc warning.
26569 * normal/i386/setjmp.S: Remove tab at the end of the file to
26570 silence a gcc warning.
26571 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
26572 variables with `__attribute__ ((unused))' to silence a gcc
26573 warning.
26574 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
26575 local variable i unsigned to silence a gcc warning.
26576
26577 * kern/term.c: Include <pupa/misc.h>.
26578 (pupa_more_lines): New variable.
26579 (pupa_more): Likewise.
26580 (pupa_putcode): When the pager is active pause at the end of every
26581 screen.
26582 (pupa_set_more): New function.
26583 * include/pupa/term.h (pupa_set_more): New prototype.
26584
26585
26586 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
26587
26588 Now this project is GRUB 2 rather than PUPA. The location of
26589 the CVS repository was moved to GRUB's.
26590
26591 * configure.ac: Use bug-grub as the reporting address.
26592 Use GRUB instead of PUPA.
26593 Change the version number to 1.90.
26594
26595 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
26596
26597 * genkernsyms.sh: Updated copyright information.
26598 * genmk.rb: Likewise.
26599 * genmodsrc.sh: Likewise.
26600 * gensymlist.sh: Likewise.
26601 * boot/i386/pc/boot.S: Likewise.
26602 * boot/i386/pc/diskboot.S: Likewise.
26603 * disk/i386/pc/biosdisk.c: Likewise.
26604 * disk/i386/pc/partition.c: Likewise.
26605 * font/manager.c: Likewise.
26606 * fs/ext2.c: Likewise.
26607 * fs/fat.c: Likewise.
26608 * include/pupa/boot.h: Likewise.
26609 * include/pupa/device.h: Likewise.
26610 * include/pupa/disk.h: Likewise.
26611 * include/pupa/dl.h: Likewise.
26612 * include/pupa/elf.h: Likewise.
26613 * include/pupa/err.h: Likewise.
26614 * include/pupa/file.h: Likewise.
26615 * include/pupa/font.h: Likewise.
26616 * include/pupa/fs.h: Likewise.
26617 * include/pupa/kernel.h: Likewise.
26618 * include/pupa/loader.h: Likewise.
26619 * include/pupa/misc.h: Likewise.
26620 * include/pupa/mm.h: Likewise.
26621 * include/pupa/net.h: Likewise.
26622 * include/pupa/normal.h: Likewise.
26623 * include/pupa/rescue.h: Likewise.
26624 * include/pupa/setjmp.h: Likewise.
26625 * include/pupa/symbol.h: Likewise.
26626 * include/pupa/term.h: Likewise.
26627 * include/pupa/types.h: Likewise.
26628 * include/pupa/i386/setjmp.h: Likewise.
26629 * include/pupa/i386/types.h: Likewise.
26630 * include/pupa/i386/pc/biosdisk.h: Likewise.
26631 * include/pupa/i386/pc/boot.h: Likewise.
26632 * include/pupa/i386/pc/console.h: Likewise.
26633 * include/pupa/i386/pc/init.h: Likewise.
26634 * include/pupa/i386/pc/kernel.h: Likewise.
26635 * include/pupa/i386/pc/linux.h: Likewise.
26636 * include/pupa/i386/pc/loader.h: Likewise.
26637 * include/pupa/i386/pc/memory.h: Likewise.
26638 * include/pupa/i386/pc/multiboot.h: Likewise.
26639 * include/pupa/i386/pc/partition.h: Likewise.
26640 * include/pupa/i386/pc/time.h: Likewise.
26641 * include/pupa/i386/pc/vga.h: Likewise.
26642 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
26643 * include/pupa/util/getroot.h: Likewise.
26644 * include/pupa/util/misc.h: Likewise.
26645 * include/pupa/util/resolve.h: Likewise.
26646 * kern/device.c: Likewise.
26647 * kern/disk.c: Likewise.
26648 * kern/dl.c: Likewise.
26649 * kern/err.c: Likewise.
26650 * kern/file.c: Likewise.
26651 * kern/fs.c: Likewise.
26652 * kern/loader.c: Likewise.
26653 * kern/main.c: Likewise.
26654 * kern/misc.c: Likewise.
26655 * kern/mm.c: Likewise.
26656 * kern/rescue.c: Likewise.
26657 * kern/term.c: Likewise.
26658 * kern/i386/dl.c: Likewise.
26659 * kern/i386/pc/init.c: Likewise.
26660 * kern/i386/pc/lzo1x.S: Likewise.
26661 * kern/i386/pc/startup.S: Likewise.
26662 * loader/i386/pc/chainloader.c: Likewise.
26663 * loader/i386/pc/linux.c: Likewise.
26664 * loader/i386/pc/multiboot.c: Likewise.
26665 * normal/cmdline.c: Likewise.
26666 * normal/command.c: Likewise.
26667 * normal/main.c: Likewise.
26668 * normal/menu.c: Likewise.
26669 * normal/i386/setjmp.S: Likewise.
26670 * term/i386/pc/console.c: Likewise.
26671 * term/i386/pc/vga.c: Likewise.
26672 * util/console.c: Likewise.
26673 * util/genmoddep.c: Likewise.
26674 * util/misc.c: Likewise.
26675 * util/pupa-emu.c: Likewise.
26676 * util/resolve.c: Likewise.
26677 * util/unifont2pff.rb: Likewise.
26678 * util/i386/pc/biosdisk.c: Likewise.
26679 * util/i386/pc/getroot.c: Likewise.
26680 * util/i386/pc/pupa-mkimage.c: Likewise.
26681 * util/i386/pc/pupa-setup.c: Likewise.
26682
26683 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
26684
26685 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
26686 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
26687 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
26688 reading and reset it after reading.
26689 (pupa_ext2_close): Return PUPA_ERR_NONE.
26690
26691 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
26692 Correct value.
26693 (struct linux_kernel_header): Add kernel_version and
26694 initrd_addr_max.
26695 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
26696 pupa_file_read succeeds.
26697 (pupa_rescue_cmd_initrd): Implement.
26698
26699 2003-12-03 Marco Gerards <metgerards@student.han.nl>
26700
26701 * fs/ext2.c (pupa_ext2_label): New function.
26702 (pupa_ext2_fs): Added label.
26703 * fs/fat.c (pupa_fat_label): New function.
26704 (pupa_fat_fs): Added label.
26705 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
26706
26707 * kern/misc.c (pupa_strndup): New function.
26708 * include/pupa/misc.h (pupa_strndup): New prototype.
26709
26710 * include/pupa/normal.h: Include <pupa/err.h>.
26711 (pupa_set_history): New prototype.
26712 (pupa_iterate_commands): New prototype.
26713 * normal/cmdline.c: Include <pupa/machine/partition.h>,
26714 <pupa/disk.h>, <pupa/file.h>.
26715 (hist_size): New variable.
26716 (hist_lines): Likewise.
26717 (hist_end): Likewise.
26718 (hist_used): Likewise.
26719 (pupa_set_history): New function.
26720 (pupa_history_get): Likewise.
26721 (pupa_history_add): Likewise.
26722 (pupa_history_replace): Likewise.
26723 (pupa_tab_complete): Likewise.
26724 (pupa_cmdline_run): Added tab completion and history buffer. Tab
26725 completion shows partitionnames while completing partitions, this
26726 feature was suggested by Jeff Bailey.
26727 * normal/command.c (pupa_iterate_commands): New function.
26728 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
26729 (pupa_normal_init): Initialize history buffer.
26730 (PUPA_MOD_INIT): Likewise.
26731 (pupa_normal_fini): Free the history buffer.
26732 (PUPA_MOD_FINI): Likewise.
26733
26734 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
26735 key.
26736
26737 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
26738 * configure.ac [i386]: Check for regparam bug.
26739 (NESTED_FUNC_ATTR) [! i386]: Defined.
26740
26741 2003-11-17 Marco Gerards <metgerards@student.han.nl>
26742
26743 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
26744 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
26745 (pupa_emu_SOURCES): New variable.
26746 (pupa_emu_LDFLAGS): Likewise.
26747 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
26748 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
26749 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
26750 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26751 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
26752 (pupa_jmp_buf): New typedef.
26753 (pupa_setjmp) [PUPA_UTIL]: New macro.
26754 (pupa_longjmp) [PUPA_UTIL]: Likewise.
26755 * include/pupa/term.h (struct pupa_term): New member `refresh'.
26756 (pupa_refresh): New prototype.
26757 * include/pupa/util/getroot.h: New file.
26758 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
26759 it.
26760 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
26761 (pupa_rescue_cmd_cat): Likewise.
26762 (pupa_rescue_cmd_ls): Likewise.
26763 (pupa_rescue_cmd_testload): Likewise.
26764 (pupa_rescue_cmd_lsmod): Likewise.
26765 * normal/cmdline.c (pupa_cmdline_get): Likewise.
26766 * normal/menu.c (run_menu): Likewise.
26767 * kern/term.c (pupa_cls): Likewise.
26768 (pupa_refresh): New function.
26769 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
26770 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26771 * util/console.c: New file.
26772
26773 * util/i386/pc/getroot.c: New file.
26774 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
26775 (pupa_putchar): New function.
26776 (pupa_refresh): Likewise.
26777 (xgetcwd): Function moved to ...
26778 (strip_extra_slashes): Likewise.
26779 (get_prefix): Likewise.
26780 * util/i386/pc/getroot.c: ... here.
26781 (find_root_device): Function moved and renamed to...
26782 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
26783 Changed all callers.
26784 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
26785 and renamed to...
26786 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
26787 Changed all callers.
26788 * util/misc.c (pupa_memalign): New function.
26789 (pupa_mm_init_region): Likewise.
26790 (pupa_register_exported_symbols): Likewise.
26791 (pupa_putchar): Function removed.
26792 * util/pupa-emu.c: New file.
26793
26794 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
26795
26796 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
26797 (_multiboot_mod_SOURCES): New variable.
26798 (_multiboot_mod_CFLAGS): Likewise.
26799 * loader/i386/pc/multiboot.c: New file.
26800 * include/pupa/i386/pc/multiboot.h: Likewise.
26801 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
26802 (pupa_multiboot_real_boot): New function.
26803 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
26804 (pupa_multiboot_real_boot): New prototype.
26805 (pupa_rescue_cmd_multiboot): Likewise
26806 (pupa_rescue_cmd_module): Likewise.
26807
26808 * kern/loader.c (pupa_loader_set): Continue when
26809 pupa_loader_unload_func() fails.
26810 (pupa_loader_unset): New function.
26811 * include/pupa/loader.h (pupa_loader_unset): New prototype.
26812
26813 * kern/misc.c (pupa_stpcpy): New function.
26814 * include/pupa/misc.h (pupa_stpcpy): New prototype.
26815
26816 2003-11-12 Marco Gerards <metgerards@student.han.nl>
26817
26818 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
26819 for available extensions.
26820
26821 * include/pupa/i386/pc/time.h: New file.
26822 * kern/disk.c: Include <pupa/machine/time.h>.
26823 (PUPA_CACHE_TIMEOUT): New macro.
26824 (pupa_last_time): New variable.
26825 (pupa_disk_open): Flush the cache when there was a timeout.
26826 (pupa_disk_close): Reset the timer.
26827 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
26828 pupa_currticks.
26829 * util/misc.c: Include <sys/times.h>
26830 (pupa_get_rtc): New function.
26831
26832 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26833
26834 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
26835 as blocks.
26836 (pupa_ext2_get_file_block): Use blocks member.
26837
26838 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
26839 first block. Return -1 instead of pupa_errno on error.
26840
26841 2003-10-27 Marco Gerards <metgerards@student.han.nl>
26842
26843 * README: In the pupa-mkimage example use _chain instead of chain
26844 and ext2 instead of fat.
26845 * TODO: Replace ext2fs with jfs as an example. Add an item for
26846 adding journal playback for ext2fs.
26847 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
26848 (pkgdata_MODULES): Added ext2.mod.
26849 (ext2_mod_SOURCES): New variable.
26850 (ext2_mod_CFLAGS): Likewise.
26851 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
26852 * include/pupa/misc.h (pupa_strncpy): New prototype.
26853 (pupa_strcat): Likewise.
26854 (pupa_strncmp): Likewise.
26855 * kern/misc.c (pupa_strcat): Enable function.
26856 (pupa_strncpy): New function.
26857 (pupa_strncmp): Likewise.
26858 * fs/ext2.c: New file.
26859
26860 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
26861 when the read failed before retrying.
26862 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
26863 (_FILE_OFFSET_BITS): Likewise.
26864 * configure.ac: Added AC_SYS_LARGEFILE.
26865
26866 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26867
26868 * genmk.rb (PModule#rule): Make sure to get only symbol names
26869 from the output of nm.
26870 Reported by Robert Millan <rmh.grub@aybabtu.com>.
26871
26872 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26873
26874 I forgot to check in these changes for a long time. This adds
26875 incomplete support for VGA console, and this is still very
26876 buggy. Also, a lot of consideration is required for I18N,
26877 UNICODE, and VGA font issues. Therefore, assume that this is
26878 such that "better than nothing".
26879
26880 * font/manager.c: New file.
26881 * include/pupa/font.h: Likewise.
26882 * include/pupa/i386/pc/vga.h: Likewise.
26883 * term/i386/pc/vga.c: Likewise.
26884 * util/unifont2pff.rb: Likewise.
26885
26886 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
26887 (pkgdata_MODULES): Added vga.mod and font.mod.
26888 (vga_mod_SOURCES): New variables.
26889 (vga_mod_CFLAGS): Likewise.
26890 (font_mod_SOURCES): Likewise.
26891 (font_mod_CFLAGS): Likewise.
26892
26893 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
26894
26895 * include/pupa/term.h: Include pupa/err.h.
26896 (struct pupa_term): Added init and fini.
26897 Changed the argument of putchar to pupa_uint32_t.
26898
26899 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
26900 (pupa_console_real_putchar): New prototype.
26901 (pupa_console_putchar): Removed.
26902 (pupa_console_checkkey): Exported.
26903 (pupa_console_getkey): Likewise.
26904
26905 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
26906 characters.
26907
26908 * kern/term.c (pupa_term_set_current): Rewritten.
26909 (pupa_putchar): Likewise.
26910 (pupa_putcode): New function.
26911
26912 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
26913 (pupa_console_real_putchar): ... this.
26914 (pupa_vga_set_mode): New function.
26915 (pupa_vga_get_font): Likewise.
26916
26917 * normal/command.c: Include pupa/term.h.
26918 (terminal_command): New function.
26919 (pupa_command_init): Register the command "terminal".
26920
26921 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
26922 (DISP_UP): Likewise.
26923 (DISP_RIGHT): Likewise.
26924 (DISP_DOWN): Likewise.
26925 (DISP_HLINE): Likewise.
26926 (DISP_VLINE): Likewise.
26927 (DISP_UL): Likewise.
26928 (DISP_UR): Likewise.
26929 (DISP_LL): Likewise.
26930 (DISP_LR): Likewise.
26931
26932 * term/i386/pc/console.c (pupa_console_putchar): New function.
26933
26934 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
26935
26936 * util/resolve.c (pupa_util_resolve_dependencies): BUG
26937 FIX. Reverse the path_list.
26938
26939 * include/pupa/normal.h: Export pupa_register_command and
26940 pupa_unregister_command.
26941
26942 * hello/hello.c (pupa_cmd_hello): New module.
26943 * conf/i386-pc.rmk: Added hello.mod.
26944
26945 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
26946
26947 * kern/i386/pc/lzo1x.S: New file.
26948
26949 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
26950 (compress_kernel): New variable.
26951 (generate_image): Heavily modified to support compressing a
26952 large part of the core image.
26953
26954 * util/misc.c (pupa_util_read_image): Fix a file descriptor
26955 leak.
26956 (pupa_util_load_image): New function.
26957
26958 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
26959 (pupa_compressed_size): New variable.
26960 (codestart): Enable Gate A20 here.
26961 Decompress the compressed part of the core image.
26962 Rearrange the code to put functions and variables which are
26963 required for initialization in the non-compressed part.
26964 Include lzo1x.S.
26965
26966 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
26967 here.
26968
26969 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
26970
26971 * include/pupa/i386/pc/kernel.h
26972 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
26973 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
26974 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
26975 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
26976 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
26977
26978 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
26979
26980 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
26981 (Utility#rule): Likewise.
26982
26983 * configure.ac: Check if LZO is available.
26984
26985 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
26986
26987 * include/pupa/normal.h: New file.
26988 * include/pupa/setjmp.h: Likewise.
26989 * include/pupa/i386/setjmp.h: Likewise.
26990 * normal/cmdline.c: Likewise.
26991 * normal/command.c: Likewise.
26992 * normal/main.c: Likewise.
26993 * normal/menu.c: Likewise.
26994 * normal/i386/setjmp.S: Likewise.
26995
26996 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
26997 (pupa_rescue_cmd_initrd): Likewise.
26998
26999 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27000 Likewise.
27001
27002 * kern/i386/pc/startup.S (translation_table): New variable.
27003 (translate_keycode): New function.
27004 (pupa_console_getkey): Call translate_keycode.
27005
27006 * kern/rescue.c (attempt_normal_mode): New function.
27007 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27008 it failed, print a message.
27009
27010 * kern/mm.c (pupa_real_malloc): Print more information when a
27011 free magic is broken.
27012 (pupa_free): If the first free header is not free actually, set
27013 it to P.
27014
27015 * kern/main.c (pupa_load_normal_mode): Just load the module
27016 "normal".
27017 (pupa_main): Don't print the message
27018 "Entering into rescue mode..." here.
27019
27020 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27021 Declared.
27022 (pupa_rescue_cmd_initrd): Likewise.
27023 (pupa_rescue_cmd_initrd): Likewise.
27024
27025 * include/pupa/symbol.h (FUNCTION): Specify the type.
27026 (VARIABLE): Likewise.
27027
27028 * include/pupa/err.h (pupa_err_t): Added
27029 PUPA_ERR_UNKNOWN_COMMAND.
27030
27031 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27032 (pupa_dl_get_prefix): Likewise.
27033
27034 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27035 Added _chain.mod and _linux.mod instead of chain.mod and
27036 linux.mod.
27037 (chain_mod_SOURCES): Renamed to ...
27038 (_chain_mod_SOURCES): ... this.
27039 (chain_mod_CFLAGS): Renamed to ...
27040 (_chain_mod_CFLAGS): ... this.
27041 (linux_mod_SOURCES): Renamed to ...
27042 (_linux_mod_SOURCES): ... this.
27043 (linux_mod_CFLAGS): Renamed to ...
27044 (_linux_mod_CFLAGS): ... this.
27045 (normal_mod_SOURCES): New variable.
27046 (normal_mod_CFLAGS): Likewise.
27047 (normal_mod_ASFLAGS): Likewise.
27048
27049 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27050
27051 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27052 possible.
27053
27054 * kern/dl.c (pupa_dl_ref): Refer depending modules
27055 recursively.
27056 (pupa_dl_unref): Unrefer depending modules recursively.
27057 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27058 a module is unloaded before one depending on that module is
27059 unloaded.
27060 (pupa_dl_unload): Unload depending modules explicitly,
27061 if possible.
27062
27063 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27064
27065 * include/pupa/i386/pc/linux.h: New file.
27066 * loader/i386/pc/linux.c: Likewise.
27067
27068 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27069 Removed.
27070 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27071 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27072 of PUPA_CHAINLOADER_BOOT_SECTOR.
27073
27074 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27075 (pupa_linux_prot_size): New variable.
27076 (pupa_linux_tmp_addr): Likewise.
27077 (pupa_linux_real_addr): Likewise.
27078 (pupa_linux_boot_zimage): New function.
27079 (pupa_linux_boot_bzimage): Likewise.
27080
27081 * kern/i386/pc/init.c (struct mem_region): New structure.
27082 (MAX_REGIONS): New macro.
27083 (mem_regions): New variable.
27084 (num_regions): Likewise.
27085 (pupa_os_area_addr): Likewise.
27086 (pupa_os_area_size): Likewise.
27087 (pupa_lower_mem): Likewise.
27088 (pupa_upper_mem): Likewise.
27089 (add_mem_region): New function.
27090 (compact_mem_regions): Likewise.
27091 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27092 the size of the conventional memory and that of so-called upper
27093 memory (before the first memory hole).
27094 Instead of adding each found region to free memory, use
27095 add_mem_region and add them after removing overlaps.
27096 Also, add only 1/4 of the upper memory to free memory. The rest
27097 is used for loading OS images. Maybe this is ad hoc, but this
27098 makes it much easier to relocate OS images when booting.
27099
27100 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27101 (pupa_enter_rescue_mode): Don't register initrd and module.
27102
27103 * kern/mm.c: Include pupa/dl.h.
27104
27105 * kern/main.c: Include pupa/file.h and pupa/device.h.
27106
27107 * kern/loader.c (pupa_loader_load_module_func): Removed.
27108 (pupa_loader_load_module): Likewise.
27109
27110 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27111 ``.o''.
27112
27113 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27114 (pupa_linux_tmp_addr): Likewise.
27115 (pupa_linux_real_addr): Likewise.
27116 (pupa_linux_boot_zimage): Likewise.
27117 (pupa_linux_boot_bzimage): Likewise.
27118
27119 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27120 (pupa_upper_mem): Likewise.
27121 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27122 module is too dangerous.
27123
27124 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27125 (pupa_os_area_size): Likewise.
27126 (pupa_loader_set): Remove the first argument. Loader doesn't
27127 manage modules or initrd any longer.
27128 (pupa_loader_load_module): Removed.
27129
27130 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27131 (linux_mod_SOURCES): New variable.
27132 (linux_mod_CFLAGS): Likewise.
27133
27134 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27135
27136 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27137 the length of a blocklist correctly.
27138
27139 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27140 Use ioctl only if the OS file is a block device.
27141 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27142 not very useful for normal files.
27143
27144 * kern/main.c (pupa_set_root_dev): New function.
27145 (pupa_load_normal_mode): Likewise.
27146 (pupa_main): Call those above.
27147
27148 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27149 pupa_uint16_t.
27150
27151 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27152
27153 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27154
27155 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27156 (setup): Configure the installed partition information and the
27157 dl prefix.
27158
27159 * loader/i386/pc/chainloader.c (my_mod): New variable.
27160 (pupa_chainloader_unload): New function.
27161 (pupa_rescue_cmd_chainloader): Refer itself.
27162 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27163
27164 * kern/i386/pc/startup.S (install_partition): Removed.
27165 (version_string): Likewise.
27166 (config_file): Likewise.
27167 (pupa_install_dos_part): New variable.
27168 (pupa_install_bsd_part): Likewise.
27169 (pupa_prefix): Likewise.
27170 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27171
27172 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27173 and pupa/misc.h.
27174 (make_install_device): New function.
27175 (pupa_machine_init): Set the dl prefix.
27176
27177 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27178 (buf): Renamed to ...
27179 (linebuf): ... this.
27180 (pupa_rescue_cmd_prefix): New function.
27181 (pupa_rescue_cmd_insmod): Likewise.
27182 (pupa_rescue_cmd_rmmod): Likewise.
27183 (pupa_rescue_cmd_lsmod): Likewise.
27184 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27185 rmmod and lsmod.
27186
27187 * kern/mm.c (pupa_memalign): If failed even after invalidating
27188 disk caches, unload unneeded modules and retry.
27189
27190 * kern/misc.c (pupa_memmove): New function.
27191 (pupa_memcpy): Removed.
27192 (pupa_strcpy): New function.
27193 (pupa_itoa): Made static.
27194
27195 * kern/dl.c (pupa_dl_iterate): New function.
27196 (pupa_dl_ref): Likewise.
27197 (pupa_dl_unref): Likewise.
27198 (pupa_dl_unload): Return if succeeded or not.
27199 (pupa_dl_unload_unneeded): New function.
27200 (pupa_dl_unload_all): Likewise.
27201 (pupa_dl_init): Renamed to ...
27202 (pupa_dl_set_prefix): ... this.
27203 (pupa_dl_get_prefix): New function.
27204
27205 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27206 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27207 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27208 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27209 (pupa_install_dos_part): Declared.
27210 (pupa_install_bsd_part): Likewise.
27211 (pupa_prefix): Likewise.
27212 (pupa_boot_drive): Likewise.
27213
27214 * include/pupa/types.h: Fix a typo.
27215
27216 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
27217 pupa_memmove.
27218 (pupa_memmove): Declared.
27219 (pupa_strcpy): Likewise.
27220
27221 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
27222 pupa_mod_init takes one argument, its own module.
27223 (pupa_dl_unload_unneeded): Declared.
27224 (pupa_dl_unload_all): Likewise.
27225 (pupa_dl_ref): Likewise.
27226 (pupa_dl_unref): Likewise.
27227 (pupa_dl_iterate): Likewise.
27228 (pupa_dl_init): Renamed to ...
27229 (pupa_dl_set_prefix): ... this.
27230 (pupa_dl_get_prefix): Declared.
27231
27232 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
27233 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
27234 unloaded.
27235 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
27236 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
27237
27238 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
27239 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
27240
27241 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27242
27243 * util/i386/pc/pupa-setup.c (setup): Define the internal
27244 function find_first_partition_start at the top level, because GCC
27245 3.0.x cannot compile internal functions in deeper scopes
27246 correctly.
27247 (find_root_device): Use lstat instead of stat.
27248 Don't follow symbolic links.
27249 Fix the path-constructing code.
27250
27251 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
27252 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
27253 by a BLKGETSIZE ioctl first, because block devices don't fill
27254 the member st_mode of the structure stat on Linux.
27255 [__linux__] (linux_find_partition): Use a temporary buffer
27256 REAL_DEV for the working space. Copy it to DEV before returning.
27257 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
27258 buffer cache consistent.
27259 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
27260 strncmp. The previous value was merely wrong.
27261 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
27262
27263 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
27264 FAT size is 12. The previous value was merely wrong.
27265
27266 * kern/main.c (pupa_main): Don't split the starting message from
27267 newlines.
27268
27269 * kern/term.c (pupa_putchar): Put CR after LF instead of before
27270 LF, because BIOS goes crazy about character attributes in this
27271 case.
27272
27273 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27274
27275 * include/i386/pc/util/biosdisk.h: New file.
27276 * util/i386/pc/biosdisk.c: Likewise.
27277 * util/i386/pc/pupa-setup.c: Likewise.
27278
27279 * Makefile.in (INCLUDE_DISTFILES): Added
27280 include/pupa/i386/pc/util/biosdisk.h.
27281 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
27282 directory util/i386/pc.
27283 (install-local): Added a rule for sbin_UTILITIES.
27284 (uninstall): Likewise.
27285
27286 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
27287
27288 * util/misc.c (xrealloc): New function.
27289 (pupa_malloc): Likewise.
27290 (pupa_free): Likewise.
27291 (pupa_realloc): Likewise.
27292 (pupa_stop): Likewise.
27293 (pupa_putchar): Likewise.
27294
27295 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
27296
27297 * include/pupa/util/misc.h (xrealloc): Declared.
27298
27299 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
27300 macro.
27301 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
27302 (PUPA_BOOT_MACHINE_BPB_END): ... this.
27303
27304 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
27305 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27306
27307 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
27308 way should be implemented.
27309 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27310
27311 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
27312 the size of NAME for safety.
27313 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
27314 0x88.
27315
27316 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
27317 (pupa_setup_SOURCES): Likewise.
27318
27319 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
27320
27321 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27322
27323 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
27324 bunch of pushl's from pusha, because this destroys the return
27325 value.
27326
27327 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27328
27329 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
27330 This means that any missing prototypes could be fatal. Also, you
27331 must take care when writing assembly code. See the comments at
27332 the beginning of startup.S, for more details.
27333
27334 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
27335 compilation mechanism.
27336 (pupa_chainloader_real_boot): Likewise.
27337 (pupa_biosdisk_rw_int13_extensions): Likewise.
27338 (pupa_biosdisk_rw_standard): Likewise.
27339 (pupa_biosdisk_check_int13_extensions): Likewise.
27340 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
27341 (pupa_biosdisk_get_diskinfo_standard): Likewise.
27342 (pupa_get_memsize): Likewise.
27343 (pupa_get_mmap_entry): Likewise.
27344 (pupa_console_putchar): Likewise.
27345 (pupa_console_setcursor): Likewise.
27346 (pupa_getrtsecs): Use pushl instead of push.
27347
27348 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
27349 memory instead of the stack for a mmap entry, because some
27350 BIOSes may ignore the maximum size and overflow.
27351
27352 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
27353
27354 * genmk.rb (PModule#rule): Compile automatically generated
27355 sources with module-specific CFLAGS as well as other sources.
27356
27357 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27358
27359 * configure.ac: Check ld.
27360 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
27361 respectively, before checking endianness and sizes.
27362
27363 * Makefile.in (LD): New variable.
27364
27365 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27366
27367 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
27368
27369 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27370
27371 * Changelog: New file.
27372