]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi (Troubleshooting): `echo' is not usually available
[grub2.git] / ChangeLog
CommitLineData
a6a700aa
CW
12010-06-07 Colin Watson <cjwatson@ubuntu.com>
2
3 * docs/grub.texi (Troubleshooting): `echo' is not usually available
4 in the rescue shell, so recommend using `set' instead. Thanks,
5 Jordan Uggla.
6
4003dd38
CW
72010-06-07 Colin Watson <cjwatson@ubuntu.com>
8
9 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10 (password): New section.
11 (password_pbkdf2): New section.
12 (search): New section.
13 (Security): New section.
14 (Troubleshooting): New section, currently very incomplete.
15 (Invoking grub-mkpasswd-pbkdf2): New section.
16 (Internals): New section, currently very incomplete.
17
e1cbcc40
CW
182010-06-07 Colin Watson <cjwatson@ubuntu.com>
19
20 * util/grub.d/00_header.in: Add some more quoting (of
21 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22 work again.
23 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24
db8fa1ad
CW
252010-06-07 Colin Watson <cjwatson@ubuntu.com>
26
27 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
28 to `count', fixing variable shadowing that broke the -c option.
29
302010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
31
32 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
33 in case they contain spaces.
34
f28a9212
CW
352010-06-04 Colin Watson <cjwatson@ubuntu.com>
36
37 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
38 "part_" to partmap module names, in line with grub-install.
39 Reported by: Jindřich Makovička (Debian bug #584426).
40
9cdfe32f
CW
412010-06-04 Colin Watson <cjwatson@ubuntu.com>
42
43 * util/grub-mkimage.c: Make target-related error messages slightly
44 more helpful; -O talks about "format". Explicitly point to the use
45 of -O if no target is specified.
46 Reported by: Didier Raboud (Debian bug #584415).
47
795b593a
CW
482010-06-03 Colin Watson <cjwatson@ubuntu.com>
49
50 * INSTALL: Document several build requirements for optional features
51 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
52
9d9b5833
GS
532010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
54
55 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
56 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
57 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
58
0819fec8
CW
592010-06-02 Colin Watson <cjwatson@ubuntu.com>
60
61 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
62 Thanks to Jordan Uggla for spotting this.
63
49396b4f
VS
642010-06-02 Aleš Nesrsta <starous@volny.cz>
65
66 Finally make USB usable.
67
68 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
69 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
70 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
71 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
72 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
73 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
74 (GRUB_OHCI_FSMPS): Likewise.
75 (GRUB_OHCI_PERIODIC_START): Likewise.
76 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
77 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
78 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
79 (GRUB_OHCI_SET_PORT_RESET): Likewise.
80 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
81 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
82 (grub_ohci_transaction): Likewise.
83 (grub_ohci_transfer): Improve condition detection algorithms.
84 Handle toggle property. Program the transactions correctly.
85 Improve error handling. Various important fixups.
86 (grub_ohci_portstatus): Put register writes in right order.
87 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
88 (grub_uhci_transfer): Don't show "failed" message on success.
89 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
90 array.
91 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
92 determine its size.
93 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
94 before initialization is completed. Use IN direction for empty
95 transfers. Use last_trans and compute toggle.
96 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
97 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
98 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
99 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
100 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
101 (grub_usb_device): Increase toggle to 256.
102 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
103 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
104 GRUB_USBMS_SUBCLASS_SFF8070.
105 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
106 (grub_scsi_inquiry): New member page and alloc_length.
107 (grub_scsi_request_sense): New structure.
108 (grub_scsi_request_sense_data): Likewise.
109 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
110 control.
111 * disk/scsi.c (grub_scsi_request_sense): New function.
112 (grub_scsi_test_unit_ready): Likewise.
113 (grub_scsi_inquiry): Fill new fields.
114 (grub_scsi_read_capacity): Likewise.
115 (grub_scsi_read10): Add request sense at the end.
116 (grub_scsi_read12): Likewise.
117 (grub_scsi_write10): Likewise.
118 (grub_scsi_write12): Likewise.
119 (grub_scsi_open): Add Test Unit Ready.
120 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
121 Support additional subclasses. Con't clear halt yet. Activate the
122 proper config. Calculate LUNs correctly.
123 (grub_usbms_transfer): Various important fixups.
124
1252010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
128 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
129 (grub_ohci_fini_hw): New function.
130 (grub_ohci_restore_hw): Likewise.
131 (GRUB_MOD_INIT(ohci)): Register preboot hook.
132 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
133 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
134
1352010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Dedicated DMA allocations.
138
139 * bus/pci.c (grub_memalign_dma32): New function
140 (grub_dma_free): Likewise.
141 (grub_dma_get_virt): Likewise.
142 (grub_dma_get_phys): Likewise.
143 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
144 (grub_ohci_pci_iter): Use dma32_alloc.
145 (grub_ohci_transfer): Likewise.
146 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
147 (grub_usb_bulk_readwrite): Likewise.
148 * include/grub/pci.h: Add declarations.
149
1502010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
151
152 CS5536 support.
153
154 * bus/cs5536.c: New file.
155 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
156 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
157 (cs5536_mod_SOURCES): New variable.
158 (cs5536_mod_CFLAGS): Likewise.
159 (cs5536_mod_LDFLAGS): Likewise.
160 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
161 machine/pci.h.
162 (kernel_img_SOURCES): Add bus/cs5536.c.
163 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
164 usb_keyboard.mod.
165 (usb_mod_SOURCES): New variable.
166 (usb_mod_CFLAGS): New variable.
167 (usb_mod_LDFLAGS): New variable.
168 (usbtest_mod_SOURCES): New variable.
169 (usbtest_mod_CFLAGS): New variable.
170 (usbtest_mod_LDFLAGS): New variable.
171 (ohci_mod_SOURCES): New variable.
172 (ohci_mod_CFLAGS): New variable.
173 (ohci_mod_LDFLAGS): New variable.
174 (usbms_mod_SOURCES): New variable.
175 (usbms_mod_CFLAGS): New variable.
176 (usbms_mod_LDFLAGS): New variable.
177 (usb_keyboard_mod_SOURCES): New variable.
178 (usb_keyboard_mod_CFLAGS): New variable.
179 (usb_keyboard_mod_LDFLAGS): New variable.
180 * include/grub/smbus.h: New file.
181 * include/grub/cs5536.h: New file.
182
0b35b2a9
CW
1832010-06-02 Colin Watson <cjwatson@ubuntu.com>
184
185 * util/grub.d/00_header.in: Add safety check to make sure that
186 ${locale_dir} exists before trying to probe it.
187
ca0afd5b
CW
1882010-06-02 Colin Watson <cjwatson@ubuntu.com>
189
190 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
191 per the GNU Coding Standards; this is now too obscure to be worth
192 documenting.
193 (QNX): Likewise.
194 (chainloader): Remove cross-reference to `SCO UnixWare'.
195
1c41aa78
CW
1962010-06-02 Colin Watson <cjwatson@ubuntu.com>
197
198 * docs/grub.texi (Chain-loading): New section.
199 (DOS/Windows): New section, borrowed from GRUB Legacy with details
200 adjusted for GRUB 2.
201 (SCO UnixWare): Likewise.
202 (QNX): Likewise.
203 (chainloader): Add reference to `Block list syntax'.
204 (drivemap): New section.
205 (parttool): New section.
206
bb8ea0f5
CW
2072010-06-02 Colin Watson <cjwatson@ubuntu.com>
208
209 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
210 the grub shell'.
211 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
212 (Installing GRUB using grub-install): Remove reference to the grub
213 shell; mention `grub-mkimage' and `grub-setup' instead.
214 (Invoking grub-install): Likewise.
215 (Interface): Add reference to `Menu entry editor'.
216 (serial): Remove `--device' option.
217
288dd6ed
CW
2182010-06-02 Colin Watson <cjwatson@ubuntu.com>
219
220 * docs/grub.texi (Configuration): New section, documenting
221 configuration file generation using grub-mkconfig. I've left a slot
222 for documenting the full shell scripting format but have not yet
223 started on writing that up.
224 (Invoking grub-mkconfig): New section.
225
34c9f0e9
CW
2262010-06-02 Colin Watson <cjwatson@ubuntu.com>
227
228 * docs/grub.texi (direntry): Remove grub-terminfo reference.
229 (GNU GRUB manual): Likewise.
230 (General commands): Update description of `terminfo' for GRUB 2.
231
9121567e
CW
2322010-06-02 Colin Watson <cjwatson@ubuntu.com>
233
234 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
235 (GRUB_MOD_INIT): Fix capitalisation.
236 * docs/grub.texi (Command-line and menu entry commands): Document
237 gettext and gptsync commands.
238
ab631611
CW
2392010-06-02 Colin Watson <cjwatson@ubuntu.com>
240
241 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
242 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
243
bde4a9ac
CW
2442010-06-01 Colin Watson <cjwatson@ubuntu.com>
245
246 Add btrfs probing support, currently only in the single-device case.
247
248 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
249 function.
250 (grub_guess_root_device): Call find_root_device_from_mountinfo
251 before looking in /dev.
252
b1d17e10
VS
2532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
256 GRUB_DISK_SIZE_UNKNOWN.
257 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
258
dfbfe004
JS
2592010-05-31 Jiro SEKIBA <jir@unicus.jp>
260
261 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
262 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
263 corrupted or not synced properly.
264
c2ffc8e9
VS
2652010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
268 Reported by: Seth Goldberg.
269
56293166
VS
2702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
273 addition of dest.
274 Reported by: Seth Goldberg.
275
7620e7de
VS
2762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
279 Reported by: Seth Goldberg.
280
c837af3f
VS
2812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
284 64-bit address as signed on MIPS.
285
c7c75cf4
CW
2862010-05-28 Colin Watson <cjwatson@ubuntu.com>
287
288 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
289 to the empty string.
290
fa4b8490
BC
2912010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
292
293 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
294
295 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
296 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
297 * kern/misc.c (__enable_execute_stack): Disable on
298 GRUB_MACHINE_EMU.
299
a33075b9
CW
3002010-05-28 Colin Watson <cjwatson@ubuntu.com>
301
302 Make grub-probe work with symbolic links under /dev/mapper as well
303 as with real block devices. The Linux world seems to be (at best)
304 in transition here, and GRUB shouldn't get caught in the middle.
305
306 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
307 /dev/mapper.
308
d8708134
CW
3092010-05-27 Colin Watson <cjwatson@ubuntu.com>
310
311 * util/grub-script-check.c (main): Ensure defined behaviour on empty
312 input files (in which case exit zero).
313
db2102a0
CW
3142010-05-27 Colin Watson <cjwatson@ubuntu.com>
315
316 * kern/emu/misc.c (canonicalize_file_name): realpath can still
317 return NULL for various reasons even if it has a maximum-length
318 buffer: for example, there might be a symlink loop, or the path
319 might exceed PATH_MAX. If this happens, return NULL.
320
5fdba519
RM
3212010-05-27 Robert Millan <rmh@gnu.org>
322
323 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
324 partmap module to handle cross-partmap setups.
325 Reported by Orestes Mas. Gràcies!
326
d1d368e4
CW
3272010-05-27 Colin Watson <cjwatson@ubuntu.com>
328
329 * util/grub-mkrescue.in: Initialise override_dir rather than
330 assuming that it's unset or empty in the environment.
331
95ac3c73
GS
3322010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
333
334 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
335 variable index into p_index to suppress a warning with -Wshadow.
336
7d8c0213
BC
3372010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
338
339 * INSTALL: Added flex >= 2.5.35 requirement.
340
db4d5813
VS
3412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
344
f24f4300
VS
3452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
346
347 cmostest support.
348
349 * commands/i386/cmostest.c: New file.
350 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
351 (cmostest_mod_SOURCES): New variable.
352 (cmostest_mod_CFLAGS): Likewise.
353 (cmostest_mod_LDFLAGS): Likewise.
354 * conf/i386-pc.rmk: Likewise.
355 * docs/grub.texi (Vendor power-on keys): New section.
356 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
357 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
358 and GRUB_BUTTON_CMOS_ADDRESS.
359 * util/grub.d/00_header.in: Handle powering-on by separate button.
360
ad603f61
VS
3612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
364 Removed drawing_scrollbar argument. All users updated
365 Fixes #29792.
366 Reported by Jo Shields
367
3ecb080a
VS
3682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
371 buffer since gfxterm handles double repaint.
372
5f2316c1
VS
3732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
376 * term/gfxterm.c (real_scroll): Likewise.
377
9a25f885
VS
3782010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
381 before calling BIOS.
382
39fbb79a
VS
3832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * include/grub/i18n.h: Always enable grub_gettext.
386
228cfa97
VS
3872010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
390 partition naming style.
391
21717c8f
CW
3922010-05-21 Colin Watson <cjwatson@ubuntu.com>
393
394 * util/grub-mkconfig.in: Fix handling of -o so that it works when
395 not the first option.
396
c0f48e65
CW
3972010-05-20 Colin Watson <cjwatson@ubuntu.com>
398
399 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
400
96779aec
CW
4012010-05-20 Colin Watson <cjwatson@ubuntu.com>
402
403 * util/misc.c: Move inclusion of <limits.h> to ...
404 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
405
fa9d256e
GS
4062010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
407
408 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
409 Fix merge error in NetBSD code.
410 (find_partition_start) [__NetBSD__]: Likewise.
411
123b7a85
BC
4122010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
413
414 Fix grub-mkrescue usage unit testing.
415
416 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
417
74276c0d
CF
4182010-05-18 Christian Franke <franke@computer.org>
419
420 * util/grub.d/10_windows.in: Use path names instead of
421 drive letters to prevent warning from Cygwin 1.7.
422 Add drivemap command to menuentry if needed.
423
c4f7b523
ST
4242010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
425
426 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
427 gnumach and gnumach.gz.
428
95b97950
VS
4292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * include/grub/i18n.h (gettext): Inline instead of using #define.
432 (grub_gettext): Likewise.
433 (_): Likewise.
434
01b8d2d7
VS
4352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
438 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
439 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
440 (main): Add a slash after pkglibdirroot.
441
654e1d1e
VS
4422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * util/grub-install.in: Add missing "in" keyword.
445
26966aeb
VS
4462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
449 Reported by: Seth Goldberg.
450
75006747
VS
4512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
454
74cbf5bd
CW
4552010-05-18 Colin Watson <cjwatson@ubuntu.com>
456
457 * configure.ac: Check for Linux device-mapper support.
458
459 * util/hostdisk.c (device_is_mapped): New function.
460 (find_partition_start): New function, partly broken out from
461 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
462 device-mapper support added.
463 (linux_find_partition): Use find_partition_start.
464 (convert_system_partition_to_system_disk): Add `st' argument.
465 Support Linux /dev/mapper/* devices if device-mapper support is
466 available; only DM-RAID devices are understood at present.
467 (find_system_device): Add `st' argument. Pass it to
468 convert_system_partition_to_system_disk.
469 (grub_util_biosdisk_get_grub_dev): Pass stat result to
470 find_system_device and convert_system_partition_to_system_disk. Use
471 find_partition_start.
472
473 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
474 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
475 * util/deviceiter.c [__linux__]: Define MINOR.
476 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
477 * util/mkdevicemap.c (grub_putchar): New function.
478 (grub_getkey): New function.
479 (grub_refresh): New function.
480 (main): Set debug=all if -v -v is used.
481
355b51e9
CW
4822010-05-18 Colin Watson <cjwatson@ubuntu.com>
483
484 Fix build with non-GNU libcs.
485
486 * util/misc.c (canonicalize_file_name): Move to ...
487 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
488 grub_make_system_path_relative_to_its_root.
489
7fb5c25f
CW
4902010-05-18 Colin Watson <cjwatson@ubuntu.com>
491
492 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
493 we handle finding grub-mkimage. Default to finding grub-mkimage in
494 ${bindir} with program_transform_name applied, and provide a
495 --grub-mkimage option to override this.
496
1d3293d6
VS
4972010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Remove grub-mkisofs.
500
501 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
502 (grub_mkisofs_SOURCES): Removed.
503 (grub_mkisofs_CFLAGS): Removed.
504 * util/mkisofs/defaults.h: Removed.
505 * util/mkisofs/eltorito.c: Likewise.
506 * util/mkisofs/exclude.h: Likewise.
507 * util/mkisofs/hash.c: Likewise.
508 * util/mkisofs/include/: Likewise.
509 * util/mkisofs/include/fctldefs.h: Likewise.
510 * util/mkisofs/include/mconfig.h: Likewise.
511 * util/mkisofs/include/prototyp.h: Likewise.
512 * util/mkisofs/include/statdefs.h: Likewise.
513 * util/mkisofs/iso9660.h: Likewise.
514 * util/mkisofs/joliet.c: Likewise.
515 * util/mkisofs/match.c: Likewise.
516 * util/mkisofs/match.h: Likewise.
517 * util/mkisofs/mkisofs.c: Likewise.
518 * util/mkisofs/mkisofs.h: Likewise.
519 * util/mkisofs/msdos_partition.h: Likewise.
520 * util/mkisofs/multi.c: Likewise.
521 * util/mkisofs/name.c: Likewise.
522 * util/mkisofs/rock.c: Likewise.
523 * util/mkisofs/tree.c: Likewise.
524 * util/mkisofs/write.c: Likewise.
525
5dde9afe
VS
5262010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
527
528 Unify grub-mkimage accross platforms.
529
530 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
531 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
532 (grub_mkelfimage_SOURCES): Removed.
533 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
534 (util/grub-mkimage.c_DEPENDENCIES): .. this.
535 (bin_UTILITIES): Add grub-mkimage.
536 (grub_mkimage_SOURCES): New variable.
537 (kernel_img_HEADERS): Remove machine/kernel.h.
538 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
539 (pkglib_PROGRAMS): Add kernel.img.
540 (kernel_img_HEADERS): Add machine/kernel.h.
541 (kernel_img_FORMAT): Removed.
542 (bin_UTILITIES): Remove grub-mkimage.
543 (grub_mkimage_SOURCES): Removed.
544 (grub_mkimage_CFLAGS): Likewise.
545 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
546 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
547 (pkglib_PROGRAMS): Add kernel.img.
548 (bin_UTILITIES): Remove grub-mkimage.
549 (grub_mkimage_SOURCES): Removed.
550 (grub_mkimage_CFLAGS): Likewise.
551 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
552 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
553 (pkglib_PROGRAMS): Add kernel.img.
554 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
555 (pkglib_PROGRAMS): Add kernel.img.
556 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
557 (grub_mkimage_SOURCES): Removed.
558 (grub_mkimage_CFLAGS): Likewise.
559 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
560 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
561 (pkglib_PROGRAMS): Add kernel.img.
562 (bin_UTILITIES): Remove grub-mkimage.
563 (grub_mkimage_SOURCES): Removed.
564 (grub_mkimage_CFLAGS): Likewise.
565 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
566 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
567 (grub_mkimage_SOURCES): Removed.
568 (grub_mkimage_CFLAGS): Likewise.
569 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
570 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
571 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
572 (grub_pe32_optional_header): ... this.
573 (grub_pe64_optional_header): ... and this. All users updated.
574 (GRUB_PE32_PE32_MAGIC): Split into ..
575 (GRUB_PE32_PE32_MAGIC): .. this.
576 (GRUB_PE32_PE64_MAGIC): .. and this.
577 (GRUB_PE32_SIGNATURE_SIZE): New definition.
578 * include/grub/elf.h (PT_GNU_STACK): New definition.
579 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
580 * include/grub/i386/efi/kernel.h: Likewise.
581 * include/grub/i386/kernel.h: Likewise.
582 * include/grub/i386/pc/kernel.h: Likewise.
583 * include/grub/i386/qemu/boot.h: Likewise.
584 * include/grub/mips/kernel.h: Likewise.
585 * include/grub/mips/qemu-mips/kernel.h: Likewise.
586 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
587 * include/grub/powerpc/kernel.h: Likewise.
588 * include/grub/sparc64/ieee1275/boot.h: Likewise.
589 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
590 * include/grub/sparc64/kernel.h: Likewise.
591 * include/grub/x86_64/efi/kernel.h: Likewise.
592 * include/grub/x86_64/kernel.h: Likewise.
593 * include/grub/offsets.h: New file.
594 * include/grub/kernel.h (grub_module_info): Split into ...
595 (grub_module_info32): ... this.
596 (grub_module_info64): ... and this.
597 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
598 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
599 (grub_boot_blocklist): Moved from here ...
600 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
601 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
602 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
603 * include/grub/types.h (grub_target_to_host16): Removed.
604 (grub_target_to_host32): Likewise.
605 (grub_target_to_host64): Likewise.
606 (grub_host_to_target16): Likewise.
607 (grub_host_to_target32): Likewise.
608 (grub_host_to_target64): Likewise.
609 (grub_host_to_target_addr): Likewise.
610
611 Support grub-mkrescue for efi, coreboot and qemu.
612
613 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
614 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
615 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
616 * util/grub-mkrawimage.c: Moved from here ...
617 * util/grub-mkimage.c: ... here. All users updated.
618 (ALIGN_ADDR): Use image_target.
619 (TARGET_NO_FIELD): New const.
620 (image_target_desc): New type.
621 (image_targets): New array.
622 (grub_target_to_host64): Use image_target.
623 (grub_target_to_host32): Likewise.
624 (grub_target_to_host16): Likewise.
625 (grub_host_to_target64): Likewise.
626 (grub_host_to_target32): Likewise.
627 (grub_host_to_target16): Likewise.
628 (grub_host_to_target_addr): Likewise.
629 (generate_image): Handle multiimage.
630 (main): Require -O parameter. All users updated.
631 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
632 util/efi/grub-mkimage.c
633 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
634 New option --rom-directory.
635 Use xorriso.
636 * util/i386/efi/grub-mkimage.c: Removed.
637 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
638 (grub_target_to_host32): Likewise.
639 (grub_target_to_host64): Likewise.
640 (grub_host_to_target16): Likewise.
641 (grub_host_to_target32): Likewise.
642 (grub_host_to_target64): Likewise.
643 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
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
f4fc97d0
BC
6502010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
651
652 Source tree is reorganized for emu build.
653
654 * include/grub/util/console.h: Move from here...
655 * include/grub/emu/console.h: ...to here.
656 * include/grub/util/getroot.h: Move from here...
657 * include/grub/emu/getroot.h: ...to here.
658 * include/grub/util/hostdisk.h: Move from here...
659 * include/grub/emu/hostdisk.h: ...to here.
660 * util/console.c: Move from here...
661 * kern/emu/console.c: ...to here.
662 * util/getroot.c: Move from here...
663 * kern/emu/getroot.c: ...to here.
664 * util/grub-emu.c: Move from here...
665 * kern/emu/main.c: ...to here.
666 * util/hostdisk.c: Move from here...
667 * kern/emu/hostdisk.c: ...to here.
668 * util/hostfs.c: Move from here...
669 * kern/emu/hostfs.c: ...to here.
670 * util/mm.c: Move from here...
671 * kern/emu/mm.c: ...to here.
672 * util/pci.c: Move from here...
673 * bus/emu/pci.c: ...to here.
674 * util/sdl.c: Move from here...
675 * video/emu/sdl.c: ...to here.
676 * util/time.c: Move from here...
677 * kern/emu/time.c: ...to here.
678 * util/usb.c: Move from here...
679 * bus/usb/emu/usb.c: ...to here.
680
681 * include/grub/emu/misc.h: New header for grub-emu functions.
682 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
683
684 * conf/any-emu.rmk: Rule updates for above renames.
685 * conf/common.rmk: Likewise.
686 * conf/i386-pc.rmk: Likewise.
687 * conf/i386-qemu.rmk: Likewise.
688 * conf/mips.rmk: Likewise.
689 * conf/sparc64-ieee1275.rmk: Likewise.
690 * conf/x86-efi.rmk: Likewise.
691
692 * disk/lvm.h: #include updates for above renames.
693 * util/grub-mkrelpath.c: Likewise.
694 * util/grub-probe.c: Likewise.
695 * util/i386/pc/grub-setup.c: Likewise.
696 * util/sparc64/ieee1275/grub-setup.c: Likewise.
697 * kern/emu/console.c: Likewise.
698 * kern/emu/getroot.c: Likewise.
699 * kern/emu/hostdisk.c: Likewise.
700 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
701
702 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
703 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
704 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
705 * util/misc.c: Remove grub-emu functions.
706
cced9145
VS
7072010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Fix gfxmenu crash.
710 Reported by: Thorsten Grützmacher.
711
712 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
713 timeout hook.
714 (circprog_set_property): Register and unregister timeout hook.
715 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
716 (label_destroy): Free template. and unregister hook.
717 (label_set_state): New function.
718 (label_set_property): Handle templates and hooks.
719 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
720 timeout hook.
721 (progress_bar_set_property): Register and unregister timeout hook.
722 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
723 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
724 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
725 (update_timeout_visit): Removed.
726 (update_timeouts): New function.
727 (redraw_timeouts): Likewise.
728 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
729 (grub_gfxmenu_clear_timeout): Likewise.
730 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
731 (grub_gfxmenu_timeout_notify): Likewise.
732 (grub_gfxmenu_timeout_notifications): New external variable.
733 (grub_gfxmenu_timeout_register): New function.
734 (grub_gfxmenu_timeout_unregister): Likewise.
735
c6e5caab
VS
7362010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Transform (broken) vga terminal into (working) vga video driver.
739
740 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
741 video/i386/pc/vga.c.
742 * include/grub/video.h (grub_video_driver_id):
743 Add GRUB_VIDEO_DRIVER_VGA.
744 * term/i386/pc/vga.c: Renamed to ...
745 * video/i386/pc/vga.c: ...this
746 (DEBUG_VGA): Removed.
747 (CHAR_WIDTH): Likewise.
748 (CHAR_HEIGHT): Likewise.
749 (TEXT_WIDTH): Likewise.
750 (TEXT_HEIGHT): Likewise.
751 (DEFAULT_FG_COLOR): Likewise.
752 (DEFAULT_BG_COLOR): Likewise.
753 (colored_char): Likewise.
754 (xpos): Likewise.
755 (ypos): Likewise.
756 (cursor_state): Likewise.
757 (fg_color): Likewise.
758 (bg_color): Likewise.
759 (text_buf): Likewise.
760 (page): Likewise.
761 (font): Likewise.
762 (framebuffer): New variable.
763 (set_read_map): Disabled.
764 (setup): New variable.
765 (is_target): Likewise.
766 (grub_vga_mod_init): Likewise.
767 (grub_vga_mod_fini): Likewise.
768 (check_vga_mem): Likewise.
769 (write_char): Likewise.
770 (write_cursor): Likewise.
771 (scroll_up): Likewise.
772 (grub_vga_putchar): Likewise.
773 (grub_vga_getcharwidth): Likewise.
774 (grub_vga_getwh): Likewise.
775 (grub_vga_getxy): Likewise.
776 (grub_vga_gotoxy): Likewise.
777 (grub_vga_cls): Likewise.
778 (grub_vga_setcolorstate): Likewise.
779 (grub_vga_setcursor): Likewise.
780 (grub_video_vga_init): New function.
781 (grub_video_vga_setup): Likewise.
782 (grub_video_vga_fini): Likewise.
783 (update_target): Likewise.
784 (grub_video_vga_blit_bitmap): Likewise.
785 (grub_video_vga_blit_render_target): Likewise.
786 (grub_video_vga_set_active_render_target): Likewise.
787 (grub_video_vga_get_active_render_target): Likewise.
788 (grub_video_vga_swap_buffers): Likewise.
789 (grub_video_vga_set_palette): Likewise.
790 (grub_video_vga_get_info_and_fini): Likewise.
791 (grub_vga_term): Removed.
792 (grub_video_vga_adapter): New variable.
793 (GRUB_MOD_INIT): Register a video driver instead of terminal.
794 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
795
2bf61a98
VS
7962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * video/readers/jpeg.c: Indented.
799
09ddcd11
VS
8002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
801
802 Various jpeg cleanups.
803
804 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
805 (grub_jpeg_decode_quan_table): Use sizeof.
806 (grub_jpeg_decode_du): Use ARRAY_SIZE.
807
e5507505
PH
8082010-05-05 Peter Hurley <No e-mail available> (tiny change)
809
810 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
811 tables. Ignore non-last ac bit.
812 (grub_jpeg_decode_quan_table): Likewise.
813
7e720a9b
VS
8142010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
817 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
818 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
819 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
820 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
821 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
822
a7fc080b
VS
8232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
826 error.
827
2bf6012d
VS
8282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
831
265d68cd
VS
8322010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
835 condition.
836
8372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
838
839 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
840 part.
841
265d68cd 8422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
843
844 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
845 pointers.
846
265d68cd 8472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
848
849 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
850
d1b61374
CF
8512010-05-01 Christian Franke <franke@computer.org>
852
853 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
854 Remove broken Cygwin path conversion.
855 * util/misc.c: [__CYGWIN__] Add include and define.
856 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
857 for Cygwin 1.7.
858 (make_system_path_relative_to_its_root): Simplify loop, replace early
859 return by break.
860 [__CYGWIN__] Add conversion to win32 path.
861 Include "/" case in trailing slash removal.
862
3558c6e9
VS
8632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * kern/main.c (grub_load_config): Fix copy-pasted comment.
866 Reported by: Seth Goldberg
867
f5f3ff93
VS
8682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * commands/help.c (grub_cmd_help): Fix a typo.
871 Reported by: Seth Goldberg
872
d8b5cd40
VS
8732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
876 name and add N_.
877 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
878 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
879 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
880 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
881 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
882 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
883 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
884 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
885 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
886 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
887 * normal/context.c (GRUB_MOD_INIT): Likewise.
888 * normal/main.c (GRUB_MOD_INIT): Likewise.
889 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
890 * term/serial.c (GRUB_MOD_INIT): Likewise.
891 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
892
88c14915
VS
8932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
896 extra == 0.
897
165134bc
VS
8982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * commands/iorw.c: New file.
901 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
902 (iorw_mod_SOURCES): New variable.
903 (iorw_mod_CFLAGS): Likewise.
904 (iorw_mod_LDFLAGS): Likewise.
905
c5ac9b32
VS
9062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
907
908 Hotkey support
909
910 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
911 * normal/main.c (hotkey_aliases): New variable.
912 (grub_normal_add_menu_entry): Parse "--hotkey".
913 * normal/menu_text.c (run_menu): Handle hotkeys.
914
ce60689c
VS
9152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * kern/i386/coreboot/init.c (grub_machine_init): Call
918 grub_machine_mmap_init on qemu.
919
0359d006
VS
9202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * boot/i386/qemu/boot.S: Add a missing .code16.
923
7819a456
VS
9242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
925
926 Use LBIO on coreboot.
927
928 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
929 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
930 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
931 New declaration.
932 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
933 grub_machine_mmap_init on coreboot.
934 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
935 GRUB_LINUXBIOS_MEMBER_LINK.
936 (grub_machine_mmap_iterate): Fix declaration.
937 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
938
7210dca9
VS
9392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
940
941 Split coreboot and multiboot ports.
942
943 * conf/i386-multiboot.rmk: New file.
944 * configure.ac: Add multiboot port.
945 * include/grub/i386/multiboot/boot.h: New file.
946 * include/grub/i386/multiboot/console.h: Likewise.
947 * include/grub/i386/multiboot/init.h: Likewise.
948 * include/grub/i386/multiboot/kernel.h: Likewise.
949 * include/grub/i386/multiboot/loader.h: Likewise.
950 * include/grub/i386/multiboot/memory.h: Likewise.
951 * include/grub/i386/multiboot/serial.h: Likewise.
952 * include/grub/i386/multiboot/time.h: Likewise.
953 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
954 * loader/multiboot.c: Likewise.
955 * loader/multiboot_mbi2.c: Likewise.
956 * util/grub-mkrescue.in: Generate multiboot rescue.
957
6f8aaf68
VS
9582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
959
3080f7a7
VS
960 * kern/parser.c (grub_parser_execute): Cope with read-only config.
961
9622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
965
966 * commands/terminal.c (abstract_terminal): New struct.
967 (handle_command): New function. Based on grub_cmd_terminal_input.
968 (grub_cmd_terminal_input): Use handle_command.
969 (grub_cmd_terminal_output): Use handle_command.
970
a8ebb841
BC
9712010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
972
973 Fix comment handling.
974
975 * tests/grub_script_comments.in: New testcase.
976 * conf/tests.rmk: Rules for new testcase.
977 * script/yylex.l: Updated flex rules.
978
bb06ba08
ST
9792010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
980
981 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
982 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
983 if argc is 1.
bb06ba08 984
cc9d2425
VS
9852010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
988 autogen issues.
989
460d8402
CF
9902010-04-26 Christian Franke <franke@computer.org>
991
992 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
993 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
994 (grub_get_prefix): Remove function.
995 * util/grub-emu.c (main): Replace grub_get_prefix () call by
996 make_system_path_relative_to_its_root ().
997 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
998
553c01f9
CF
9992010-04-24 Christian Franke <franke@computer.org>
1000
1001 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1002 (kernel_img_LDFLAGS): Remove -static-libgcc.
1003
2aec1692
CF
10042010-04-24 Christian Franke <franke@computer.org>
1005
1006 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1007 and CHECK_END_SYMBOL if grub-emu is built.
1008 Unset TARGET_OBJ2ELF if grub-emu is built
1009 without module support.
1010
f67dc308
JS
10112010-04-24 Jiro SEKIBA <jir@unicus.jp>
1012
1013 Nilfs2 support.
1014
1015 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1016 (grub_fstest_SOURCES): Likewise.
1017 (pkglib_MODULES): Add nilfs2.mod.
1018 (nilfs2_mod_SOURCES): New variable.
1019 (nilfs2_mod_CFLAGS): Likewise.
1020 (nilfs2_mod_LDFLAGS): Likewise.
1021 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1022 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1023 * fs/nilfs2.c: New file.
1024
4ba8d354
VS
10252010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1028 is not supported.
1029
0d2c20c6
GS
10302010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1031
1032 Add grub-mkconfig support for NetBSD.
1033
1034 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1035 * util/grub-mkconfig.in: export new NetBSD specific variables.
1036 * po/POTFILES-shell: added 10_netbsd.in.
1037 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1038
bc4a2d83
BC
10392010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1040
1041 Fix emu build with grub-emu-pci and grub-emu-modules.
1042
1043 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1044 functions.
1045 * include/grub/libpciaccess.h: New file.
1046 * conf/any-emu.rmk: Update kernel headers for emu build.
1047
f48c87aa
VS
10482010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1051
18959385
VS
10522010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1055
0037de3f
VS
10562010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1059 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1060 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1061 util/ieee1275/ofpath.c.
1062 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1063 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1064 * include/grub/sparc64/ieee1275/boot.h
1065 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1066 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1067 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1068 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1069 const char *.
1070 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1071 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1072 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1073 install.
1074
38e55e90
GS
10752010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1076
1077 * util/grub-mkconfig.in: Corrected two == equality tests.
1078 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1079 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1080 expect a number appended to it.
1081 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1082 expects a number appended to it.
1083
a9e6ff28
VS
10842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1087
0b830b8f
VS
10882010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * util/hostdisk.c (make_device_name): Change to new partition naming.
1091
0973daeb
VS
10922010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1095
460d8402 10962010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
1097
1098 * Makefile.in: Add missing localedir setting.
1099
0b456309
CW
11002010-04-14 Colin Watson <cjwatson@ubuntu.com>
1101
1102 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1103 mistake in r2156. Noticed by Anthony Fok.
1104
1105 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1106 @localedir@.
1107 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1108
08f46d62
BC
11092010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1110
1111 Fix a spurious, uninitialized variable warning.
1112
1113 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1114 Initialize variable, shdr.
1115 (grub_freebsd_load_elfmodule): Likewise.
1116 (grub_freebsd_load_elf_meta): Likewise.
1117
8c4a72d4
BC
11182010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1119
1120 Fix for escaped dollar in double quoted strings.
1121
1122 * script/yylex.l: Updated flex rules.
1123 * conf/tests.rmk: Rule for new testcase.
1124 * tests/grub_script_dollar.in: New testcase.
1125
ce44826e
CPE
11262010-04-13 Carles Pina i Estany <carles@pina.cat>
11272010-04-13 Colin Watson <cjwatson@ubuntu.com>
1128
1129 Enclose all translated strings in grub.cfg in single quotes, and
1130 escape them appropriately (Ubuntu bug #552921).
1131
1132 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1133 * util/grub.d/10_hurd.in: Use it.
1134 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1135 * util/grub.d/10_linux.in (linux_entry): Likewise.
1136
4b0cd8f8
VS
11372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Fix cygwin compilation.
1140
1141 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1142 * include/grub/misc.h (__register_frame_info)
1143 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1144 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1145 * kern/misc.c (__register_frame_info)
1146 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1147 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1148
01fcf061
VS
11492010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1152
5d04b11e
VS
11532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 Unify libgcc processing.
1156
1157 * Makefile.in (kernel_img_LDFLAGS): New variable.
1158 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1159 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1160 overwriting.
1161 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1162 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1163 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1164 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1165 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1166 overwriting. Remove -lgcc and -static-libgcc
1167 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1168 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1169 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1170 (kernel_img_LDFLAGS): Append instead of overwriting.
1171 Remove -lgcc and -static-libgcc
1172 * conf/sparc64-ieee1275.rmk: Likewise.
1173 * include/grub/powerpc/libgcc.h: Move to ...
1174 * include/grub/libgcc.h: .. this.
1175 * include/grub/libgcc.h: Don't export most of the function on x86.
1176 (__bswapsi2): New export.
1177 (__bswapdi2): Likewise.
1178 * include/grub/mips/libgcc.h: Removed.
1179 * include/grub/sparc64/libgcc.h: Likewise.
1180
b7f3ac29
VS
11812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
1184 disk_info_msg (conflicts with gettexting into languages with cases).
1185
2c7031b1
GS
11862010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1187
1188 Add grub-probe support for NetBSD.
1189
1190 * util/getroot.c (find_root_device): Convert block device to
1191 character device on NetBSD.
1192 * util/probe.c (probe): Require character device on NetBSD.
1193 * util/hostdisk.c: NetBSD specific headers.
1194 (configure_device_driver): new function to tune device driver
1195 parameters (currently only for NetBSD floppy driver).
1196 (grub_util_biosdisk_open): NetBSD specific code (get disk size
1197 via disklabel ioctl).
1198 (open_device): call configure_device_driver on NetBSD.
1199 (convert_system_partition_to_system_disk): NetBSD specific code.
1200 (device_is_wholedisk): Likewise.
1201 (grub_util_biosdisk_get_grub_dev): Likewise.
1202 (make_device_name): Fixed a typo in bsd_part_str.
1203 * configure.ac: check for opendisk() and getrawpartition() on
1204 NetBSD and set LIBUTIL.
1205 * Makefile.in: add LIBUTIL to LIBS.
1206
f516290c
BC
12072010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1208
1209 Documentation fix.
1210
1211 * util/grub-script-check.c: Better help message.
1212
d8dcc0df
BC
12132010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1214
1215 Fix FreeBSD build.
1216
1217 * configure.ac: Flex version check.
1218 * conf/common.rmk: Add -Wno-error to sh.mod.
1219 * script/yylex.l: Remove all #pragma.
1220
6734334a
VS
12212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * include/grub/util/misc.h (canonicalise_file_name): Add missing
1224 prototype.
1225 Reported by: Seth Goldberg.
1226
daea6abd
VS
12272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
1230 Rename "module" to "module2".
1231 Reported by: Seth Goldberg.
1232
f2fd9d2b
VS
12332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
1236 EXPORT_FUNC.
1237 Reported by: Seth Goldberg.
1238
be124579
VS
12392010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * lib/posix_wrap/locale.h: Add missing file.
1242 Reported by: Seth Goldberg.
1243
ef5da797
VS
12442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 grub-emu module load support.
1247
1248 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
1249 NO_DYNAMIC_MODULES switched to this.
1250 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
1251 (CFLAGS): Likewise.
1252 * conf/any-emu.rmk: Generate symlist.
1253 (kernel_img_HEADERS): Add util/datetime.h.
1254 (kernel_img_HEADERS) [sdl]: Add sdl.h.
1255 (kernel_img_HEADERS) [libusb]: Add libusb.h.
1256 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
1257 kern/$(target_cpu)/cache.S.
1258 * configure.ac (grub-emu-modules): New option.
1259 * genmk.rb: Handle multiple source lists.
1260 * include/grub/sdl.h: New file.
1261 * include/grub/libusb.h: Likewise.
1262 * util/grub-emu.c (main): Hanle (host) root.
1263 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
1264 GRUB_ERR_UNKNOWN_DEVICE.
1265 * util/misc.c: Move mm functions to ...
1266 * util/mm.c: ... here. All users updated.
1267
47822096
VS
12682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
1271 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
1272 missing files.
1273 (maintainer-clean): Remove libgcrypt-grub.
1274
5d7e7445
VS
12752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
1278
25f4e252
EC
12792010-04-09 EFI Coder <eficoder@hotmail.com>
1280
1281 * normal/menu_text.c (print_message): Clean up the message and show
1282 the Fn information when on EFI
1283 * term/efi/console.c (grub_console_checkkey): Add F4 support.
1284
027de555
VS
12852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
1288 All users updated.
1289 * normal/crypto.c (read_crypto_list): Likewise.
1290 * normal/dyncmd.c (read_command_list): Likewise.
1291 * normal/term.c (read_terminal_list): Likewise.
1292 * normal/main.c (read_lists): Use explicit prefix.
1293 (read_lists_hook): Use read_lists.
1294 (grub_normal_execute): Likewise.
1295
47779711
VS
12962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
1299 Reported by: Thomas Schmitt.
1300 Add -no-emul-boot to grub-mkisofs parameters.
1301
1118c32e
VS
13022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * font/font.c: Indented.
1305
7d652447
BC
13062010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1307
1308 Elif support to GRUB script (by Deepak Vankadaru).
1309
1310 * tests/grub_script_if.in: New testcase.
1311 * conf/tests.rmk: Rule for new testcase.
1312 * script/parser.y: Grammar rules for elif.
1313
34bb22df
BC
13142010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1315
1316 While and until loops support to GRUB script.
1317
1318 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
1319 (grub_script_create_cmdwhile): New function prototype.
1320 (grub_script_execute_cmdwhile): New function prototype.
1321 * script/execute.c (grub_script_execute_cmdwhile): New function.
1322 * script/parser.y (command): New commands.
1323 (whilecmd): New grammar rule.
1324 (untilcmd): New grammar rule.
1325 * script/script.c (grub_script_create_cmdwhile): New function.
1326 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
1327 function.
1328
1329 * tests/grub_script_while1.in: New testcase.
1330 * conf/tests.rmk: Rule for new testcase.
1331
e215d8e0
VS
13322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
1335 as *.jpg.
1336
d7c43ba1
MV
13372010-04-09 Mario Vazquez <mariovazq@gmail.com>
1338
1339 GRUB_BACKGROUND support.
1340
1341 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
1342 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
1343
d64795c0
VS
13442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 1347 Idea by: Mario Vazquez
d64795c0
VS
1348
1349 * util/grub.d/00_header.in: Load pf2 and image modules.
1350
f267f83a
VS
13512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 grub-mkconfig multiple terminal support.
1354
1355 * util/grub-mkconfig.in: Handle multiple terminals correctly.
1356 * util/grub.d/00_header.in: Likewise.
1357
b7841ceb
VS
13582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * Makefile.in: Specify files explicitly instead of using $< and $@ since
1361 we use cd $(srcdir).
1362
df60998c
CW
13632010-04-08 Colin Watson <cjwatson@ubuntu.com>
1364
1365 * util/grub.d/10_linux.in: Only use the first word of
1366 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
1367 spaces in GRUB_DISTRIBUTOR.
1368 * util/grub.d/10_kfreebsd.in: Likewise.
1369 * util/grub.d/10_hurd.in: Likewise.
1370
fa09c82e
BC
13712010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
1372
14e18ae3 1373 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
1374
1375 * tests/util/grub-shell.in: Remove -serial stdio option.
1376
daf892b3
BC
13772010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 POSIX header file wrappers.
1380
1381 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
1382 equivalents.
1383 * lib/posix_wrap/ctype.h: Likewise.
1384 * lib/posix_wrap/errno.h: Likewise.
1385 * lib/posix_wrap/langinfo.h: Likewise.
1386 * lib/posix_wrap/limits.h: Likewise.
1387 * lib/posix_wrap/localcharset.h: Likewise.
1388 * lib/posix_wrap/stdint.h: Likewise.
1389 * lib/posix_wrap/stdio.h: Likewise.
1390 * lib/posix_wrap/stdlib.h: Likewise.
1391 * lib/posix_wrap/string.h: Likewise.
1392 * lib/posix_wrap/sys/types.h: Likewise.
1393 * lib/posix_wrap/unistd.h: Likewise.
1394 * lib/posix_wrap/wchar.h: Likewise.
1395 * lib/posix_wrap/wctype.h: Likewise.
1396 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
1397 (grub_script.yy.h): Likewise.
1398 * script/yylex.l: Remove POSIX emulation #defines.
1399 * Makefile.in (POSIX_CFLAGS): New variable.
1400 (GNULIB_UTIL_CFLAGS): Likewise.
1401
1402 Regexp support.
1403
1404 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
1405 (regexp_mod_SOURCES): New variable.
1406 (regexp_mod_CFLAGS): Likewise.
1407 (regexp_mod_LDFLAGS): Likewise.
1408 * commands/regexp.c: New file.
1409 * gnulib/regcomp.c: New file. Imported from gnulib.
1410 * gnulib/regex.c: Likewise.
1411 * gnulib/regex_internal.c: Likewise.
1412 * gnulib/regex_internal.h: Likewise.
1413 * gnulib/regexec.c: Likewise.
1414 * gnulib/regex.h: Likewise.
1415
974ac4f7
VS
14162010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
1419 unsupported video mode types.
1420
2622c3ff
VS
14212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
1424
064cb524
VS
14252010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
1428 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
1429
a8c3b552
VS
14302010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 Remove unused grub_vga_get_font.
1433
1434 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
1435 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
1436
187bbe3d
GS
14372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1438
1439 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
1440 * include/grub/misc.h: Likewise.
1441
b9396631
GS
14422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1443
1444 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
1445 for which failure is fatal.
1446
50479feb
GS
14472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1448
1449 * util/grub-install.in: Use mkdir -p to create grub directory.
1450 * util/i386/efi/grub-install.in: Likewise.
1451 * util/ieee1275/grub-install.in: Likewise.
1452
b1654fdf
GS
14532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1454
1455 * Makefile.in (LEX): new variable.
1456
bd5a6415
GS
14572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1458
1459 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
1460 `=' and added double quotes on operands of this equality test.
1461
3db3a82b
VS
14622010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * Makefile.in (uninstall): Remove a leftover debug echo.
1465 Reported by: Grégoire Sutre
1466
38023412
VS
14672010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 MIPS multiboot2 support.
1470
1471 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
1472 (multiboot2_mod_SOURCES): New variable.
1473 (multiboot2_mod_CFLAGS): Likewise.
1474 (multiboot2_mod_LDFLAGS): Likewise.
1475 (multiboot2_mod_ASFLAGS): Likewise.
1476 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
1477 definition.
1478 (MULTIBOOT_ENTRY_REGISTER): Likewise.
1479 (MULTIBOOT_MBI_REGISTER): Likewise.
1480 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
1481 (MULTIBOOT_ELF32_MACHINE): Likewise.
1482 (MULTIBOOT_ELF64_MACHINE): Likewise.
1483 * include/grub/mips/multiboot.h: New file.
1484 * include/grub/video.h (grub_video_driver_id): New type
1485 GRUB_VIDEO_DRIVER_SM712.
1486 (grub_video_get_info_and_fini): Export.
1487 (grub_video_get_palette): Likewise.
1488 (grub_video_get_driver_id): Likewise.
1489 * include/multiboot2.h: Resynced with spec.
1490 * loader/i386/multiboot.c: Moved from here ...
1491 * loader/multiboot.c: ... here. All users updated.
1492 (grub_multiboot_boot): Use platform-specific macros.
1493 * loader/i386/multiboot_elfxx.c: Moved from here ...
1494 * loader/multiboot_elfxx.c: ... here. All users updated.
1495 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
1496 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
1497 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
1498
47674667
VS
14992010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 Import gnulib argp module.
1502
1503 * gnulib/argp-ba.c: New file.
1504 * gnulib/argp-eexst.c: Likewise.
1505 * gnulib/argp-fmtstream.c: Likewise.
1506 * gnulib/argp-fmtstream.h: Likewise.
1507 * gnulib/argp-fs-xinl.c: Likewise.
1508 * gnulib/argp-help.c: Likewise.
1509 * gnulib/argp-namefrob.h: Likewise.
1510 * gnulib/argp-parse.c: Likewise.
1511 * gnulib/argp-pin.c: Likewise.
1512 * gnulib/argp-pv.c: Likewise.
1513 * gnulib/argp-pvh.c: Likewise.
1514 * gnulib/argp-version-etc.c: Likewise.
1515 * gnulib/argp-version-etc.h: Likewise.
1516 * gnulib/argp-xinl.c: Likewise.
1517 * gnulib/argp.h: Likewise.
1518
495442ed
VS
15192010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * kern/device.c (grub_device_iterate): Clear errors after failed
1522 opening device.
1523
f9fd65df
VS
15242010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
1527 returned by firmware.
1528
af09641e
VS
15292010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
1532 compilation on coreboot and qemu
1533
016883a5
VS
15342010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * include/multiboot2.h: Resync with spec.
1537
f97e1f7d
VS
15382010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 Multiboot2 tag support
1541
1542 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
1543 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
1544 Remove loader/multiboot_loader.c.
1545 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
1546 (grub_multiboot2_real_boot): Likewise.
1547 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
1548 (grub_get_multiboot_mmap_count): New proto.
1549 (grub_fill_multiboot_mmap): Likewise.
1550 (grub_multiboot_set_video_mode): Likewise.
1551 (grub_multiboot_set_console): Likewise.
1552 (grub_multiboot_load): Likewise.
1553 (grub_multiboot_load_elf): Likewise.
1554 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
1555 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
1556 * include/multiboot.h: Resynced with specification.
1557 * include/multiboot2.h: Resynced with specification.
1558 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
1559 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
1560 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
1561 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
1562 users updated.
1563 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
1564 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
1565 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
1566 Removed.
1567 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
1568 Moved from here...
1569 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
1570 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1571 Moved from here...
1572 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
1573 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
1574 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
1575 All users updated.
1576 * loader/i386/multiboot_mbi2.c: New file.
1577
3506b90b
VS
15782010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 Resync with gnulib.
1581
1582 * Makefile.in (GNULIB_CFLAGS): New variable.
1583 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
1584 (grub_script_check_CFLAGS): New variable.
1585 * gnulib/alloca.h: Resync with gnulib.
1586 * gnulib/error.c: Likewise.
1587 * gnulib/error.h: Likewise.
1588 * gnulib/fnmatch.c: Likewise.
1589 * gnulib/fnmatch_loop.c: Likewise.
1590 * gnulib/getdelim.c: Likewise.
1591 * gnulib/getline.c: Likewise.
1592 * gnulib/getopt.c: Likewise.
1593 * gnulib/getopt1.c: Likewise.
1594 * gnulib/getopt_int.h: Likewise.
1595 * gnulib/gettext.h: Likewise.
1596 * gnulib/progname.c: Likewise.
1597 * gnulib/progname.h: Likewise.
1598
394a3120
GS
15992010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
1600
1601 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
1602 which is the case with --disabled-nls.
1603
1604 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
1605 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
1606 * util/misc.c: Likewise.
1607 * util/mkisofs/mkisofs.c: Likewise.
1608 * util/mkisofs/mkisofs.h: Likewise.
1609
969d1c78
VS
16102010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 Simplify Apple CC support.
1613
1614 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
1615 Add 0 byte at the end not to have a symbol with empty target.
1616 * mmap/i386/pc/mmap_helper.S: Likewise.
1617 * genmk.rb: Ignore errors 2030 and 2050.
1618 * kern/i386/pc/startup.S: Use LOCAL when possible.
1619
8d2977bb
BC
16202010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
1621
1622 Testcase and the fix for final semicolon on cmdline.
1623
1624 * tests/grub_script_final_semicolon.in: New testcase.
1625 * conf/tests.rmk: Rules for the new testcase.
1626 * script/parser.y: Grammar fix.
1627
a7bd6915
BC
16282010-03-26 BVK Chaitanya <bvk@localhost>
1629
1630 Blank lines testcase for GRUB script.
1631
1632 * tests/grub_script_blanklines.in: New testcase.
1633 * conf/tests.rmk: Rules for the new testcase.
1634
e4ff6628
VS
16352010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Don't use __FILE__.
1638
1639 * genmk.rb: Add -DGRUB_FILE to all C targets.
1640 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
1641 * include/grub/list.h: Likewise.
1642 * include/grub/misc.h: Likewise.
1643 * include/grub/mm.h: Likewise.
1644 * include/grub/test.h: Likewise.
1645 * kern/mm.c: Likewise.
1646 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1647
6a5cf6b6
VS
16482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Sunpc partitions support.
1651
1652 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
1653 (grub_fstest_SOURCES): Likewise.
1654 (pkglib_MODULES): Add part_sunpc.mod.
1655 (part_sunpc_mod_SOURCES): New variable.
1656 (part_sunpc_mod_CFLAGS): Likewise.
1657 (part_sunpc_mod_LDFLAGS): Likewise.
1658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
1659 * partmap/sunpc.c: New file.
1660
746d9045
BC
16612010-03-26 BVK Chaitanya <bvk@localhost>
1662
1663 For loop support to GRUB script.
1664
1665 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
1666 (grub_script_create_cmdfor): New function prototype.
1667 (grub_script_execute_cmdfor): New function prototype.
1668 * script/execute.c (grub_script_execute_cmdfor): New function.
1669 * script/parser.y (command): New for command.
1670 (forcmd): New grammar rule.
1671 * script/script.c (grub_script_create_cmdfor): New function.
1672 * util/grub-script-check.c (grub_script_execute_cmdfor): New
1673 function.
1674 * tests/grub_script_for1.in: New testcase.
1675 * conf/tests.rmk: Rules for new testcase.
1676
18486b18
VS
16772010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 Nested partitions
1680
1681 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
1682 'partition' is NULL, grub_partition_get_start already does that.
1683 * commands/loadenv.c (check_blocklists): Likewise.
1684 (write_blocklists): Likewise.
1685 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
1686 (grub_fstest_SOURCES): Likewise.
1687 (pkglib_MODULES): Add part_bsd.mod.
1688 (part_bsd_mod_SOURCES): New variable.
1689 (part_bsd_mod_CFLAGS): Likewise.
1690 (part_bsd_mod_LDFLAGS): Likewise.
1691 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
1692 (grub_emu_SOURCES): Likewise.
1693 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1694 * include/grub/bsdlabel.h: New file.
1695 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
1696 'get_name'.
1697 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
1698 (grub_partition_map_list): New variable.
1699 (grub_partition_map_register): Inline.
1700 (grub_partition_map_unregister): Likewise.
1701 (FOR_PARTITION_MAPS): New macro.
1702 (grub_partition_map_iterate): Removed.
1703 (grub_partition_get_start): Handle nested partitions.
1704 * include/grub/msdos_partition.h: Remove bsd-related entries.
1705 (grub_pc_partition): Remove.
1706 * kern/disk.c (grub_disk_close): Free partition data.
1707 (grub_disk_adjust_range): Handle nested partitions.
1708 * kern/partition.c (grub_partition_map_probe): New function.
1709 (grub_partition_probe): Parse name to number, handle subpartitions.
1710 (get_partmap): New function.
1711 (grub_partition_iterate): Handle subpartitions.
1712 (grub_partition_get_name): Likewise.
1713 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
1714 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
1715 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
1716 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
1717 Set 'number'.
1718 (acorn_partition_map_probe): Remove.
1719 (acorn_partition_map_get_name): Likewise.
1720 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
1721 Set 'number'.
1722 Set 'index' to 0 since there can be only one partition entry per sector.
1723 (amiga_partition_map_probe): Remove.
1724 (amiga_partition_map_get_name): Likewise.
1725 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
1726 Set 'number'.
1727 Set 'offset' and 'index' to real positions of partitions.
1728 (apple_partition_map_probe): Remove.
1729 (apple_partition_map_get_name): Likewise.
1730 * partmap/bsdlabel.c: New file.
1731 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
1732 Set 'number'.
1733 Allocate 'data' so it can be correctly freed.
1734 Set 'index' to offset inside sector.
1735 (gpt_partition_map_probe): Remove.
1736 (gpt_partition_map_get_name): Likewise.
1737 * partmap/msdos.c (grub_partition_parse): Remove.
1738 (pc_partition_map_iterate): Don't force raw access.
1739 Set 'number'.
1740 Make 'ext_offset' a local variable.
1741 (pc_partition_map_probe): Remove.
1742 (pc_partition_map_get_name): Remove.
1743 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
1744 Set 'number'.
1745 (sun_partition_map_probe): Remove.
1746 (sun_partition_map_get_name): Likewise.
1747 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
1748 (grub_pcpart_type): Likewise.
1749 * util/hostdisk.c (open_device): Handle new numbering scheme.
1750 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
1751 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
1752 * util/grub-probe.c (probe_partmap): Handle nested paritions.
1753 * util/grub-install.in: Insert all subpartition modules.
1754 * util/ieee1275/grub-install.in: Likewise.
1755
a3940f88
AG
17562010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
1757
1758 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
1759 grammar.
1760
21b99926 17612010-03-24 Colin Watson <cjwatson@ubuntu.com>
1762
1763 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
1764
bed1d352
CW
17652010-03-21 Colin Watson <cjwatson@ubuntu.com>
1766
1767 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
1768 match where 'make install' puts them.
1769 * util/i386/efi/grub-install.in: Likewise.
1770
c9f58427
CW
17712010-03-19 Colin Watson <cjwatson@ubuntu.com>
1772
1773 * .bzrignore: Add gentrigtables, grub-script-check,
1774 grub_script_check_init.c, grub_script_check_init.h, and
1775 trigtables.c.
1776
f84afb27
VS
17772010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * kern/parser.c: Indented.
1780
ed0e3d30
VS
17812010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
1784
0ea81d98
VS
17852010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
1788 alpha_mask_size == 0 case.
1789
0cdc2a09
BC
17902010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
1791
1792 GRUB shell lexer and parser improvements.
1793
1794 * conf/any-emu.rmk: Build rule updates.
1795 * conf/common.rmk: Likewise.
1796 * conf/i386-coreboot.rmk: Likewise.
1797 * conf/i386-efi.rmk: Likewise.
1798 * conf/i386-ieee1275.rmk: Likewise.
1799 * conf/i386-pc.rmk: Likewise.
1800 * conf/powerpc-ieee1275.rmk: Likewise.
1801 * conf/x86_64-efi.rmk: Likewise.
1802
1803 * configure.ac: Configure check for flex.
1804
1805 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
1806 types.
1807 (grub_lexer_param): Struct member updates.
1808 (grub_parser_param): Likewise.
1809 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
1810 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
1811 (grub_script_lexer_init): Prototype update.
1812 (grub_script_lexer_record_start): Likewise.
1813 (grub_script_lexer_record_stop): Likewise.
1814 (grub_script_lexer_yywrap): New function prototype.
1815 (grub_script_lexer_fini): Likewise.
1816 (grub_script_execute_argument_to_string): Removed by...
1817 (grub_script_execute_argument_to_argv): ...better version.
1818
1819 * script/execute.c (ROUND_UPTO): New macro.
1820 (grub_script_execute_cmdline): Out of memory fixes.
1821 (grub_script_execute_menuentry): Likewise.
1822 (grub_script_execute_argument_to_string): Removed. Update all
1823 users by...
1824 (grub_script_execute_argument_to_argv): ...better version.
1825 * script/function.c (grub_script_function_create): Use
1826 grub_script_execute_argument_to_argv instead of
1827 grub_script_execute_argument_to_string.
1828
1829 * script/lexer.c (check_varstate): Removed.
1830 (check_textstate): Removed.
1831 (grub_script_lexer_record_start): Likewise.
1832 (grub_script_lexer_record_stop): Likewise.
1833 (recordchar): Replaced with...
1834 (grub_script_lexer_record): ...new function.
1835 (nextchar): Removed.
1836 (grub_script_lexer_init): Rewritten.
1837 (grub_script_yylex): Rewritten.
1838 (append_newline): New function.
1839 (grub_script_lexer_yywrap): New function.
1840 (grub_script_lexer_fini): New function.
1841 (grub_script_yyerror): Sets error flag.
1842
1843 * script/yylex.l: New file.
1844 (grub_lexer_yyfree): Wrapper for flex yyffre.
1845 (grub_lexer_yyalloc): Likewise.
1846 (grub_lexer_yyrealloc): Likewise.
1847 * script/parser.y: Refactored.
1848
1849 * script/script.c (grub_script_arg_add): Out of memory fixes.
1850 (grub_script_add_arglist): Likewise.
1851 (grub_script_create_cmdline): Likewise.
1852 (grub_script_create_cmdmenu): Likewise.
1853 (grub_script_add_cmd): Likewise.
1854 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
1855 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
1856 unnecessary code.
1857
1858 * tests/grub_script_echo1.in: New testcase.
1859 * tests/grub_script_vars1.in: New testcase.
1860 * tests/grub_script_echo_keywords.in: New testcase.
1861
1d63a066
VS
18622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 Remove some redundancy in build system.
1865
1866 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
1867 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
1868 (TARGET_LDFLAGS): Add -nostdlib.
1869 (TARGET_IMG_LDFLAGS): Likewise.
1870 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
1871 anything since mmap isn't available.
1872 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
1873 Add util/time.c.
1874 (pkglib_MODULES): Remove reboot.mod.
1875 (reboot_mod_SOURCES): Removed.
1876 (reboot_mod_CFLAGS): Likewise.
1877 (reboot_mod_LDFLAGS): Likewise.
1878 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
1879 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
1880 (DEFSYMFILES): Add kernel_syms.lst.
1881 (kernel_img_HEADERS): Add common headers.
1882 (symlist.c): New target.
1883 (kernel_syms.lst): Likewise.
1884 (pkglib_MODULES): Add memdisk.mod.
1885 (memdisk_mod_SOURCES): New variable.
1886 (memdisk_mod_CFLAGS): Likewise.
1887 (memdisk_mod_LDFLAGS): Likewise.
1888 (pkglib_MODULES): Add reboot.mod.
1889 (reboot_mod_SOURCES): New variable.
1890 (reboot_mod_CFLAGS): Likewise.
1891 (reboot_mod_LDFLAGS): Likewise.
1892 (pkglib_MODULES): Add date.mod.
1893 (date_mod_SOURCES): New variable.
1894 (date_mod_CFLAGS): Likewise.
1895 (date_mod_LDFLAGS): Likewise.
1896 (pkglib_MODULES): Add datehook.mod.
1897 (datehook_mod_SOURCES): New variable.
1898 (datehook_mod_CFLAGS): Likewise.
1899 (datehook_mod_LDFLAGS): Likewise.
1900 (pkglib_MODULES): Add lsmmap.mod.
1901 (lsmmap_mod_SOURCES): New variable.
1902 (lsmmap_mod_CFLAGS): Likewise.
1903 (lsmmap_mod_LDFLAGS): Likewise.
1904 (pkglib_MODULES): Add boot.mod.
1905 (boot_mod_SOURCES): New variable.
1906 (boot_mod_CFLAGS): Likewise.
1907 (boot_mod_LDFLAGS): Likewise.
1908 * conf/i386-coreboot.rmk: Removed redundant parts.
1909 * conf/i386-ieee1275.rmk: Likewise.
1910 * conf/i386-pc.rmk: Likewise.
1911 * conf/mips-yeeloong.rmk: Likewise.
1912 * conf/mips.rmk: Likewise.
1913 * conf/powerpc-ieee1275.rmk: Likewise.
1914 * conf/sparc64-ieee1275.rmk: Likewise.
1915 * conf/x86_64-efi.rmk: Likewise.
1916 * conf/i386-coreboot.rmk: Moved qemu parts ..
1917 * conf/i386-qemu.rmk: ... here
1918 * conf/i386-efi.rmk: Moved common parts to...
1919 * conf/x86-efi.rmk: ... here.
1920 * conf/i386.rmk: Added modules common to all x86 variants.
1921 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
1922 * disk/memdisk.c: Remove grub/machine/kernel.h.
1923 * gensymlist.sh.in: Include symbol.h.
1924 * hook/datehook.c: Correct module name.
1925 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
1926 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
1927 * include/grub/i386/efi/serial.h: New file.
1928 * include/grub/x86_64/efi/serial.h: Likewise.
1929 * util/time.c: Likewise.
1930 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
1931
463ac55f
CK
19322010-03-14 Colin King <colin.king@ubuntu.com>
19332010-03-14 Colin Watson <cjwatson@ubuntu.com>
1934
1935 Shrink the pre-partition-table part of boot.img by eight bytes.
1936
1937 * boot/i386/pc/boot.S (ERR): New macro.
1938 (chs_mode): Use ERR.
1939 (geometry_error): Likewise.
1940 (hd_probe_error): Remove. This is only used once, so we wrwite
1941 it inline instead.
1942 (read_error): Instead of printing read_error_string, just set up
1943 %si and fall through to ...
1944 (error_message): ... this new function, also used by ERR.
1945
08e46ede
CW
19462010-03-14 Colin Watson <cjwatson@ubuntu.com>
1947
1948 Speed up consecutive hostdisk operations on the same device.
1949
1950 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
1951 (grub_util_biosdisk_open): Initialise disk->data.
1952 (struct linux_partition_cache): New structure.
1953 (linux_find_partition): Cache partition start positions; these are
1954 expensive to compute on every read and write.
1955 (open_device): Cache open file descriptor in disk->data, so that we
1956 don't have to reopen it and flush the buffer cache for consecutive
1957 operations on the same device.
1958 (grub_util_biosdisk_close): New function.
1959 (grub_util_biosdisk_dev): Set `close' member.
1960
1961 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
1962 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
1963 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1964 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
1965 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
1966
4a6d2d06
VS
19672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Compile parts of grub-emu as modules.
1970
1971 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
1972 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
1973 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
1974 (all-local): Add $(GRUB_EMU).
1975 (install-local): Install $(GRUB_EMU).
1976 (uninstall): Uninstall $(GRUB_EMU).
1977 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
1978 * kern/dl.c: Likewise.
1979 * commands/sleep.c: Not include machine/time.h.
1980 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
1981 (COMMON_CFLAGS): Likewise.
1982 (sbin_UTILITIES): Remove grub-emu.
1983 (grub_emu_SOURCES): Removed.
1984 (kernel_img_RELOCATABLE): New variable.
1985 (pkglib_PROGRAMS): Add kernel.img.
1986 (kernel_img_SOURCES): New variable
1987 (kernel_img_CFLAGS): Likewise.
1988 (kernel_img_LDFLAGS): Likewise.
1989 (TARGET_NO_STRIP): Likewise.
1990 (TARGET_NO_DYNAMIC_MODULES): Likewise.
1991 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
1992 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
1993 (grub-emu): New target.
1994 (GRUB_EMU): New variable.
1995 * configure.ac: Whitelist -emu as possible x86_64 architecture.
1996 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
1997 * loader/xnu.c: Likewise.
1998 * include/grub/pci.h: Likewise.
1999 * genemuinit.sh: New file.
2000 * genemuinitheader.sh: Likewise.
2001 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2002 Support TARGET_NO_DYNAMIC_MODULES.
2003 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2004 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2005 * disk/loopback.c: Likewise.
2006 * font/font_cmd.c: Likewise.
2007 * partmap/acorn.c: Likewise.
2008 * partmap/amiga.c: Likewise.
2009 * partmap/apple.c: Likewise.
2010 * partmap/gpt.c: Likewise.
2011 * partmap/msdos.c: Likewise.
2012 * partmap/sun.c: Likewise.
2013 * parttool/msdospart.c: Likewise.
2014 * term/gfxterm.c: Likewise.
2015 * video/bitmap.c: Likewise.
2016 * video/readers/jpeg.c: Likewise.
2017 * video/readers/png.c: Likewise.
2018 * video/readers/tga.c: Likewise.
2019 * video/video.c: Likewise.
2020 * util/grub-emu.c (read_command_list): Removed.
2021 (main): Don't call util_init_nls.
2022 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2023 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2024
91fdd2ed
VS
20252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2028 date.mod, datehook.mod.
2029 (datetime_mod_SOURCES): New variable.
2030 (datetime_mod_CFLAGS): Likewise.
2031 (datetime_mod_LDFLAGS): Likewise.
2032 (date_mod_SOURCES): Likewise.
2033 (date_mod_CFLAGS): Likewise.
2034 (date_mod_LDFLAGS): Likewise.
2035 (datehook_mod_SOURCES): Likewise.
2036 (datehook_mod_CFLAGS): Likewise.
2037 (datehook_mod_LDFLAGS): Likewise.
2038 * conf/sparc64-ieee1275.rmk: Likewise.
2039 * lib/ieee1275/datetime.c: New file.
2040
873ccae6
VS
20412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2044 (ieee1275_fb_mod_SOURCES): New variable.
2045 (ieee1275_fb_mod_CFLAGS): Likewise.
2046 (ieee1275_fb_mod_LDFLAGS): Likewise.
2047 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2048 New proto.
2049 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2050 (HEAP_MAX_ADDR): Likewise.
2051 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2052 type.
2053 Correct stop condition.
2054 (grub_ieee1275_devices_iterate): New function.
2055 * video/ieee1275.c: New file.
2056
601c97c0
VS
20572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2060
2061 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2062 as scratch.
2063 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2064 SCRATCH_PAD_DISKBOOT as scratch.
2065 (bootit): Pass Openfirmware pointer in %o4.
2066 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2067 of 0x200000.
2068 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2069 with util/grub-mkrawimage.c.
2070 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2071 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2072 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2073 (grub_aout_load) [GRUB_UTIL]: Likewise.
2074 * include/grub/kernel.h (grub_modules_get_end): New proto.
2075 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2076 (SCRATCH_PAD_BOOT): New definition.
2077 (SCRATCH_PAD_DISKBOOT): Likewise.
2078 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2079 * include/grub/sparc64/ieee1275/ieee1275.h
2080 (grub_ieee1275_original_stack): New variable
2081 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2082 New definition
2083 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2084 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2085 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2086 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2087 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2088 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2089 (grub_platform_image_format_t): New type.
2090 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2091 * kern/main.c (grub_modules_get_end)
2092 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2093 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2094 (codestart): Switch stacks.
2095 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2096 variable.
2097 (grub_heap_init): Use grub_modules_get_end.
2098 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2099 stack.
2100 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2101 (main): Likewise.
2102 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2103
d68b491e
TG
21042010-03-14 Thorsten Glaser <tg@mirbsd.org>
2105
2106 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2107
4e02ed50
MK
21082010-03-08 Matt Kraai <kraai@ftbfs.org>
2109
2110 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2111 bug #559005).
2112
1f15fc1e
VS
21132010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * genmoddep.awk: Output all missing symbols and not only first.
2116
fce5d8ff
VS
21172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * NEWS: Put the date of 1.98 release.
2120
d1e8a02f
VS
21212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2124 ft2build.h.
2125
696fd607
VS
21262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2129 completition in the middle of string.
2130
33e2e6f3
VS
21312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * util/grub-mkrescue.in: Use mktemp with explicit template.
2134
b1f6d291
VS
21352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2138
2ac227c7
VS
21392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2142 right pointer.
2143
8f9a632b
VS
21442010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 Fix FreeBSD compilation.
2147
2148 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2149 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2150
60b03859
VS
21512010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2154
48a5a769
VS
21552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2158
3ab4bd77
VS
21592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2162
d116e0d8
RM
21632010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2164
2165 Support relative image path in theme file.
2166
2167 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2168 (image_set_property): Handle theme_dir and relative path.
2169
c7ef54aa
VS
21702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * configure.ac: Alias amd64 to x86_64.
2173
fcee14ed
VS
21742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * NEWS: mention multiboot on EFI.
2177
d0780363
VS
21782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * kern/main.c (grub_load_modules): Handle errors from init functions of
2181 embeded modules.
2182
41168ea4
VS
21832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * normal/autofs.c (autoload_fs_module): Handle errors.
2186
b54d93ac
VS
21872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 Disable linux.mod on qemu-mips since it's not functional and leads
2190 to compilation failure.
2191
2192 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
2193 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
2194 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
2195 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
2196 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
2197 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
2198 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
2199 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
2200 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
2201 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
2202 Reported by: BVK Chaitanya
2203
fc8345da
JU
22042010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
2205
2206 * INSTALL: Add gettext as a dependency and add qemu to a new section
2207 "Prerequisites for make-check".
2208
4760f979
CF
22092010-03-04 Christian Franke <franke@computer.org>
2210
2211 * util/grub-pe2elf.c: Add missing include "progname.h".
2212
f209b5b2
VS
22132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * normal/crypto.c (read_crypto_list): Fix a typo.
2216 Reported by: Seth Goldberg.
2217
b4b7be98
VS
22182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 2221 Reported by: Seth Goldberg.
b4b7be98 2222
c0ee0385
VS
22232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2226 ascii.bitmaps.
2227
a8efbf64
VS
22282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 2231 Reported by: Seth Goldberg.
a8efbf64 2232
08dcd913
VS
22332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * util/i386/efi/grub-install.in: Copy gettext files.
2236
c4d0b332
VS
22372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2240
c6f2fe52
VS
22412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 Wait for user entry basing on presence of output rather than on errors.
2244
2245 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
2246 (grub_install_newline_hook): Likewise.
2247 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
2248 * normal/menu.c (show_menu): Check line_counter to determine presence
2249 of output.
2250 * normal/term.c (grub_normal_line_counter): New variable.
2251 (grub_normal_get_line_counter): New function.
2252 (grub_install_newline_hook): Likewise.
2253
5382b1e4
VS
22542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2257
5519963b
VS
22582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * configure.ac: Update version to 1.98.
2261
72b28631
VS
22622010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * util/grub.d/10_linux.in (linux_entry): Don't default to
2265 gfxpayload=keep if Linux doesn't support video handover.
2266
c140a180
VS
22672010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 Don't compile video modules on yeeloong since video subsystem is part
2270 of kernel.
2271
2272 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
2273 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
2274 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
2275 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
2276 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
2277 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
2278 * include/grub/bitmap_scale.h: Likewise.
2279 * include/grub/bufio.h: Likewise.
2280 * include/grub/font.h: Likewise.
2281 * include/grub/gfxterm.h: Likewise.
2282 * include/grub/video.h: Likewise.
2283 * include/grub/vbe.h: Don't include video_fb.h.
2284 * video/i386/pc/vbe.c: Include video_fb.h.
2285 * commands/i386/pc/vbetest.c: Include video.h.
2286
a0ca21c2
CW
22872010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
2288
2289 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
2290 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
2291 default entry if GRUB_SAVEDEFAULT=true. This allows using
2292 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
2293 saving a new default on every boot.
2294
4a8a763c
VS
22952010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * normal/crypto.c (read_crypto_list): Fix a memory leak.
2298 * normal/term.c (read_terminal_list): Likewise.
2299 * normal/main.c (grub_normal_init_page): Likewise.
2300 (grub_normal_read_line_real): Likewise.
2301
607ffde2
VS
23022010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
2305 memory leak.
2306 Reported by: Seth Goldberg.
2307
2b8fa975
CW
23082010-02-24 Joey Korkames <joey+lists@kidfixit.com>
2309
2310 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
2311 duplicate declaration of `start'.
2312
618307dd
VS
23132010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
2316 filename.
2317 Reported by: Georgy Buranov
2318
7dd05b96 23192010-02-20 Carles Pina i Estany <carles@pina.cat>
2320
2321 * util/grub-mkrawimage.c (usage): Change string formatting to
2322 improve gettext.
2323
d1484a42
MRA
23242010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2325
2326 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
2327 backspace keys.
2328
42b1d186
VS
23292010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
2332 Reported by: Michael Suchanek.
2333
23342010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
2335
2336 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
2337 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
2338
d9f31a41
VS
23392010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 Remove any reference to non-free fonts.
2342
2343 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
2344 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
2345 uses non-free components.
2346 * font/font.c (grub_font_get_name): Remove example name.
2347 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
2348 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2349 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
2350 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2351
2793c71e
GB
23522010-02-16 Georgy Buranov <gburanov@gmail.com>
2353
2354 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2355
402e3779
VS
23562010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
2359 Double divisor.
2360 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
2361 features.
2362 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2363
0dd1e0dd
VS
23642010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * gensymlist.sh.in: Use TARGET_CC instead of CC.
2367
6fa7cfce
ST
23682010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2369
2370 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
2371 * docs/grub.texi (Command-line and menu entry commands): Document play
2372 command.
2373
37c8483b
ST
23742010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2375
2376 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
2377 parse arguments as inline tempo and notes. Move code for playing notes
2378 to...
2379 (play): ... new function.
2380
14da0fb7
ST
23812010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2382
2383 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
2384 grub_uint16_t instead of short.
2385 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
2386 disk from little endian to cpu endianness.
2387
04459e70
ST
23882010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
2389
2390 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
2391 GRUB_TICKS_PER_SECOND instead of 120.
2392
a0876943
VS
23932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
2396 escape sequence after \e.
2397
e29f95dc
VS
23982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
2401 non-ASCII characters.
2402
d27859b2
VS
24032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
2406 set root in single quotes to prevent \, from being unescaped.
2407
bc028f2f
VS
24082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 Prevent unknown commands from stopping menuentry execution.
2411
2412 * script/execute.c (grub_script_execute_cmdline): Print error after
2413 unknown command.
2414
095f5f82
VS
24152010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
2418 Reported by: Pavel Pisa.
2419
8c717950
VS
24202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
2423
904935c3
VS
24242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 Merge grub_ieee1275_map_physical into grub_map and rename to
2427 grub_ieee1275_map
2428
2429 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
2430 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
2431 Remove.
2432 * kern/ieee1275/openfw.c (grub_map): Rename to ...
2433 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
2434 necessary.
2435 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2436
5b59a4e3
VS
24372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
2440 opening and not after.
2441
69e137e8
VS
24422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
2445 constants.
2446
2c0fcc36
VS
24472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
2450 (alloc_phys): Use ALIGN_UP instead of align_addr.
2451
8c6052ce
VS
24522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2455
17cec782
VS
24562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2459
e0128bbd
VS
24602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
2463 verbose dprintf.
2464
ca62070b
VS
24652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 Fix over-4GiB seek on sparc64.
2468
2469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
2470 Replace pos_i and pos_lo with pos. All users updated.
2471 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2472 New constant.
2473 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2474 Likewise.
2475 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
2476 and pos_lo.
2477
bdca2607
VS
24782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * util/grub-mkrawimage.c (main): Call set_program_name.
2481
da278c4d
VS
24822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Properly align 64-bit targets.
2485
2486 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
2487 (generate_image): Use ALIGN_ADDR.
2488
b274d734
VS
24892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 Properly create cross-endian images.
2492
2493 * include/grub/types.h (grub_host_to_target_addr): New macro
2494 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2495
82da2062
VS
24962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2499
7cae4377
VS
25002010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
2503
2504 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
2505 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
2506 (grub_linux_boot): Divide by 64K when on VESA.
2507
65a533e7
VS
25082010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 Support GRUB_GFXPAYLOAD_LINUX.
2511
2512 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
2513 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2514
dd01d397
VS
25152010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
2518 to show messages instead of discarding them.
2519 Process errors after executing command and not before. Keep old method
2520 too as precaution.
2521
660960d6
VS
25222010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * configure.ac: Check for ft2build.h.
2525
62509f04
VS
25262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2529
473df63d
VS
25302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * genkernsyms.sh.in: Use TARGET_CC.
2533
c98d2a13
CW
25342010-02-07 Colin Watson <cjwatson@ubuntu.com>
2535
2536 * NEWS: Update.
2537
6e14234c
VS
25382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
2541 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
2542 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 2543
b255e9cf
YB
25442010-02-07 Yves Blusseau <blusseau@zetam.org>
2545
6e14234c 2546 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 2547
98e6959d
VS
25482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 Fix warnings in grub-emu when compiling with maximum warning options.
2551
2552 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
2553 (grub_arch_modules_addr): Return 0 and not NULL.
2554 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 2555 (xstrdup): Use newstr instead of dup.
f88d801b
VS
2556 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
2557 of disk to dsk to avoid shadowing.
74e4934e
VS
2558 (find_free_slot): Fix prototype.
2559 * util/getroot.c (grub_util_is_dmraid): Make static.
2560 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
2561 Add missing prototype.
2562 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 2563
74e31b5c
VS
25642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * loader/i386/linux.c (grub_linux_setup_video): Handle error
2567 appropriately.
2568
6b2ad14b
VS
25692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
2572 code out.
2573
8f891adc
VS
25742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
2577 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
2578 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
2579 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
2580 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
2581 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2582
74b45184
VS
25832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * include/grub/err.h (grub_err_printf): Don't export.
2586
a4bced77
VS
25872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
2590
007d0695
VS
25912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * include/grub/i18n.h (grub_gettext_dummy): Removed.
2594 * kern/misc.c (grub_gettext_dummy): Make static.
2595
b6c0d9c2
VS
25962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
2599 by non-valid ones.
2600 * kern/term.c (grub_putchar): Likewise.
2601
f51a90d0
VS
26022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
2605 buggy hook call and memory leak.
2606
6846cec5
VS
26072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
2610
468d69fe
VS
26112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
2614
51906b8c
VS
26152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
2618 modevar.
2619 Return grub_errno on allocation error.
2620
09706ce5
VS
26212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
2624
911df80c
YB
26252010-02-06 Yves Blusseau <blusseau@zetam.org>
2626
2627 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
2628 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
2629
3746a6bc
VS
26302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
2633 non-pxe disk.
2634 (grub_pxefs_open): Likewise.
2635
09706ce5
VS
26362010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2637
2638 * util/grub.d/10_hurd.in: Add --class information to menuentries.
2639 * util/grub.d/10_kfreebsd.in: Likewise.
2640 * util/grub.d/10_linux.in: Likewise.
2641
7cc192d9
VS
26422010-02-06 Colin D Bennett <colin@gibibit.com>
2643
2644 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
2645 (gfxmenu_mod_SOURCES): New variable.
2646 (gfxmenu_mod_CFLAGS): Likewise.
2647 (gfxmenu_mod_LDFLAGS): Likewise.
2648 * include/grub/term.h (grub_term_set_current_output): Declare
2649 argument as const.
2650 * docs/gfxmenu-theme-example.txt: New file.
2651 * gfxmenu/gfxmenu.c: Likewise.
2652 * gfxmenu/gui_box.c: Likewise.
2653 * gfxmenu/gui_canvas.c: Likewise.
2654 * gfxmenu/gui_circular_progress.c: Likewise.
2655 * gfxmenu/gui_image.c: Likewise.
2656 * gfxmenu/gui_label.c: Likewise.
2657 * gfxmenu/gui_list.c: Likewise.
2658 * gfxmenu/gui_progress_bar.c: Likewise.
2659 * gfxmenu/gui_string_util.c: Likewise.
2660 * gfxmenu/gui_util.c: Likewise.
2661 * gfxmenu/icon_manager.c: Likewise.
2662 * gfxmenu/model.c: Likewise.
2663 * gfxmenu/named_colors.c: Likewise.
2664 * gfxmenu/theme_loader.c: Likewise.
2665 * gfxmenu/view.c: Likewise.
2666 * gfxmenu/widget-box.c: Likewise.
2667 * include/grub/gfxmenu_model.h: Likewise.
2668 * include/grub/gfxmenu_view.h: Likewise.
2669 * include/grub/gfxwidgets.h: Likewise.
2670 * include/grub/gui.h: Likewise.
2671 * include/grub/gui_string_util.h: Likewise.
2672 * include/grub/icon_manager.h: Likewise.
2673
26742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 Agglomerate scrolling in gfxterm.
2677
2678 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
2679 (grub_virtual_screen_setup): Initialise 'total_screen'.
2680 (write_char): Split to ...
2681 (paint_char): ... this ...
2682 (write_char): ... and this.
2683 (paint_char): Handle delayed scrolling.
2684 (draw_cursor): Likewise.
2685 (scroll_up): Split to ...
2686 (real_scroll): ... this ...
2687 (scroll_up): ... and this.
2688 (real_scroll): Handle multi-line scroll and draw below-the-bottom
2689 characters.
2690 (grub_gfxterm_refresh): Call real_scroll.
2691
26922010-02-06 Colin D Bennett <colin@gibibit.com>
2693
2694 * include/grub/misc.h (grub_iscntrl): New inline function.
2695 (grub_isalnum): Likewise.
2696 (grub_strtol): Likewise.
2697
26982010-02-06 Colin D Bennett <colin@gibibit.com>
2699
2700 * normal/menu_text.c (get_entry_number): Move from here ...
2701 * normal/menu.c (get_entry_number): ... moved here.
2702 * include/grub/menu.h (grub_menu_get_default_entry_index):
2703 New prototype.
2704 * normal/menu.c (grub_menu_get_default_entry_index): New function.
2705 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
2706 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
2707 (grub_menu_viewer_should_return): Likewise.
2708 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
2709 * normal/menu_text.c (run_menu): Enable menu switching.
2710 * normal/menu_viewer.c (should_return): New variable.
2711 (menu_viewer_changed): Likewise.
2712 (grub_menu_viewer_show_menu): Handle menu viewer changes.
2713 (grub_menu_viewer_should_return): New function.
2714 (menuviewer_write_hook): Likewise.
2715 (grub_menu_viewer_init): Likewise.
2716
27172010-02-06 Colin D Bennet <colin@gibibit.com>
27182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Support for gfxterm in a window.
2721
2722 * include/grub/gfxterm.h: New file.
2723 * include/grub/video.h (struct grub_video_rect): New declaration.
2724 (grub_video_rect_t): Likewise.
2725 * term/gfxterm.c (struct grub_gfxterm_window): New type.
2726 (refcount): New variable.
2727 (render_target): Likewise.
2728 (window): Likewise.
2729 (repaint_callback): Likewise.
2730 (grub_virtual_screen_setup): Use 'render_target'.
2731 (init_window): New function.
2732 (grub_gfxterm_init_window): Likewise.
2733 (grub_gfxterm_init): Check reference counter.
2734 Use init_window.
2735 (destroy_window): New function.
2736 (grub_gfxterm_destroy_window): Likewise.
2737 (grub_gfxterm_fini): Check reference counter.
2738 Use destroy_window.
2739 (redraw_screen_rect): Restore viewport.
2740 Use 'render_target' and 'window'.
2741 Call 'repaint_callback'.
2742 (write_char): Use 'render_target'.
2743 (draw_cursor): Likewise.
2744 (scroll_up): Restore viewport.
2745 Use 'render_target' and 'window'.
2746 Call 'repaint_callback'.
2747 (grub_gfxterm_cls): Likewise.
2748 (grub_gfxterm_refresh): Use 'window'.
2749 (grub_gfxterm_set_repaint_callback): New function.
2750 (grub_gfxterm_background_image_cmd): Use 'window'.
2751 (grub_gfxterm_get_term): New function.
2752 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
2753
27542010-02-06 Colin D Bennett <colin@gibibit.com>
2755
2756 Bitmap scaling support.
2757
2758 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
2759 (bitmap_scale_mod_SOURCES): New variable.
2760 (bitmap_scale_mod_CFLAGS): Likewise.
2761 (bitmap_scale_mod_LDFLAGS): Likewise.
2762 * include/grub/bitmap_scale.h: New file.
2763 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
2764 (background_image_cmd_options): New variable.
2765 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
2766 (cmd): Rename and change type to ...
2767 (background_image_cmd_handle): ... this. All users updated.
2768 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
2769 * video/bitmap_scale.c: New file.
2770
27712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 SDL support.
2774
2775 * Makefile.in (LIBSDL): New variable.
2776 (enable_grub_emu_sdl): Likewise.
2777 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
2778 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
2779 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
2780 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
2781 * util/sdl.c: New file.
2782
27832010-02-06 Colin D Bennett <colin@gibibit.com>
27842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 Double buffering support.
2787
2788 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
2789 * include/grub/video.h: Update comment.
2790 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2791 New type.
2792 (grub_video_fb_doublebuf_blit_init): New prototype.
2793 * term/gfxterm.c (scroll_up): Support double buffering.
2794 (grub_gfxterm_refresh): Likewise.
2795 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
2796 (grub_video_fb_doublebuf_blit_init): Likewise.
2797 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
2798 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
2799 'displayed_page', 'render_page' and 'update_screen'.
2800 (grub_video_vbe_fini): Free offscreen buffer.
2801 (doublebuf_pageflipping_commit): New function.
2802 (doublebuf_pageflipping_update_screen): Likewise.
2803 (doublebuf_pageflipping_init): Likewise.
2804 (double_buffering_init): Likewise.
2805 (grub_video_vbe_setup): Enable doublebuffering.
2806 (grub_video_vbe_swap_buffers): Implement.
2807 (grub_video_vbe_set_active_render_target): Handle double buffering.
2808 (grub_video_vbe_get_active_render_target): Likewise.
2809 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
2810 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
2811 (grub_video_vbe_enable_double_buffering): Likewise.
2812 (grub_video_vbe_swap_buffers): Use update_screen.
2813 (grub_video_set_mode): Use double buffering.
2814
28152010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2816
2817 * maintainance/gentrigtables.py: Remove.
2818 * lib/trig.c: Likewise.
2819
2820 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
2821
2822 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
2823 `trigtables.c'.
2824 (trigtables.c): New rule.
2825 (gentrigtables): Likewise.
2826 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
2827
28282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
2829
2830 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
2831 integer constants.
2832
28332010-02-06 Colin D Bennet <colin@gibibit.com>
2834
2835 Trigonometry support.
2836
2837 * include/grub/trig.h: New file.
2838 * lib/trig.c: Likewise.
2839 * maintainance/gentrigtables.py: Likewise.
2840 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
2841 (trig_mod_SOURCES): New variable.
2842 (trig_mod_CFLAGS): Likewise.
2843 (trig_mod_LDFLAGS): Likewise.
2844
5562834e
VS
28452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
2848 disk devices.
2849
4f8528fc
VS
28502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
2853 error.
2854
2b4068e9
VS
28552010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * util/hostdisk.c (open_device): Don't use partition device when reading
2858 before the partition.
2859 (grub_util_biosdisk_read): Don't read from partition and before the
2860 partition in single operation.
2861 (grub_util_biosdisk_write): Don't write to partition and before the
2862 partition in single operation.
2863
399f6e4d
TL
28642010-02-03 Torsten Landschoff <torsten@debian.org>
2865
2866 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2867 last sectors.
2868
996649b0
VS
28692010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
2872 CDROM reads.
2873 (grub_biosdisk_write): Refuse to write to CDROM.
2874
3b205d4d
VS
28752010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
2878
61e89d9d
VS
28792010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * font/font.c (find_glyph): Check that bmp_idx is available before
2882 using it.
2883 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
2884 with (font == NULL).
2885
bf7fcba2
CS
28862010-01-28 Christian Schmitt <chris@ilovelinux.de>
2887
2888 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
2889
f45d2663
BC
28902010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
2891
2892 * include/grub/script_sh.h (sourcecode): Add const qualifier.
2893 * util/grub-script-check.c (getline): Fix empty lines case.
2894
ec1444e6
RM
28952010-01-28 Robert Millan <rmh.grub@aybabtu.com>
2896
2897 * Makefile.in (check): Exit with fail status when one of the tests
2898 fails.
2899 * tests/example_functional_test.c (example_test): Fix reversed assert.
2900 * tests/example_unit_test.c (example_test): Likewise.
2901
2e1cb9bb
CW
29022010-01-28 Colin Watson <cjwatson@ubuntu.com>
2903
2904 * util/grub.d/10_linux.in: This script does not use any of the
2905 contents of gettext.sh, only the external command `gettext', so stop
2906 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
2907 the same prefix as GRUB.)
2908 * util/grub.d/10_kfreebsd.in: Likewise.
2909
63533ab0
VS
29102010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
2913 of the line.
2914
989e1f93
VS
29152010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * kern/disk.c (grub_disk_read): Fix offset computation when reading
2918 last sectors.
2919
e709ebe2
VS
29202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
2923 having a 4KiB and not 32KiB buffer size.
2924
27dea7ed
RM
29252010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2926
2927 * util/hostfs.c: Include `<errno.h>'.
2928 (grub_hostfs_read): Handle errors from fseeko() and fread().
2929
67667b9c
RM
29302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2931
2932 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
2933 loop when using read hooks on files whose size isn't sector-aligned.
2934
c294d9d8
RM
29352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2936
2937 Remove unused parameter.
2938
2939 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
2940 (grub_iso9660_open): Remove initialization of `data->length'.
2941
af75a9f1
RM
29422010-01-27 Robert Millan <rmh.grub@aybabtu.com>
2943
2944 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
2945 memleak conditions.
2946
254e2ce5 29472010-01-27 Carles Pina i Estany <carles@pina.cat>
2948
2949 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
2950 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
2951
b510928c 29522010-01-26 Carles Pina i Estany <carles@pina.cat>
2953
2954 * util/bin2h.c (usage): Fix warning (space after backslash).
2955
aa2f9dd2 29562010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 2957
2958 * font/font.c: Include `grub/fontformat.h.
2959 Remove font file format constants.
2960 (grub_font_load): Use the new macros.
2961 * include/grub/fontformat.h: New file.
2962 * util/grub-mkfont.c: Include `grub/fontformat.c'.
2963 (write_font_pf2): Use the new macros.
2964
94e7e712
RM
29652010-01-26 Robert Millan <rmh.grub@aybabtu.com>
2966
2967 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
2968 does.
2969
3973a59a
RM
29702010-01-26 Robert Millan <rmh.grub@aybabtu.com>
2971
2972 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
2973
2974 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
2975 (_start): Macroify `0x7F'.
2976
2977 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
2978 (make_install_device): Use "(pxe)" as fallback prefix when booting
2979 via PXE.
2980
42e0cba3
GS
29812010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * configure.ac: Reset LIBS after check for libgcc symbols.
2984
847effd8
CW
29852010-01-25 Colin Watson <cjwatson@ubuntu.com>
2986
2987 * util/hostdisk.c (open_device): Add trailing newline to debug
2988 message.
2989
ea4a7e35
GS
29902010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2991
2992 * configure.ac: Check for `limits.h'.
2993 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
2994
67951a53
RM
29952010-01-24 Robert Millan <rmh.grub@aybabtu.com>
2996
2997 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
2998 capitalize error strings.
2999
c273d4ce
ST
30002010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3001
3002 * util/grub.d/10_hurd.in: Add a recovery mode.
3003
69be5b74
VS
30042010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * configure.ac: Check for libgcc symbols with -nostdlib.
3007
fc9e5810
BC
30082010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3009
3010 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3011
4b358c0a
VS
30122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3015 stack since heap may be unavailable at that point.
3016 (grub_ofconsole_gotoxy): Likewise.
3017
454fcd1c
VS
30182010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * configure.ac: Check for _restgpr_14_x.
3021 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3022 and _savegpr_* prototypes.
3023
566863ca
RM
30242010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3025
3026 Use generic grub_reboot() for i386-efi.
3027
3028 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3029 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3030 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3031
bf86e59a
VS
30322010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3035 presence of "prefix" variable as it breaks when normal.mod is
3036 embedded.
3037
d645e0f8
VS
30382010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3041 stack since heap is unavailable at that point.
3042
f9ab2e25
VS
30432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3046 (grub_freebsd_bootinfo): Rewritten.
3047 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3048
01fc7054
VS
30492010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3052
caab4fd6
RM
30532010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3054
3055 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3056 domain now.
3057
67eb1427
FZ
30582010-01-20 Felix Zielcke <fzielcke@z-51.de>
3059
3060 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3061 around for handling "/" to the correct fix. Fix a memory leak. Use
3062 xstrdup instead of strdup.
3063
a9ed4ff3
VS
30642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3067
30682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
3069
3070 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3071
3072 * font/font.c (struct grub_font): New member 'bmp_idx'.
3073 (font_init): Initialise 'bmp_idx'.
3074 (load_font_index): Fill 'bmp_idx'.
3075 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3076
48209f4f
VS
30772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3080 unnecessary calls.
3081
9f0a4bb7
VS
30822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 Move context handling out of the kernel.
3085
3086 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3087 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3088 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3089 * conf/i386-efi.rmk: Likewise.
3090 * conf/i386-ieee1275.rmk: Likewise.
3091 * conf/i386-pc.rmk: Likewise.
3092 * conf/powerpc-ieee1275.rmk: Likewise.
3093 * conf/sparc64-ieee1275.rmk: Likewise.
3094 * conf/x86_64-efi.rmk: Likewise.
3095 * include/grub/env.h: Include grub/menu.h.
3096 (grub_env_var_type): Removed.
3097 (grub_env_var): Replaced field 'type' with 'global'.
3098 (grub_env_find): New prototype.
3099 (grub_env_context_open): Remove EXPORT_FUNC.
3100 (grub_env_context_close): Likewise.
3101 (grub_env_export): Likewise.
3102 (grub_env_set_data_slot): Removed.
3103 (grub_env_get_data_slot): Likewise.
3104 (grub_env_unset_data_slot): Likewise.
3105 (grub_env_unset_menu): New prototype.
3106 (grub_env_set_menu): Likewise.
3107 (grub_env_get_menu): Likewise.
3108 * include/grub/env_private.h: New file.
3109 * include/grub/normal.h (grub_context_init): New prototype.
3110 (grub_context_fini): Likewise.
3111 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3112 * normal/context.c (grub_cmd_export): ... to here.
3113 * kern/env.c: Include env_private.h.
3114 (HASHSZ): Moved to include/grub/env_private.h.
3115 (grub_env_context): Likewise.
3116 (grub_env_sorted_var): Likewise.
3117 (current_context): Renamed from this ...
3118 (grub_current_context): ...to this. 'static' removed. All users updated.
3119 (grub_env_find): Removed 'static'.
3120 (grub_env_context_open): Moved to normal/context.c.
3121 (grub_env_context_close): Likewise.
3122 (grub_env_export): Likewise.
3123 (mangle_data_slot_name): Removed.
3124 (grub_env_set_data_slot): Likewise.
3125 (grub_env_get_data_slot): Likewise.
3126 (grub_env_unset_data_slot): Likewise.
3127 * kern/main.c (grub_set_root_dev): Don't export root.
3128 It will be done later.
3129 (grub_main): Don't export prefix.
3130 It will be done later.
3131 * normal/context.c: New file.
3132 * normal/main.c (free_menu): Use grub_env_unset_menu.
3133 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3134 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3135 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3136 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3137
8dd35b8c
VS
31382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 setpci support.
3141
3142 * commands/setpci.c: New file.
3143 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3144 (setpci_mod_SOURCES): New variable.
3145 (setpci_mod_CFLAGS): Likewise.
3146 (setpci_mod_LDFLAGS): Likewise.
3147
449193d5
VS
31482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Byte-addressable PCI configuration space.
3151
3152 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3153 dword address.
3154 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3155 GRUB_PCI_REG_CACHELINE.
3156 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3157 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3158 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3159 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3160 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3161 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3162 grub_pci_make_address.
3163 (lock_rom_area): Likewise.
3164 * commands/lspci.c (grub_lspci_iter): Use macroses
3165 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3166 of grub_pci_make_address.
3167 * disk/ata.c (grub_ata_pciinit): Likewise.
3168 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3169 (GRUB_PCI_REG_VENDOR): Likewise.
3170 (GRUB_PCI_REG_DEVICE): Likewise.
3171 (GRUB_PCI_REG_COMMAND): Likewise.
3172 (GRUB_PCI_REG_STATUS): Likewise.
3173 (GRUB_PCI_REG_REVISION): Likewise.
3174 (GRUB_PCI_REG_CLASS): Likewise.
3175 (GRUB_PCI_REG_CACHELINE): Likewise.
3176 (GRUB_PCI_REG_LAT_TIMER): Likewise.
3177 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
3178 (GRUB_PCI_REG_BIST): Likewise.
3179 (GRUB_PCI_REG_ADDRESSES): Likewise.
3180 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3181 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3182 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3183 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3184 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3185 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3186 (GRUB_PCI_REG_CIS_POINTER): Likewise.
3187 (GRUB_PCI_REG_SUBVENDOR): Likewise.
3188 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
3189 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
3190 (GRUB_PCI_REG_CAP_POINTER): Likewise.
3191 (GRUB_PCI_REG_IRQ_LINE): Likewise.
3192 (GRUB_PCI_REG_IRQ_PIN): Likewise.
3193 (GRUB_PCI_REG_MIN_GNT): Likewise.
3194 (GRUB_PCI_REG_MAX_LAT): Likewise.
3195 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
3196 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
3197 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 3198 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
3199 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
3200 space.
3201
96d73208
RM
32022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3203
3204 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
3205 can be reliably determined to be supported.
3206
d4484482
RM
32072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3208
3209 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
3210 that VESA is supported.
3211 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
3212 supported.
3213
00308ecf
VS
32142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
3217
f66924a4
RM
32182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3219
3220 * util/misc.c (make_system_path_relative_to_its_root): Work around
3221 special-casing of "/", as previous incarnation of this routine did.
3222
cbca0ada
VS
32232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 Fix any-emu compilation.
3226
3227 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
3228 * grub_bin2h_SOURCES: New variable.
3229
34a66d99
RM
32302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3231
3232 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
3233
94fabf58
RM
32342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3235
3236 * util/grub.d/00_header.in: Fix handling of locale_dir.
3237
02cf98ca
VS
32382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
3241 as possible unifont location (Gentoo).
3242 Reported by: Alexander Brüning
3243
327dbcd7
VS
32442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 Don't try to generate lists for kernel.img.
3247
3248 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
3249 (pkglib_MODULES): Remove kernel.img.
3250 (kernel_img_EXPORTS): Removed.
3251 (kernel_img_RELOCATABLE): New variable.
3252 * conf/x86_64-efi.rmk: Likewise.
3253 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
3254
ca467290
VS
32552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
3258 grub_xasprintf or grub_snprintf.
3259 (grub_vsprintf): Likewise.
3260 (grub_snprintf): New proto.
3261 (grub_vsnprintf): Likewise.
3262 (grub_xasprintf): Likewise.
3263 (grub_xvasprintf): Likewise.
3264 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
3265 (grub_sprintf): Removed.
3266 (grub_vsnprintf): New function.
3267 (grub_snprintf): Likewise.
3268 (grub_xvasprintf): Likewise.
3269 (grub_xasprintf): Likewise.
3270 (grub_vsprintf): Renamed to ...
3271 (grub_vsnprintf_real): ...this. New argument max_len.
3272
aca655fd
BC
32732010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
3274
3275 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
3276 fix grub-script-check warning.
3277
7ee92c32
VS
32782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * include/grub/font.h (grub_font_load): Fix prototype.
3281
f80927ca
VS
32822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
3285
119c50ea
VS
32862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * include/grub/x86_64/at_keyboard.h: New file.
3289
47d5f3c1
VS
32902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * loader/mips/linux.c: Include missing grub/i18n.h.
3293
55ff5266
RM
32942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3295
3296 * normal/menu.c (notify_execution_failure): Clarify error message.
3297
c893cc87
RM
32982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3299
3300 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
3301 return value (and revert all return statements). Update users.
3302
917dd370
CW
33032010-01-20 Dan Merillat <debian@dan.merillat.org>
3304
3305 * kern/device.c (grub_device_iterate): Allocate new part_ent
3306 structure based on sizeof (*p) rather than sizeof (p->next), to
3307 account for structure padding.
3308
3309 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
3310 disk is NULL, which might happen for LVM physical volumes with no
3311 LVM signature.
3312
d4a4ee57
RM
33132009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3314
3315 * loader/mips/linux.c (grub_cmd_initrd)
3316 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
3317
33182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3319
3320 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
3321 (grub_video_video_init, grub_video_bitmap_init)
3322 (grub_font_manager_init, grub_term_gfxterm_init)
3323 (grub_at_keyboard_init): New extern declarations.
3324 (grub_machine_init): Initialize gfxterm and at_keyboard.
3325
3326 * kern/main.c (grub_main): Revert grub_printf delay kludge.
3327
3328 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
3329 `gfxterm.mod' into core image.
3330
3331 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3332 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3333 (kernel_img_FORMAT): Copy to ...
3334
3335 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3336 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3337 (kernel_img_FORMAT): ... here, and ...
3338
3339 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3340 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3341 (kernel_img_FORMAT): ... here.
3342
3343 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
3344 and input (at_keyboard) terminals in kernel.
3345 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
3346
3347 (pkglib_MODULES): Remove `pci.mod'.
3348 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
3349 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
3350 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
3351 (at_keyboard_mod_LDFLAGS): Remove variables.
3352
33532010-01-11 Felix Zielcke <fzielcke@z-51.de>
3354
3355 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
3356
33572009-12-10 Robert Millan <rmh.grub@aybabtu.com>
3358
3359 * include/grub/mips/libgcc.h: Only export symbols for functions
3360 that libgcc provides.
3361
33622009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 MIPS support.
3365
3366 * bus/bonito.c: New file.
3367 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
3368 GRUB_PCI_NUM_DEVICES.
3369 * term/i386/pc/serial.c: Move to ...
3370 * term/serial.c: ... here. All users updated.
3371 * util/i386/pc/grub-mkimage.c: Move to ...
3372 * util/grub-mkrawimage.c: ... here. All users updated.
3373 * term/i386/pc/at_keyboard.c: Move to ...
3374 * term/at_keyboard.c: ... here. All users updated.
3375 * conf/mips-qemu-mips.rmk: New file.
3376 * conf/mips-yeeloong.rmk: Likewise.
3377 * conf/mips.rmk: Likewise.
3378 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
3379 mipsel-qemu-mips.
3380 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
3381 to port addresses.
3382 (grub_ata_pciinit): Support CS5536.
3383 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
3384 * font/font_cmd.c (loadfont_command): Open file before passing it to
3385 grub_font_load.
3386 (pseudo_file_read): New function.
3387 (pseudo_file_close): Likewise.
3388 (pseudo_fs): New structure.
3389 (load_font_module): New function.
3390 (GRUB_MOD_INIT(font_manager)): Load embedded font.
3391 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
3392 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
3393 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
3394 * include/grub/i386/at_keyboard.h: Split into ...
3395 * include/grub/at_keyboard.h: ... this ...
3396 * include/grub/i386/at_keyboard.h: ... and this.
3397 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
3398 New prototype.
3399 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
3400 updated.
3401 (grub_elf64_size): Likewise.
3402 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
3403 filename.
3404 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
3405 * include/grub/i386/coreboot/serial.h: Rewritten.
3406 * include/grub/i386/ieee1275/serial.h: Include
3407 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
3408 * include/grub/i386/pc/serial.h: Moved from here ...
3409 * include/grub/serial.h: ... to here. All users updated.
3410 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
3411 (GRUB_PCI_NUM_BUS): Likewise.
3412 (GRUB_PCI_NUM_DEVICES): Likewise.
3413 (grub_pci_device_map_range): Add missing volatile keyword.
3414 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
3415 * include/grub/mips/at_keyboard.h: New file.
3416 * include/grub/mips/cache.h: Likewise.
3417 * include/grub/mips/io.h: Likewise.
3418 * include/grub/mips/kernel.h: Likewise.
3419 * include/grub/mips/libgcc.h: Likewise.
3420 * include/grub/mips/pci.h: Likewise.
3421 * include/grub/mips/qemu-mips/boot.h: Likewise.
3422 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3423 * include/grub/mips/qemu-mips/loader.h: Likewise.
3424 * include/grub/mips/qemu-mips/memory.h: Likewise.
3425 * include/grub/mips/qemu-mips/serial.h: Likewise.
3426 * include/grub/mips/qemu-mips/time.h: Likewise.
3427 * include/grub/mips/relocator.h: Likewise.
3428 * include/grub/mips/time.h: Likewise.
3429 * include/grub/mips/types.h: Likewise.
3430 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
3431 * include/grub/mips/yeeloong/boot.h: Likewise.
3432 * include/grub/mips/yeeloong/kernel.h: Likewise.
3433 * include/grub/mips/yeeloong/loader.h: Likewise.
3434 * include/grub/mips/yeeloong/memory.h: Likewise.
3435 * include/grub/mips/yeeloong/pci.h: Likewise.
3436 * include/grub/mips/yeeloong/serial.h: Likewise.
3437 * include/grub/mips/yeeloong/time.h: Likewise.
3438 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
3439 * kern/elf.c (grub_elf32_size): New parameter. All users
3440 updated.
3441 (grub_elf64_size): Likewise.
3442 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
3443 Load modules before saying "Welcome to GRUB!".
3444 Call grub_refresh after saying "Welcome to GRUB!".
3445 * kern/mips/cache.S: New file.
3446 * kern/mips/cache_flush.S: Likewise.
3447 * kern/mips/dl.c: Likewise.
3448 * kern/mips/init.c: Likewise.
3449 * kern/mips/qemu-mips/init.c: Likewise.
3450 * kern/mips/startup.S: Likewise.
3451 * kern/mips/yeeloong/init.c: Likewise.
3452 * kern/term.c (grub_putcode): Handle NULL terminal.
3453 (grub_getcharwidth): Likewise.
3454 (grub_getkey): Likewise.
3455 (grub_checkkey): Likewise.
3456 (grub_getkeystatus): Likewise.
3457 (grub_getxy): Likewise.
3458 (grub_getwh): Likewise.
3459 (grub_gotoxy): Likewise.
3460 (grub_cls): Likewise.
3461 (grub_setcolorstate): Likewise.
3462 (grub_setcolor): Likewise.
3463 (grub_getcolor): Likewise.
3464 (grub_refresh): Likewise.
3465 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
3466 (write_jump): Add hatch nop.
3467 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
3468 * lib/mips/setjmp.S: New file.
3469 * loader/mips/linux.c: Likewise.
3470 * term/i386/pc/at_keyboard.c: Move from here ...
3471 * term/at_keyboard.c: ... to here.
3472 * term/i386/pc/serial.c: Moved from here ...
3473 * term/serial.c: ... to here. All users updated.
3474 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
3475 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
3476 (serial_translate_key_sequence): Avoid deadlock.
3477 (grub_serial_getkey): Handle backspace.
3478 (grub_serial_putchar): Fix newline handling.
3479 * util/i386/pc/grub-mkimage.c: Move from here ...
3480 * util/grub-mkrawimage.c: ... to here. All users updated.
3481 (generate_image): New parameters 'font_path' and 'format'.
3482 Support embedding font.
3483 Use grub_host_to_target* instead of grub_cpu_to_le*.
3484 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
3485 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
3486 (options): New option "--font".
3487 (usage): Likewise.
3488 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
3489 (main): Handle "--font".
3490 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
3491 (grub_virtual_screen_setup): Set bg_color_display.
3492 (redraw_screen_rect): Use bg_color_display instead of incorrect
3493 bg_color.
3494 (grub_gfxterm_cls): Likewise.
3495 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
3496 Support embedding config file.
3497 (add_segments): Likewise.
3498 (options): New option "--config".
3499 (main): Handle "--config".
3500 * video/sm712.c: New file.
3501
25c2b5b3
RM
35022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3503
3504 Fix parallel builds.
3505
3506 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
3507 font.c depend on ascii.h).
3508
35092010-01-12 Carles Pina i Estany <carles@pina.cat>
3510
3511 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
3512
35132010-01-11 Carles Pina i Estany <carles@pina.cat>
3514
3515 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
3516 By default: disabled.
3517 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
3518 parameter.
3519
35202010-01-10 Carles Pina i Estany <carles@pina.cat>
3521
3522 * font/font.c: Update copyright years.
3523 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
3524
35252010-01-10 Carles Pina i Estany <carles@pina.cat>
3526
3527 * font/font.c: Include `ascii.h'.
3528 (ASCII_BITMAP_SIZE): New macro.
3529 (ascii_font_glyph): Define.
3530 (ascii_glyph_lookup): New function.
3531 (grub_font_get_string_width): Change comment. If glyph not found, use
3532 ascii_glyph_lookup.
3533 (grub_font_get_glyph_with_fallback): If glyph not available returns
3534 ascii_glyph_lookup.
3535 * util/grub-mkfont.c (file_formats): New enum.
3536 (options): Add `ascii-bitmaps' new option.
3537 (usage): Add `asii-bitmaps' new option.
3538 (write_font_ascii_bitmap): New function.
3539 (write_font): Rename to ...
3540 (write_font_p2): ... this. Remove print_glyphs call.
3541 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
3542 used. Call print_glyphs.
3543 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
3544
35452010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3546
3547 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
3548 (grub_bin2h_SOURCES): New variable.
3549 * util/bin2h.c: New file.
3550
915fc1b8
VS
35512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * include/multiboot.h: Resynced with spec.
3554 * include/multiboot2.h: Likewise.
3555 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
3556 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
3557
9444b678
RM
35582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3559
3560 * include/grub/term.h (grub_term_register_input,
3561 grub_term_register_output): Check return of terminal init()
3562 routines, and abort if errors are raised.
3563
3564 * commands/terminal.c: Update copyright year.
3565
cba98e8d
RM
35662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3567
3568 * commands/terminal.c (grub_cmd_terminal_input)
3569 (grub_cmd_terminal_output): Check return of terminal init()
3570 routines, and abort if errors are raised.
3571
6f7db5d6
VS
35722010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * include/grub/i386/bsd.h: Fix include pathes.
3575
262bff8d
VS
35762010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 Add missing *BSD copyright headers.
3579
3580 * include/grub/aout.h: Add BSD licence.
3581 * include/grub/i386/bsd.h: Parts under different licences moved to ...
3582 * include/grub/i386/freebsd_linker.h: ... here,
3583 * include/grub/i386/freebsd_reboot.h: ... here,
3584 * include/grub/i386/netbsd_bootinfo.h: ... here,
3585 * include/grub/i386/netbsd_reboot.h: ... here,
3586 * include/grub/i386/openbsd_bootarg.h: ... here,
3587 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
3588 licence to each file.
3589
b2cab848
RM
35902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3591
3592 * acinclude.m4: Remove `nop' assembly instruction; it's not
3593 implemented by all architectures.
3594
2cb6be4b
RM
35952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3596
3597 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
3598 ELILO. This is no longer necessary.
3599
a2eaee15
BC
36002010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
3601
3602 Added new tool, grub-scrit-check to verify grub.cfg syntax.
3603
3604 * util/grub-script-check.c: grub-script-check tool.
3605 * conf/common.rmk: Make rules for grub-script-check.
3606
88d17012
RM
36072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3608
3609 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
3610 spotting it back in 2008. Shame on me for forgetting he did.
3611
3612 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
3613
8040619d
RM
36142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3615
3616 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
3617 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
3618 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
3619 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
3620 (GRUB_VIDEO_TYPE_EFI): Rename to ...
3621 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
3622
a0c2a0f6
RM
36232010-01-17 Robert Millan <rmh.grub@aybabtu.com>
3624
3625 * include/grub/test.h: Add license header.
3626 * tests/example_functional_test.c: Likewise.
3627 * tests/example_unit_test.c: Likewise.
3628 * tests/lib/functional_test.c: Likewise.
3629 * tests/lib/test.c: Likewise.
3630 * tests/lib/unit_test.c: Likewise.
3631
b0b13907
VS
36322010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Use flag-based instead of hook-based video mode selection and "auto"
3635 keyword.
3636
3637 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
3638 (grub_video_set_mode): Changed prototype. All users updated.
3639 (grub_video_check_mode_flag): New inline function.
3640 * video/video.c (parse_modespec): New function.
3641 (grub_video_set_mode): Parse flags and keywords.
3642
ea379330 36432010-01-17 Carles Pina i Estany <carles@pina.cat>
3644
3645 * util/misc.c (grub_util_info): Fix the order of the parameters in a
3646 fprintf call.
3647
e15c215e
FZ
36482010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3649
3650 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
3651
409ae1c9 36522010-01-16 Carles Pina i Estany <carles@pina.cat>
3653
3654 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
3655 string.
3656 * util/grub-emu.c (usage): Likewise.
3657 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
3658 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3659 * util/i386/pc/grub-mkimage.c (usage): Likewise.
3660 * util/i386/pc/grub-setup.c (usage): Likewise.
3661
70a14d3d 36622010-01-16 Carles Pina i Estany <carles@pina.cat>
3663
3664 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
3665 the message.
3666 (grub_util_info): Likewise.
3667 (grub_util_error): Likewise.
3668 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
3669 and/or new lines in `grub_util_warna', `grub_util_info',
3670 `grub_util_error' calls.
3671 * util/getroot.c: Likewise.
3672 * util/grub-editenv.c: Likewise.
3673 * util/grub-emu.c: Likewise.
3674 * util/grub-fstest.c: Likewise.
3675 * util/grub-mkdevicemap.c: Likewise.
3676 * util/grub-mkfont.c: Likewise.
3677 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3678 * util/grub-mkrelpath.c: Likewise.
3679 * util/grub-pe2elf.c: Likewise.
3680 * util/grub-probe.c: Likewise.
3681 * util/hostdisk.c: Likewise.
3682 * util/i386/efi/grub-mkimage.c: Likewise.
3683 * util/i386/pc/grub-mkimage.c: Likewise.
3684 * util/i386/pc/grub-setup.c: Likewise.
3685 * util/ieee1275/ofpath.c: Likewise.
3686 * util/mkisofs/eltorito.c: Likewise.
3687 * util/mkisofs/rock.c: Likewise.
3688 * util/mkisofs/write.c: Likewise.
3689 * util/raid.c: Likewise.
3690 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3691 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3692
a0b766fc
VS
36932010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 Enable multiboot on non-pc.
3696
3697 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
3698 multiboot.mod and multiboot2.mod to ...
3699 * conf/i386.rmk (pkglib_MODULES): ... here.
3700 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
3701 Moved to ...
3702 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
3703 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
3704 Moved to ...
3705 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
3706 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
3707 Moved to ...
3708 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
3709 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
3710 Moved to ...
3711 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
3712 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
3713 relocator.mod.
3714 (ata_mod_SOURCES): Removed.
3715 (ata_mod_CFLAGS): Likewise.
3716 (ata_mod_LDFLAGS): Likewise.
3717 (relocator_mod_SOURCES): Removed.
3718 (relocator_mod_CFLAGS): Likewise.
3719 (relocator_mod_ASFLAGS): Likewise.
3720 (relocator_mod_LDFLAGS): Likewise.
3721 Include i386.mk.
3722 * include/grub/x86_64/multiboot.h: New file.
3723 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
3724 Terminate EFI.
3725
884ade56
VS
37262010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 Video multiboot support.
3729
3730 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
3731 New prototype.
3732 * include/multiboot.h: Resynced with multiboot specification.
3733 * include/multiboot2.h: Likewise.
3734 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
3735 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
3736 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
3737 (HAS_VGA_TEXT): Likewise.
3738 (accepts_video): New variable.
3739 (grub_multiboot_set_accepts_video): New function.
3740 (grub_multiboot_get_mbi_size): Account for video structures.
3741 (set_video_mode): New function.
3742 (retrieve_video_parameters): Likewise.
3743 (grub_multiboot_make_mbi): Fill video fields.
3744
0d90e8a6
VS
37452010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 Video driver ids.
3748
3749 * include/grub/video.h (grub_video_driver_id): New type.
3750 (grub_video_adapter): New member 'id'. All users updated.
3751 (grub_video_get_driver_id): New proto.
3752 * video/video.c (grub_video_get_driver_id): New function.
3753
5c71db1b 37542010-01-14 Carles Pina i Estany <carles@pina.cat>
3755
3756 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
3757 `var=val'.
3758
cca15b52 37592010-01-14 Carles Pina i Estany <carles@pina.cat>
3760
3761 * normal/cmdline.c (print_completion): Gettextizze.
3762
c586fbb2 37632001-01-14 Carles Pina i Estany <carles@pina.cat>
3764
3765 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
3766
ba2f6848 37672010-01-14 Carles Pina i Estany <carles@pina.cat>
3768
3769 * gettext/gettext.c (grub_gettext_translate): Push and pop
3770 grub_errno.
3771 (grub_gettext_delete_list): Change comment style.
3772 * kern/err.c (grub_error): Gettextizze.
3773 (grub_fatal): Gettextizze.
3774
0a46429a
RM
37752010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3776
3777 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
3778 (grub_linux16_real_boot): ... this.
3779 * kern/i386/loader.S: Likewise.
3780 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
3781 (grub_linux16_boot): New function. Switches to text mode and calls
3782 grub_linux16_real_boot().
3783
3784 * loader/i386/bsd.c: Include `<grub/video.h>'.
3785 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
3786 text mode before calling grub_unix_real_boot().
3787
3788 * loader/i386/multiboot.c: Include `<grub/video.h>'.
3789 (grub_multiboot_boot): Switch to text mode before calling
3790 grub_relocator32_boot().
3791
3792 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
3793 (grub_chainloader_boot): Switch to text mode before calling
3794 grub_chainloader_real_boot().
3795
d6f93a66
RM
37962010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
37972010-01-05 Colin Watson <cjwatson@ubuntu.com>
3798
3799 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
3800 non-empty value.
3801
38022010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
38032010-01-05 Colin Watson <cjwatson@ubuntu.com>
3804
3805 * util/grub.d/00_header.in: Define a "savedefault" function for use
3806 in menu entries.
3807 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
3808
38092010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
38102010-01-05 Colin Watson <cjwatson@ubuntu.com>
3811
3812 * util/grub-mkconfig_lib.in (save_default_entry): Only set
3813 saved_entry if boot_once is unset.
3814 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
3815 previous saved entry (i.e. grub-reboot).
3816
38172009-12-08 Colin Watson <cjwatson@ubuntu.com>
3818
3819 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
3820
38212009-12-08 Colin Watson <cjwatson@ubuntu.com>
3822
3823 * util/grub.d/00_header.in: Use `set var=val' rather than plain
3824 `var=val'.
3825 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
3826
38272009-12-08 Colin Watson <cjwatson@ubuntu.com>
3828
3829 * util/grub-reboot.in: Fix --version output.
3830 * util/grub-set-default.in: Likewise.
3831
38322009-12-08 Colin Watson <cjwatson@ubuntu.com>
3833
3834 * util/grub.d/00_header.in: Silently ignore zero-sized environment
3835 blocks.
3836
38372009-12-08 Colin Watson <cjwatson@ubuntu.com>
3838
3839 * util/grub.d/00_header.in: Quote the value assigned to `default',
3840 in case it contains spaces.
3841
38422009-12-08 Colin Watson <cjwatson@ubuntu.com>
3843
3844 * util/grub.d/30_os-prober.in: Fix merge error that moved a
3845 `save_default_entry' call from the macosx case to the linux case.
3846
38472009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
38482009-10-25 Colin Watson <cjwatson@ubuntu.com>
3849
3850 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
3851 in `chosen' environment variable.
3852 * normal/menu_text.c (get_entry_number): Check if the variable
3853 matches the title of a menu entry.
3854 (run_menu): Pass menu to get_entry_number.
3855
3856 * util/grub-reboot.in: New file.
3857 * util/grub-set-default.in: New file.
3858 * conf/common.rmk (grub-reboot): New utility.
3859 (grub-set-default): New utility.
3860
3861 * util/grub-mkconfig_lib.in (save_default_entry): New function.
3862 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
3863 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
3864 move it to `saved_entry' for the next boot. Load environment on
3865 initialisation.
3866 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
3867 * util/grub.d/10_hurd.in: Likewise.
3868 * util/grub.d/10_linux.in (linux_entry): Likewise.
3869 * util/grub.d/10_windows.in: Likewise.
3870 * util/grub.d/30_os-prober.in: Likewise.
3871
3872 * util/grub-install.in: Create environment block.
3873 * util/i386/efi/grub-install.in: Likewise.
3874 * util/ieee1275/grub-install.in: Likewise.
3875 * util/sparc64/ieee1275/grub-install.in: Likewise.
3876
0934d184
BC
38772010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
3878
3879 Unit testing framework for GRUB.
3880
3881 * Makefile.in: Test framework build rules for 'make check'.
3882 * conf/tests.rmk: Build rules for individual tests and framework.
3883
3884 * include/grub/test.h: Header file for whitebox tests.
3885 * tests/lib/functional_test.c: Framework support for whitebox
3886 functional tests.
3887 * tests/lib/test.c: Common whitebox testing code for unit and
3888 functional tests.
3889 * tests/lib/unit_test.c: Framework support for whitebox unit
3890 tests.
3891
3892 * tests/util/grub-shell-tester.in: Support utility for grub-script
3893 tests.
3894 * tests/util/grub-shell.in: Utility to execute grub-script
3895 commands in a Qemu instance.
3896
3897 * tests/example_functional_test.c: Example whitebox functional
3898 test.
3899 * tests/example_grub_script_test.in: Example grub-script test.
3900 * tests/example_scripted_test.in: Example scripted test.
3901 * tests/example_unit_test.c: Example whitebox unit test.
3902
9c4ffeeb
VS
39032010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
3906 Add loader/i386/multiboot_mbi.c.
3907 (multiboot2_mod_SOURCES): Likewise.
3908 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
3909 (multiboot2_mod_SOURCES): Likewise.
3910 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
3911 (grub_multiboot_make_mbi): Likewise.
3912 (grub_multiboot_free_mbi): Likewise.
3913 (grub_multiboot_init_mbi): Likewise.
3914 (grub_multiboot_add_module): Likewise.
3915 (grub_multiboot_set_bootdev): Likewise.
3916 * loader/i386/multiboot.c (mbi): Removed.
3917 (mbi_dest): Likewise.
3918 (alloc_mbi): New variable.
3919 (grub_multiboot_payload_size): Removed. All users updated.
3920 (grub_multiboot_pure_size): New variable.
3921 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
3922 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
3923 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
3924 (grub_fill_multiboot_mmap): Likewise.
3925 (grub_multiboot_get_bootdev): Likewise.
3926 (grub_multiboot): Use multiboot_mbi functions.
3927 * loader/i386/multiboot_mbi.c: New file.
3928
17383dfe
VS
39292010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
3932 it would result in module crash.
3933
c1f28820
VS
39342010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
3937 (grub_ofconsole_getwh): Split to ...
3938 (grub_ofconsole_getwh): ... this.
3939 (grub_ofconsole_dimensions): ...and this.
3940 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
3941
58655a16
RM
39422010-01-13 Robert Millan <rmh.grub@aybabtu.com>
3943
3944 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
3945
10891398
VS
39462010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * loader/i386/pc/multiboot2.c: Removed stalled file.
3949
0b8a223c
VS
39502010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
3953 Reported by: Grégoire Sutre
3954
92ab12b0
RM
39552010-01-11 Robert Millan <rmh.grub@aybabtu.com>
3956
3957 * util/misc.c (canonicalize_file_name): New function.
3958 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
3959 instead of realpath().
3960
a788afb6
CW
39612010-01-11 Colin Watson <cjwatson@ubuntu.com>
3962
3963 * util/grub-install.in (usage): Clarify meaning of --root-directory,
3964 and make it clearer that it's optional. Based on confusion
3965 witnessed on IRC.
3966
ffa8e3d2
VS
39672010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
3970 in premature implicit newline.
3971
e9060a9d
VS
39722010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3975 which resulted in garbled command line at the end of screen.
3976
f0d0c0b7
RM
39772010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3978
3979 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
3980 initialization with similar approach as with other Linux loaders.
3981
0e60bae7
RM
39822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3983
3984 Fix i386-ieee1275 build.
3985
3986 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
3987 and grub_term_height() for video_{width,height} initialization.
3988
39892010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
3990
3991 Fix grub-emu build.
3992
3993 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
3994
cdb3f378
RM
39952010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
39962010-01-09 Robert Millan <rmh.grub@aybabtu.com>
3997
3998 Support for multiple terminals.
3999
4000 * Makefile.in (pkglib_DATA): terminal.lst.
4001 (terminal.lst): New target.
4002 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4003 (GRUB_MOD_INIT(handler)): Likewise.
4004 (GRUB_MOD_FINI(handler)): Likewise.
4005 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4006 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4007 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4008 (grub_cmd_sleep): Use grub_term_save_pos.
4009 * commands/terminal.c: New file.
4010 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4011 commands/terminal.c and lib/charset.c.
4012 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4013 (pkglib_MODULES): Add terminal.mod.
4014 (terminal_mod_SOURCES): New variable.
4015 (terminal_mod_CFLAGS): Likewise.
4016 (terminal_mod_LDFLAGS): Likewise.
4017 * genhandlerlist.sh: Don't handle terminals.
4018 * genmk.rb: Generate terminal-*.lst.
4019 * genterminallist.sh: New file.
4020 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4021 (grub_is_valid_utf8): Likewise.
4022 (grub_utf8_to_ucs4_alloc): Likewise.
4023 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4024 (grub_menu_register_viewer): Changed argument.
4025 (grub_menu_try_text): New proto.
4026 (grub_gfxmenu_try_hook): New declaration.
4027 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4028 (grub_menu_init_page): Additional argument term.
4029 (grub_normal_init_page): Likewise.
4030 (grub_cmdline_get): Arguments simplified.
4031 (grub_utf8_to_ucs4_alloc): Removed.
4032 (grub_print_ucs4): Additional argument term.
4033 (grub_getstringwidth): Likewise.
4034 (grub_print_message_indented): Likewise.
4035 (grub_menu_text_register_instances): New proto.
4036 (grub_show_menu): Likewise.
4037 (read_terminal_list): Likewise.
4038 (grub_set_more): Likewise.
4039 * include/grub/parser.h: Include handler.h.
4040 * include/grub/reader.h: Rewritten.
4041 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4042 (GRUB_TERM_WIDTH): Changed to function.
4043 (GRUB_TERM_HEIGHT): Likewise.
4044 (GRUB_TERM_BORDER_WIDTH): Likewise.
4045 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4046 (GRUB_TERM_NUM_ENTRIES): Likewise.
4047 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4048 (GRUB_TERM_CURSOR_X): Likewise.
4049 (grub_term_input_class): Likewise.
4050 (grub_term_output_class): Likewise.
4051 (grub_term_outputs_disabled): New declaration.
4052 (grub_term_inputs_disabled): Likewise.
4053 (grub_term_outputs): Likewise.
4054 (grub_term_inputs): Likewise.
4055 (grub_term_register_input): Rewritten.
4056 (grub_term_register_output): Likewise.
4057 (grub_term_unregister_input): Likewise.
4058 (grub_term_unregister_output): Likewise.
4059 (FOR_ACTIVE_TERM_INPUTS): New macro.
4060 (FOR_DISABLED_TERM_INPUTS): Likewise.
4061 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4062 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4063 * include/grub/terminfo.h: Add oterm argument to all protypes.
4064 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4065 Use grub_rescue_run.
4066 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4067 All users updated.
4068 * kern/reader.c: Removed. All users updated.
4069 * kern/rescue_reader.c (grub_rescue_init): Removed.
4070 (grub_rescue_reader): Likewise.
4071 (grub_register_rescue_reader): Likewise.
4072 (grub_rescue_run): New function based on kern/reader.c.
4073 * kern/term.c: Adapted for multiterm.
4074 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4075 (grub_is_valid_utf8): Likewise.
4076 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4077 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4078 right terminal.
4079 * loader/i386/linux.c (grub_linux_boot): Likewise.
4080 * normal/auth.c (grub_username_get): New function.
4081 (grub_auth_check_authentication): Use grub_username_get.
4082 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4083 * normal/color.c: Adapt for multiterm.
4084 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4085 (grub_normal_init_page): Additional argument term.
4086 (read_lists): Call read_terminal_lists.
4087 (grub_enter_normal_mode): Call grub_cmdline_run.
4088 Handle grub_normal_exit_level.
4089 (grub_cmd_normal): Make reentrant.
4090 (grub_cmd_normal_exit): New function.
4091 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4092 * normal/menu.c: Adapt for multiterm.
4093 * normal/menu_entry.c: Likewise.
4094 * normal/menu_text.c: Likewise.
4095 * normal/menu_viewer.c: Removed. All users updated.
4096 * normal/term.c: New file.
4097 * util/console.c: Change order of includes to workaround a bug in
4098 ncurses headers.
4099 * term/terminfo.c: New argument oterm on all exported functions.
4100 All users updated.
4101 * util/grub-editenv.c (grub_term_input_class): Removed.
4102 (grub_term_output_class): Likewise.
4103
1a064917
RM
41042010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4105
4106 Make loader output a bit more user-friendly.
4107
4108 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4109 is being loaded. Likewise for the Hurd.
4110
4111 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4112 that kernel of FreeBSD ${version} is being loaded.
4113
4114 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4115 grub_dprintf().
4116 (grub_cmd_initrd): Likewise.
4117 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4118 that Linux ${version} is being loaded. Likewise for initrd.
4119
5ce0a83a 41202010-01-09 Carles Pina i Estany <carles@pina.cat>
4121
4122 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4123
809bbfeb 41242010-01-08 Carles Pina i Estany <carles@pina.cat>
4125
4126 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4127 (GRUB_MOD_INIT): Gettextizze.
4128 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4129 (GRUB_MOD_INIT): Gettextizze.
4130 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4131 (grub_cmd_linux): Capitalise Linux.
4132 (GRUB_MOD_INIT): Gettextizze.
4133 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4134 (grub_cmd_linux): Capitalise Linux.
4135 (GRUB_MOD_INIT): Gettextizze.
4136 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4137 (grub_cmd_linux): Capitalise Linux.
4138 (GRUB_MOD_INIT): Gettextizze.
4139 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4140 (GRUB_MOD_INIT): Gettextizze.
4141 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4142 (grub_cmd_linux): Capitalise Linux.
4143 (GRUB_MOD_INIT): Gettextizze.
4144 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4145 (grub_cpu_xnu_init): Gettextizze.
4146 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4147 (GRUB_MOD_INIT): Gettextizze.
4148 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4149 (GRUB_MOD_INIT): Gettextizze.
4150 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4151 (grub_linux_load64): Capitalise Linux.
4152 (GRUB_MOD_INIT): Gettextizze.
4153 * loader/xnu.c: Include `<grub/i18n.h>'.
4154 (GRUB_MOD_INIT): Gettextizze.
4155 * po/POTFILES: Add `loader/efi/appleloader.c',
4156 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4157 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4158 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4159 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4160 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4161 and `loader/xnu.c'.
4162
b394b2ca
RM
41632010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4164
4165 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4166
41672010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
4168
4169 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4170 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4171 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4172
bc8b32b3
RM
41732010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4174
4175 Reset Multiboot 2 support. New loader implements the draft in
4176 /branches/multiboot2 and shares as much code as possible with the
4177 production Multiboot 1 implementation.
4178
4179 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
4180 * loader/multiboot2.c: Likewise.
4181 * loader/i386/multiboot_helper.S: Likewise.
4182 * include/multiboot2.h: Replace with latest version from the draft
4183 in /branches/multiboot2.
4184
4185 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
4186 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
4187 and `loader/multiboot2.c'.
4188 (pkglib_MODULES): Add `multiboot2.mod'.
4189 (multiboot2_mod_SOURCES): New variable.
4190 (multiboot2_mod_LDFLAGS): Likewise.
4191 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
4192
4193 * conf/i386-pc.rmk: Likewise.
4194
4195 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4196 (multiboot_mod_SOURCES): Remove variable.
4197 (multiboot_mod_LDFLAGS): Likewise.
4198 (multiboot_mod_CFLAGS): Likewise.
4199
4200 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
4201 `<multiboot2.h>' instead of `<multiboot.h>'.
4202 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
4203 (MULTIBOOT_HEADER_MAGIC): New macros.
4204
4205 * loader/multiboot_loader.c (module_version_status): Remove variable.
4206 (find_multi_boot2_header): Remove function.
4207 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
4208 logic. Always check for the Multiboot version we're compiling for.
4209 (grub_cmd_module_loader): Likewise.
4210 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
4211 command instead of `multiboot'.
4212
5d2c52b8
RM
42132010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4214
4215 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
4216 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
4217 all users.
4218
53108d92
RM
42192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
42202010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 Fix breakage introduced with previous commit.
4223
4224 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
4225 commands.
4226 * normal/handler.c (read_handler_list): Revert part of previous commit
4227 affecting this file.
4228 * normal/main.c (read_lists): Move read_handler_list() call back to ...
4229 (grub_normal_execute): ... here.
4230
e2e936b2
RM
42312010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4232
4233 Merge prefix-redefinition-fix branch.
4234
4235 * normal/autofs.c (read_fs_list): Make function capable of being
4236 run multiple times, gracefuly replacing the previous data
4237 structures.
4238 * normal/dyncmd.c (read_command_list): Likewise.
4239 * normal/handler.c (read_handler_list): Likewise.
4240 * normal/main.c (read_lists): New function. Calls all the
4241 list reading functions.
4242 (grub_normal_execute): Use read_lists() instead of calling all
4243 list reading functions explicitly. Register read_lists() as a
4244 variable hook attached to ${prefix}.
4245
607a3701
VS
42462010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 Merge crypto branch.
4249
4250 * Makefile.in (pkglib_DATA): Add crypto.lst.
4251 (crypto.lst): New target.
4252 * commands/hashsum.c: New file.
4253 * commands/password.c (check_password): Use grub_crypto_memcmp.
4254 * commands/password_pbkdf2.c: New file.
4255 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
4256 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
4257 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
4258 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
4259 -I$(srcdir)/lib/libgcrypt_wrap.
4260 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
4261 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
4262 password_pbkdf2.mod.
4263 (crypto_mod_SOURCES): New variable.
4264 (crypto_mod_CFLAGS): Likewise.
4265 (crypto_mod_LDFLAGS): Likewise.
4266 (hashsum_mod_SOURCES): New variable.
4267 (hashsum_mod_CFLAGS): Likewise.
4268 (hashsum_mod_LDFLAGS): Likewise.
4269 (pbkdf2_mod_SOURCES): New variable.
4270 (pbkdf2_mod_CFLAGS): Likewise.
4271 (pbkdf2_mod_LDFLAGS): Likewise.
4272 (password_pbkdf2_mod_SOURCES): New variable.
4273 (password_pbkdf2_mod_CFLAGS): Likewise.
4274 (password_pbkdf2_mod_LDFLAGS): Likewise.
4275 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
4276 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
4277 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
4278 Include conf/gcry.rmk.
4279 * include/grub/auth.h: Rewritten.
4280 * include/grub/crypto.h: New file.
4281 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
4282 * include/grub/normal.h (read_crypto_list): New prototype.
4283 * lib/crypto.c: New file.
4284 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4285 * lib/pbkdf2.c: Likewise.
4286 * normal/auth.c (grub_auth_strcmp): Removed.
4287 (grub_iswordseparator): Likewise.
4288 (grub_auth_strword): Likewise.
4289 (is_authenticated): Use grub_strword.
4290 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
4291 and grub_strword. Pass entered password to authentication callback.
4292 * normal/crypto.c: New file.
4293 * normal/main.c: Call read_crypto_list.
4294 * util/grub-mkpasswd-pbkdf2.c: New file.
4295 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
4296
42841caa
VS
42972010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 Fix descent and ascent calculation.
4300
4301 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
4302 (options): New option "asce".
4303 (usage): Likewise.
4304 (add_char): Ignore invalid glyphs for descent calculation.
4305 Calculate ascent from actual content.
4306 (print_glyphs): Use 'asce'.
4307 (write_font): Likewise. Allow ascent override.
4308 (main): Handle "asce" option.
4309
e7730de7 43102010-01-06 Carles Pina i Estany <carles@pina.cat>
4311
4312 * kern/err.c: Include `<grub/i18n.h>'.
4313 (grub_print_error): Add full stop. Gettextizze.
4314 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
4315 (grub_bsd_load_elf): Capitalise ELF.
4316 (grub_cmd_freebsd_loadenv): Add `s' in error string.
4317 (grub_cmd_freebsd_module): Likewise.
4318 (grub_cmd_freebsd_module_elf): Likewise.
4319 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
4320
40e3a41f 43212010-01-06 Carles Pina i Estany <carles@pina.cat>
4322
4323 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
4324 * commands/search_file.c (HELP_MESSAGE): New macro.
4325 * commands/search_label.c (HELP_MESSAGE): Likewise.
4326 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
4327 * po/POTFILES: Add `commands/search_file.c',
4328 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
4329 `commands/search.c'.
4330
83507e68
RM
43312010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4332
4333 * config.rpath: Update from Gnulib.
4334
465c787b
YB
43352010-01-05 Yves Blusseau <blusseau@zetam.org>
4336
4337 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
4338
6581dd3a
YB
43392010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
4340
4341 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
4342
3bff18c5
CW
43432010-01-05 Colin Watson <cjwatson@ubuntu.com>
4344
4345 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
4346 arguments to fread so that we get a return value in bytes, rather
4347 than something that will normally be rounded down to 0.
4348 Adjust error handling to avoid producing garbage when size_t is not
4349 the same size as long long.
4350
a1368118
CW
43512010-01-05 Colin Watson <cjwatson@ubuntu.com>
4352
4353 * util/mkisofs/write.c (padblock_write): Check return value of
4354 fread.
4355
7c302978
RM
43562010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4357
4358 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
4359 floppy images now.
4360
4361 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
4362
e33ace06
RM
43632010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4364
4365 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
4366 instead of manual alignment.
4367 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
4368 verbose). Avoid attempts to read past end of the device
4369 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
4370 but GRUB_DISK_CACHE_SIZE may exceed that).
4371
4b856776
RM
43722010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4373
4374 * commands/crc.c (grub_cmd_crc): Abort on read errors.
4375 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
4376 it to upper layer.
4377
52c2d97f
VS
43782010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
4381 New constant.
4382 (grub_efi_piwg_device_path): New structure
4383 (grub_efi_piwg_device_path_t): New type.
4384 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
4385 (devpath_1): Transform to a structure. All users updated.
4386 (devpath_2): Likewise.
4387 (devpath_3): Likewise.
4388 (devpath_4): Likewise.
4389 (devpath_5): Likewise.
4390
98ff6a54
VS
43912010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * loader/efi/appleloader.c: Restored. Update all users.
4394
3a73dcb6
RM
43952010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4396
4397 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
4398
4399 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
4400 (struct boot_blocklist): Move from here ...
4401 * include/grub/i386/pc/boot.h [ASM_FILE]
4402 (struct grub_boot_blocklist): ... to here. Update all users.
4403 (setup): Only initialize `start' member of `first_block'
4404 structure. Add assert() calls to verify the other members.
4405
4406 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
4407 (generate_image): Fix broken blocklist length initialization.
4408 Add assert() call to verify blocklist `segment' field.
4409
ab0eeb0c
RM
44102010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4411
4412 * loader/efi/appleloader.c: Remove. Update all users.
4413
58bc8bd5
RM
44142010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4415
4416 * boot/i386/pc/boot.S: Update copyright year.
4417 * boot/i386/pc/cdboot.S: Likewise.
4418 * boot/i386/pc/diskboot.S: Likewise.
4419 * boot/i386/pc/lnxboot.S: Likewise.
4420 * boot/i386/pc/pxeboot.S: Likewise.
4421 * bus/pci.c: Likewise.
4422 * commands/cmp.c: Likewise.
4423 * commands/help.c: Likewise.
4424 * commands/hexdump.c: Likewise.
4425 * commands/i386/pc/halt.c: Likewise.
4426 * commands/i386/pc/play.c: Likewise.
4427 * commands/i386/pc/vbeinfo.c: Likewise.
4428 * commands/ls.c: Likewise.
4429 * commands/test.c: Likewise.
4430 * disk/dmraid_nvidia.c: Likewise.
4431 * disk/i386/pc/biosdisk.c: Likewise.
4432 * disk/ieee1275/nand.c: Likewise.
4433 * disk/ieee1275/ofdisk.c: Likewise.
4434 * disk/lvm.c: Likewise.
4435 * disk/raid.c: Likewise.
4436 * disk/raid6_recover.c: Likewise.
4437 * disk/scsi.c: Likewise.
4438 * fs/affs.c: Likewise.
4439 * fs/cpio.c: Likewise.
4440 * fs/ext2.c: Likewise.
4441 * fs/hfs.c: Likewise.
4442 * fs/iso9660.c: Likewise.
4443 * fs/ntfs.c: Likewise.
4444 * fs/sfs.c: Likewise.
4445 * fs/udf.c: Likewise.
4446 * fs/ufs.c: Likewise.
4447 * fs/xfs.c: Likewise.
4448 * gencmdlist.sh: Likewise.
4449 * genmk.rb: Likewise.
4450 * include/grub/disk.h: Likewise.
4451 * include/grub/efi/api.h: Likewise.
4452 * include/grub/efi/efi.h: Likewise.
4453 * include/grub/efi/pe32.h: Likewise.
4454 * include/grub/elf.h: Likewise.
4455 * include/grub/fs.h: Likewise.
4456 * include/grub/i386/at_keyboard.h: Likewise.
4457 * include/grub/i386/pc/memory.h: Likewise.
4458 * include/grub/i386/pc/vbe.h: Likewise.
4459 * include/grub/i386/pci.h: Likewise.
4460 * include/grub/i386/tsc.h: Likewise.
4461 * include/grub/ieee1275/ieee1275.h: Likewise.
4462 * include/grub/ntfs.h: Likewise.
4463 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
4464 * include/grub/sparc64/libgcc.h: Likewise.
4465 * include/grub/symbol.h: Likewise.
4466 * include/grub/types.h: Likewise.
4467 * include/multiboot2.h: Likewise.
4468 * io/gzio.c: Likewise.
4469 * kern/device.c: Likewise.
4470 * kern/disk.c: Likewise.
4471 * kern/efi/efi.c: Likewise.
4472 * kern/efi/mm.c: Likewise.
4473 * kern/elf.c: Likewise.
4474 * kern/file.c: Likewise.
4475 * kern/i386/dl.c: Likewise.
4476 * kern/i386/pc/init.c: Likewise.
4477 * kern/i386/pc/startup.S: Likewise.
4478 * kern/ieee1275/ieee1275.c: Likewise.
4479 * kern/ieee1275/init.c: Likewise.
4480 * kern/main.c: Likewise.
4481 * kern/mm.c: Likewise.
4482 * kern/powerpc/dl.c: Likewise.
4483 * kern/sparc64/dl.c: Likewise.
4484 * kern/x86_64/dl.c: Likewise.
4485 * lib/hexdump.c: Likewise.
4486 * loader/efi/appleloader.c: Likewise.
4487 * loader/i386/ieee1275/linux.c: Likewise.
4488 * loader/i386/pc/chainloader.c: Likewise.
4489 * loader/i386/pc/linux.c: Likewise.
4490 * loader/i386/pc/multiboot2.c: Likewise.
4491 * loader/ieee1275/multiboot2.c: Likewise.
4492 * loader/multiboot2.c: Likewise.
4493 * loader/multiboot_loader.c: Likewise.
4494 * loader/powerpc/ieee1275/linux.c: Likewise.
4495 * normal/completion.c: Likewise.
4496 * normal/menu_entry.c: Likewise.
4497 * partmap/apple.c: Likewise.
4498 * util/grub.d/10_hurd.in: Likewise.
4499 * util/hostfs.c: Likewise.
4500 * video/readers/png.c: Likewise.
4501
e2d70b5c
CW
45022010-01-03 Colin Watson <cjwatson@ubuntu.com>
4503
4504 * include/grub/misc.h (GNUC_PREREQ): New macro.
4505 (ATTRIBUTE_ERROR): New macro.
4506 * include/grub/list.h (grub_bad_type_cast_real): Use
4507 ATTRIBUTE_ERROR.
4508
a173283f 45092010-01-03 Carles Pina i Estany <carles@pina.cat>
4510
4511 * normal/menu_text.c (print_message): Change messages.
4512
7fa7ff74 45132010-01-03 Carles Pina i Estany <carles@pina.cat>
4514
4515 * normal/menu_entry.c (store_completion): Gettextizze.
4516
136d24f6 45172010-01-03 Carles Pina i Estany <carles@pina.cat>
4518
4519 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
4520
f936862e 45212010-01-03 Carles Pina i Estany <carles@pina.cat>
4522
4523 * po/POTFILES: Sort correctly.
4524
29c44ad1 45252010-01-03 Carles Pina i Estany <carles@pina.cat>
4526
4527 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
4528 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
4529 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
4530 full stop.
4531 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
4532 summary. Gettextizze the strings.
4533 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
4534 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
4535 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
4536 full stop.
4537 (GRUB_MOD_INIT): Remove command name from summary.
4538 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
4539 summary.
4540 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
4541 * term/i386/pc/serial.c (options): Add full stops.
4542 (GRUB_MOD_INIT): Remove command name from the summary.
4543
77a79592 45442010-01-03 Carles Pina i Estany <carles@pina.cat>
4545
4546 * commands/acpi.c: Gettextizze help strings and/or options. Include
4547 `grub/i18n.h' if needed.
4548 * commands/blocklist.c: Likewise.
4549 * commands/boot.c: Likewise.
4550 * commands/cat.c: Likewise.
4551 * commands/cmp.c: Likewise.
4552 * commands/configfile.c: Likewise.
4553 * commands/crc.c: Likewise.
4554 * commands/date.c: Likewise.
4555 * commands/echo.c: Likewise.
4556 * commands/efi/fixvideo.c: Likewise.
4557 * commands/efi/loadbios.c: Likewise.
4558 * commands/gptsync.c: Likewise.
4559 * commands/halt.c: Likewise.
4560 * commands/handler.c: Likewise.
4561 * commands/hdparm.c: Likewise.
4562 * commands/hexdump.c: Likewise.
4563 * commands/i386/cpuid.c: Likewise.
4564 * commands/i386/pc/drivemap.c: Likewise.
4565 * commands/i386/pc/halt.c: Likewise.
4566 * commands/i386/pc/pxecmd.c: Likewise.
4567 * commands/i386/pc/vbeinfo.c: Likewise.
4568 * commands/i386/pc/vbetest.c: Likewise.
4569 * commands/ieee1275/suspend.c: Likewise.
4570 * commands/keystatus.c: Likewise.
4571 * commands/loadenv.c: Likewise.
4572 * commands/ls.c: Likewise.
4573 * commands/lsmmap.c: Likewise.
4574 * commands/lspci.c: Likewise.
4575 * commands/memrw.c: Likewise.
4576 * commands/minicmd.c: Likewise.
4577 * commands/parttool.c: Likewise.
4578 * commands/password.c: Likewise.
4579 * commands/probe.c: Likewise.
4580 * commands/read.c: Likewise.
4581 * commands/reboot.c: Likewise.
4582 * commands/search.c: Likewise.
4583 * commands/sleep.c: Likewise.
4584 * commands/test.c: Likewise.
4585 * commands/true.c: Likewise.
4586 * commands/usbtest.c: Likewise.
4587 * commands/videotest.c: Likewise.
4588 * commands/xnu_uuid.c: Likewise.
4589 * disk/loopback.c: Likewise.
4590 * hello/hello.c: Likewise.
4591 * loader/i386/bsd.c: Likewise.
4592 * term/i386/pc/serial.c: Likewise.
4593 * po/POTFILES: Add new files.
4594
da8d5c53
CW
45952010-01-02 Colin Watson <cjwatson@ubuntu.com>
4596
4597 * term/i386/pc/at_keyboard.c
4598 (keyboard_controller_wait_untill_ready): Rename to ...
4599 (keyboard_controller_wait_until_ready): ... this. Update all users.
4600
33937904 46012010-01-01 Carles Pina i Estany <carles@pina.cat>
4602
4603 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
4604 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
4605 string using string width.
4606 * normal/menu_text.c (grub_print_message_indented): Use
4607 grub_print_spaces and not print_spaces.
4608 (print_timeout): Likewise.
4609 (print_spaces): Move to...
4610 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
4611
3fd3b8d8
RM
46122010-01-01 Robert Millan <rmh.grub@aybabtu.com>
4613
4614 Import from Gnulib.
4615
4616 * gnulib/getdelim.c: New file.
4617 * gnulib/getline.c: Likewise.
4618
33433555
VS
46192009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
4620
4621 * include/grub/list.h (grub_assert_fail): Removed.
4622 (grub_bad_type_cast_real): New function.
4623 (grub_bad_type_cast): New macro.
4624 (GRUB_AS_LIST): Use grub_bad_type_cast.
4625 (GRUB_AS_LIST_P): Likewise.
e44721e8 4626 (GRUB_AS_NAMED_LIST): Likewise.
33433555 4627 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 4628 (GRUB_AS_PRIO_LIST): Likewise.
33433555 4629 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 4630 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 4631
f5a51306
VS
46322009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
4635 Fix syntax error.
4636
90d1e879
RM
46372009-12-29 Robert Millan <rmh.grub@aybabtu.com>
4638
4639 * configure.ac: Check for TARGET_CFLAGS initialization before we
4640 initialize it ourselves (sigh).
4641 Move a few modifications to TARGET_CFLAGS to be unconditional
4642 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
4643 eh_frame)
4644
4645 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
4646 * term/i386/pc/at_keyboard.c
4647 (keyboard_controller_wait_untill_ready): Likewise.
4648 (keyboard_controller_led): Rename `led_status' paramter to avoid
4649 name conflict.
4650
465b5a81 46512009-12-28 Carles Pina i Estany <carles@pina.cat>
4652
4653 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
4654 quotes.
4655
c181849b
VS
46562009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
4659
9c8739a4
VS
46602009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * normal/menu_text.c (grub_print_message_indented): Prevent
4663 past-the-end-of-array dereference.
4664
3e74249c
VS
46652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
4668 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
4669
64fd18ed 46702009-12-27 Carles Pina i Estany <carles@pina.cat>
4671
4672 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
4673 * normal/main.c (grub_normal_read_line): Remove a space from the
4674 default prompt.
4675
714af9b9 46762009-12-27 Carles Pina i Estany <carles@pina.cat>
4677
4678 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
4679 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4680 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4681 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4682 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4683 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4684 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4685
82f3e412 46862009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 4687
4688 * video/readers/jpeg.c (cmd): Declare.
4689 (grub_cmd_jpegtest): Use `grub_command_t' type.
4690 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4691 Assign to `cmd'.
4692 (GRUB_MOD_FINI): Use `cmd' to unregister.
4693 * video/readers/png.c (cmd): Declare.
4694 (grub_cmd_pngtest): Use `grub_command_t' type.
4695 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4696 Assign to `cmd'.
4697 (GRUB_MOD_FINI): Use `cmd' to unregister.
4698 * video/readers/tga.c (cmd): Declare.
4699 (grub_cmd_tgatest): Use `grub_command_t' type.
4700 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
4701 Assign to `cmd'.
4702 (GRUB_MOD_FINI): Use `cmd' to unregister.
4703
82f3e412 47042009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 4705
4706 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
4707 stops.
4708 * kern/corecmd.c (grub_register_core_commands): Likewise.
4709 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
4710 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4711 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
4712 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4713 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
4714 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
4715 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
4716 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
4717 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4718 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
4719 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4720 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4721 * normal/handler.c (insert_handler): Likewise.
4722 * normal/main.c (GRUB_MOD_INIT): Likewise.
4723 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
4724
fdcdbb66 47252009-12-26 Carles Pina i Estany <carles@pina.cat>
4726
4727 * commands/help.c (grub_cmd_help): Print the command name before the
4728 summary.
4729 (GRUB_MOD_INIT): Remove command name from the summary.
4730 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 4731 string as summary.
fdcdbb66 4732 * lib/arg.c (find_long): Print the command name before the summary.
4733 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
4734 summary.
4735 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
4736 * commands/cat.c (GRUB_MOD_INIT): Likewise.
4737 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
4738 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
4739 * commands/crc.c (GRUB_MOD_INIT): Likewise.
4740 * commands/date.c (GRUB_MOD_INIT): Likewise.
4741 * commands/echo.c (GRUB_MOD_INIT): Likewise.
4742 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
4743 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
4744 * commands/handler.c (GRUB_MOD_INIT): Likewise.
4745 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
4746 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
4747 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
4748 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
4749 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
4750 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
4751 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
4752 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
4753 * commands/ls.c (GRUB_MOD_INIT): Likewise.
4754 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
4755 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
4756 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
4757 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
4758 * commands/password.c (GRUB_MOD_INIT): Likewise.
4759 * commands/probe.c (GRUB_MOD_INIT): Likewise.
4760 * commands/read.c (GRUB_MOD_INIT): Likewise.
4761 * commands/search.c (GRUB_MOD_INIT): Likewise.
4762 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
4763 * commands/test.c (GRUB_MOD_INIT): Likewise.
4764 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
4765 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
4766 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
4767 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
4768 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
4769 * lib/arg.c (GRUB_MOD_INIT): Likewise.
4770 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
4771 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
4772 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
4773 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4774 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
4775 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
4776 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
4777 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
4778
9c288be2
VS
47792009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Use search command for preliminar UUID search.
4782
4783 * commands/search.c: Split into ...
4784 * commands/search_wrap.c: ...this
4785 * commands/search.c: ...and this.
4786 * commands/search_file.c: New file.
4787 * commands/search_label.c: New file.
4788 * commands/search_uuid.c: New file.
4789 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
4790 Add commands/search_wrap.c, commands/search_file.c,
4791 commands/search_label.c and commands/search_uuid.c.
4792 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
4793 (search_mod_SOURCES): Set to commands/search_wrap.c.
4794 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
4795 search_label.mod.
4796 (search_fs_file_mod_SOURCES): New variable.
4797 (search_fs_file_mod_CFLAGS): Likewise.
4798 (search_fs_file_mod_LDFLAGS): Likewise.
4799 (search_label_mod_SOURCES): Likewise.
4800 (search_label_mod_CFLAGS): Likewise.
4801 (search_label_mod_LDFLAGS): Likewise.
4802 (search_fs_uuid_mod_SOURCES): New variable.
4803 (search_fs_uuid_mod_CFLAGS): Likewise.
4804 (search_fs_uuid_mod_LDFLAGS): Likewise.
4805 (fs_file_mod_SOURCES): Removed.
4806 (fs_file_mod_CFLAGS): Likewise.
4807 (fs_file_mod_LDFLAGS): Likewise.
4808 (fs_uuid_mod_SOURCES): Removed.
4809 (fs_uuid_mod_CFLAGS): Likewise.
4810 (fs_uuid_mod_LDFLAGS): Likewise.
4811 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
4812 Set to util/grub-install.in.
4813 * disk/fs_file.c: Removed.
4814 * disk/fs_uuid.c: Likewise.
4815 * include/grub/search.h: New file.
4816 * util/grub-install.in: Handle sparc64.
4817 Create and use load.cfg.
4818 * util/sparc64/ieee1275/grub-install.in: Removed.
4819
db943399
VS
48202009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
4823 Ignore return status if CF is cleared.
4824 (grub_biosdisk_get_diskinfo_standard): Likewise.
4825
3fdae612
RM
48262009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4827
4828 * term/i386/pc/at_keyboard.c
4829 (keyboard_controller_wait_untill_ready): New function.
4830 (grub_keyboard_controller_write, grub_keyboard_controller_read)
4831 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
4832 for keyboard polling, rather than duplicate the same loop. This
4833 saves a few bytes in code size.
4834
7ebaa2b4
VS
48352009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 Support for (pxe[:server[:gateway]]) syntax and
4838 use environment variable for PXE.
4839
4840 * commands/i386/pc/pxecmd.c (options): Removed.
4841 (print_ip): Removed.
4842 (grub_cmd_pxe): Removed
4843 (grub_cmd_pxe_unload): New function.
4844 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
4845 (grub_pxe_your_ip): Made static.
4846 (grub_pxe_default_server_ip): Likewise.
4847 (grub_pxe_default_gateway_ip): Likewise.
4848 (grub_pxe_blksize): Likewise.
4849 (parse_ip): New function.
4850 (grub_pxe_open): Support server and gateway specification.
4851 (grub_pxe_close): Free disk->data.
4852 (grub_pxefs_open): Use disk->data.
4853 (grub_pxefs_read): Likewise.
4854 (grub_env_write_readonly): New function.
4855 (set_mac_env): Likewise.
4856 (set_env_limn_ro): Likewise.
4857 (parse_dhcp_vendor): Likewise.
4858 (grub_pxe_detect): Set the environment variables.
4859 (set_ip_env): New function.
4860 (write_ip_env): Likewise.
4861 (grub_env_write_pxe_default_server): Likewise.
4862 (grub_env_write_pxe_default_gateway): Likewise.
4863 (grub_env_write_pxe_blocksize): Likewise.
4864 (GRUB_MOD_INIT(pxe)): Set environment variables.
4865 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
4866 (grub_pxe_mac_addr_t): ... this. All users updated.
4867 (grub_pxe_your_ip): Removed.
4868 (grub_pxe_server_ip): Likewise.
4869 (grub_pxe_gateway_ip): Likewise.
4870 (grub_pxe_blksize): Likewise.
4871
ec5f98ab 48722009-12-25 Carles Pina i Estany <carles@pina.cat>
4873
4874 * commands/help.c: Include `<grub/i18n.h>'.
4875 (grub_cmd_help): Gettextizze.
4876 (GRUB_MOD_INIT): Likewise.
4877 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
4878 (GRUB_MOD_INIT): Gettextizze.
4879 * commands/search.c: Include `<grub/i18n.h>'.
4880 (options): Gettextizze.
4881 (GRUB_MOD_INIT): Gettextizze.
4882 * lib/arg.c: Include `<grub/i18n.h>'.
4883 (help_options): Gettextizze.
4884 (find_long): Likewise.
4885 (grub_arg_show_help): Likewise.
4886 * normal/dyncmd.c: Include `<grub/i18n.h>'.
4887 (read_command_list): Gettextizze.
4888 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 4889 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 4890
22815526
RM
48912009-12-25 Robert Millan <rmh.grub@aybabtu.com>
4892
4893 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
4894 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
4895 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
4896 (led_status): New variable.
4897 (keyboard_controller_led): New function.
4898 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
4899 update led status for caps lock, num lock and scroll lock.
4900
0ad46fd7
FZ
49012009-12-25 Felix Zielcke <fzielcke@z-51.de>
4902
4903 * util/hostdisk.c (open_device): Fix a comment.
4904
d0e158c2
RM
49052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4906
4907 * util/grub-install.in (host_os): New variable.
4908 * util/i386/efi/grub-install.in (host_os): Likewise.
4909
401c0ad6
RM
49102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4911
4912 * util/mkisofs/write.c (padblock_write): Abort when given an
4913 excedingly large embed image, instead of silently truncating it.
4914
d14d3370
RM
49152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4916
4917 * include/multiboot.h: Indentation fixes.
4918
eeed10b4
RM
49192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4920
4921 * include/multiboot.h (struct multiboot_aout_symbol_table)
4922 (struct multiboot_elf_section_header_table): New structure
4923 declarations (stolen from GRUB Legacy).
4924 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
4925 table information.
4926
4927 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
4928 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
4929 type aliases.
4930
681c70ab
RM
49312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4932
4933 * include/multiboot.h: Make comments src2texi-friendly.
4934
e4d47d8d
RM
49352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4936
4937 For consistency with [multiboot]/docs/boot.S.
4938
4939 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
4940 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
4941 (MULTIBOOT_MAGIC2): Rename from this ...
4942 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
4943
a0b70bda
RM
49442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
4945
4946 * include/multiboot.h: Remove `<grub/types.h>'.
4947 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
4948 types. Update all users.
4949
61ba42be 49502009-12-25 Carles Pina i Estany <carles@pina.cat>
4951
4952 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
4953 `couldn't' and `can not' by `cannot'.
4954 * commands/i386/pc/drivemap.c: Likewise.
4955 * disk/ata.c: Likewise.
4956 * disk/ieee1275/nand.c: Likewise.
4957 * fs/affs.c: Likewise.
4958 * fs/fat.c: Likewise.
4959 * fs/hfs.c: Likewise.
4960 * fs/hfsplus.c: Likewise.
4961 * fs/iso9660.c: Likewise.
4962 * fs/jfs.c: Likewise.
4963 * fs/minix.c: Likewise.
4964 * fs/reiserfs.c: Likewise.
4965 * fs/sfs.c: Likewise.
4966 * fs/udf.c: Likewise.
4967 * fs/ufs.c: Likewise.
4968 * fs/xfs.c: Likewise.
4969 * loader/powerpc/ieee1275/linux.c: Likewise.
4970 * loader/sparc64/ieee1275/linux.c: Likewise.
4971 * util/grub-probe.c: Likewise.
4972 * util/misc.c: Likewise.
4973
7fd0baee 49742009-12-24 Carles Pina i Estany <carles@pina.cat>
4975
4976 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
4977 grub_errno calls.
4978 * commands/acpi.c: Likewise.
4979 * commands/blocklist.c: Likewise.
4980 * commands/efi/loadbios.c: Likewise.
4981 * commands/i386/pc/drivemap.c: Likewise.
4982 * commands/loadenv.c: Likewise.
4983 * commands/memrw.c: Likewise.
4984 * commands/password.c: Likewise.
4985 * commands/videotest.c: Likewise.
4986 * disk/ata.c: Likewise.
4987 * disk/ata_pthru.c: Likewise.
4988 * disk/dmraid_nvidia.c: Likewise.
4989 * disk/ieee1275/nand.c: Likewise.
4990 * disk/ieee1275/ofdisk.c: Likewise.
4991 * disk/loopback.c: Likewise.
4992 * disk/lvm.c: Likewise.
4993 * disk/mdraid_linux.c: Likewise.
4994 * disk/raid.c: Likewise.
4995 * disk/raid6_recover.c: Likewise.
4996 * disk/scsi.c: Likewise.
4997 * efiemu/main.c: Likewise.
4998 * efiemu/mm.c: Likewise.
4999 * efiemu/pnvram.c: Likewise.
5000 * efiemu/symbols.c: Likewise.
5001 * font/font.c: Likewise.
5002 * fs/cpio.c: Likewise.
5003 * fs/hfsplus.c: Likewise.
5004 * fs/iso9660.c: Likewise.
5005 * fs/jfs.c: Likewise.
5006 * fs/minix.c: Likewise.
5007 * fs/ntfs.c: Likewise.
5008 * fs/ntfscomp.c: Likewise.
5009 * fs/reiserfs.c: Likewise.
5010 * fs/ufs.c: Likewise.
5011 * fs/xfs.c: Likewise.
5012 * gettext/gettext.c: Likewise.
5013 * include/grub/auth.h: Likewise.
5014 * kern/elf.c: Likewise.
5015 * kern/file.c: Likewise.
5016 * kern/ieee1275/init.c: Likewise.
5017 * kern/ieee1275/mmap.c: Likewise.
5018 * kern/ieee1275/openfw.c: Likewise.
5019 * kern/powerpc/dl.c: Likewise.
5020 * kern/sparc64/dl.c: Likewise.
5021 * lib/arg.c: Likewise.
5022 * loader/i386/bsd.c: Likewise.
5023 * loader/i386/bsdXX.c: Likewise.
5024 * loader/i386/efi/linux.c: Likewise.
5025 * loader/i386/efi/xnu.c: Likewise.
5026 * loader/i386/ieee1275/linux.c: Likewise.
5027 * loader/i386/linux.c: Likewise.
5028 * loader/i386/multiboot.c: Likewise.
5029 * loader/i386/pc/linux.c: Likewise.
5030 * loader/i386/pc/multiboot2.c: Likewise.
5031 * loader/i386/xnu.c: Likewise.
5032 * loader/ieee1275/multiboot2.c: Likewise.
5033 * loader/macho.c: Likewise.
5034 * loader/machoXX.c: Likewise.
5035 * loader/multiboot2.c: Likewise.
5036 * loader/multiboot_loader.c: Likewise.
5037 * loader/powerpc/ieee1275/linux.c: Likewise.
5038 * loader/sparc64/ieee1275/linux.c: Likewise.
5039 * loader/xnu.c: Likewise.
5040 * loader/xnu_resume.c: Likewise.
5041 * mmap/i386/pc/mmap.c: Likewise.
5042 * normal/menu_viewer.c: Likewise.
5043 * partmap/acorn.c: Likewise.
5044 * partmap/amiga.c: Likewise.
5045 * partmap/apple.c: Likewise.
5046 * script/lexer.c: Likewise.
5047 * term/gfxterm.c: Likewise.
5048 * term/i386/pc/serial.c: Likewise.
5049 * term/i386/pc/vga.c: Likewise.
5050 * term/ieee1275/ofconsole.c: Likewise.
5051 * term/terminfo.c: Likewise.
5052 * video/bitmap.c: Likewise.
5053 * video/efi_gop.c: Likewise.
5054 * video/efi_uga.c: Likewise.
5055 * video/fb/video_fb.c: Likewise.
5056 * video/i386/pc/vbe.c: Likewise.
5057 * video/readers/tga.c: Likewise.
5058 * video/video.c: Likewise.
5059
0ad46fd7 50602009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
5061
5062 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5063 * commands/lspci.c: Likewise.
5064 * commands/probe.c: Likewise.
5065 * commands/xnu_uuid.c: Likewise.
5066 * conf/i386-coreboot.rmk: Likewise.
5067 * conf/i386-efi.rmk: Likewise.
5068 * conf/i386-ieee1275.rmk: Likewise.
5069 * conf/i386-pc.rmk: Likewise.
5070 * conf/powerpc-ieee1275.rmk: Likewise.
5071 * conf/sparc64-ieee1275.rmk: Likewise.
5072 * conf/x86_64-efi.rmk: Likewise.
5073 * fs/i386/pc/pxe.c: Likewise.
5074 * gettext/gettext.c: Likewise.
5075 * include/grub/efi/graphics_output.h: Likewise.
5076 * include/grub/i386/pc/memory.h: Likewise.
5077 * kern/env.c: Likewise.
5078 * kern/i386/qemu/startup.S: Likewise.
5079 * lib/i386/pc/biosnum.c: Likewise.
5080 * lib/i386/relocator.c: Likewise.
5081 * lib/i386/relocator_asm.S: Likewise.
5082 * lib/relocator.c: Likewise.
5083 * loader/i386/bsd.c: Likewise.
5084 * loader/i386/multiboot.c: Likewise.
5085 * loader/i386/pc/chainloader.c: Likewise.
5086 * loader/i386/xnu.c: Likewise.
5087 * loader/xnu.c: Likewise.
5088 * normal/main.c: Likewise.
5089 * normal/menu_text.c: Likewise.
5090 * util/getroot.c: Likewise.
5091 * util/grub-mkconfig_lib.in: Likewise.
5092 * util/grub.d/00_header.in: Likewise.
5093 * util/i386/pc/grub-mkimage.c: Likewise.
5094 * util/mkisofs/eltorito.c: Likewise.
5095 * util/mkisofs/exclude.h: Likewise.
5096 * util/mkisofs/hash.c: Likewise.
5097 * util/mkisofs/iso9660.h: Likewise.
5098 * util/mkisofs/joliet.c: Likewise.
5099 * util/mkisofs/mkisofs.c: Likewise.
5100 * util/mkisofs/mkisofs.h: Likewise.
5101 * util/mkisofs/multi.c: Likewise.
5102 * util/mkisofs/name.c: Likewise.
5103 * util/mkisofs/rock.c: Likewise.
5104 * util/mkisofs/tree.c: Likewise.
5105 * util/mkisofs/write.c: Likewise.
5106 * video/efi_gop.c: Likewise.
5107
009ec743
VS
51082009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5111 size counting.
5112
0ad46fd7 51132009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
5114
5115 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5116 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5117
d3d30ea0
VS
51182009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5121 (GRUB_MOD_INIT(memrw)): Update help line.
5122
a34f5c70
VS
51232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5126 Use grub_extcmd_t. All users updated.
5127 (options): New variable.
5128 (grub_cmd_read): Restructure for readability. Support "-v" option.
5129 (grub_cmd_write): Restructure for readability.
5130
0ad46fd7 51312009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
5132
5133 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5134
0ad46fd7 51352009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
5136
5137 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5138 with the actual contents of the correspondending make variable.
5139 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5140 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5141 specifying `*.lst' and `efiemu??.o'
5142
0ad46fd7 51432009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
5144
5145 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5146 after function name.
5147 Noticed by Rene Engelhard <rene@debian.org>.
5148
dc77a799
VS
51492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5152 (options): New variable.
5153 (iospace): Likewise.
5154 (grub_lspci_iter): List IO spaces if "-i" was given.
5155 (grub_cmd_lspci): Parse options.
5156 (GRUB_MOD_INIT(lspci)): Use extcmd.
5157 (GRUB_MOD_FINI(lspci)): Likewise.
5158
0ad46fd7 51592009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
5160
5161 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5162 `function' keyword.
5163 Patch by Tony Mancill <tmancill@debian.org>.
5164
b5d5993b
VS
51652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5168 (grub_uhci_portstatus): Likewise.
5169 (grub_uhci_portstatus): Add necessary delay.
11d18281 5170 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 5171
941903f2 51722009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 5173
941903f2 5174 * commands/acpi.c (options): Fix capitalizations and/or full stops.
5175 (GRUB_MOD_INIT): Likewise.
5176 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 5177 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
5178 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 5179 * commands/efi/loadbios.c (enable_rom_area): Likewise.
5180 (enable_rom_area): Likewise.
5181 (GRUB_MOD_INIT): Likewise.
5182 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5183 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
5184 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5185 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
5186 * commands/hexdump.c (options): Likewise.
5187 * commands/i386/cpuid.c (options): Likewise.
5188 (GRUB_MOD_INIT): Likewise.
5189 * commands/i386/pc/drivemap.c (options): Likewise.
5190 (GRUB_MOD_INIT): Likewise.
5191 * commands/i386/pc/halt (options): Likewise.
5192 (GRUB_MOD_INIT): Likewise.
5193 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5194 * commands/i386/pc/pxecmd.c (options): Likewise.
5195 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
5196 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
5197 * commands/keystatus.c (options): Likewise.
5198 (GRUB_MOD_INIT): Likewise.
5199 * commands/loadenv.c (options): Likewise.
5200 * commands/ls.c (options): Likewise.
5201 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5202 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5203 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5204 * commands/parttool.c (helpmsg): Likewise.
5205 * commands/probe.c (options): Likewise.
5206 * commands/read.c (GRUB_MOD_INIT): Likewise.
5207 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
5208 * commands/search.c (options): Likewise.
5209 * commands/sleep.c (options): Likewise.
5210 * commands/test.c (GRUB_MOD_INIT): Likewise.
5211 * commands/true.c (GRUB_MOD_INIT): Likewise.
5212 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
5213 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
5214 * lib/arg.c (help_options): Likewise.
e9bbb4e7 5215 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
5216 `$(XGETTEXT)'.
98a50553 5217 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 5218
0ad46fd7 52192009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 5220
ef3c2c3a 5221 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
5222 instead of specifying them explicit.
5223
7922f68b
RM
52242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5225
5226 * NEWS: Add grub-probe support for GNU/Hurd.
5227
537ce47f
RM
52282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5229
5230 * NEWS: gettext was added after 1.97.
5231
9b214e3a
RM
52322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5233
5234 * util/mkisofs/msdos_partition.h: New file (based on
5235 include/grub/msdos_partition.h).
5236 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
5237 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
5238 (ld_options, main): Recognize --protective-msdos-label.
5239 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
5240 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
5241 (padblock_write): If `use_protective_msdos_label' is set, patch a
5242 protective DOS-style label in the output image.
5243
5244 * util/grub-mkrescue.in: Use --protective-msdos-label.
5245
e9309813
RM
52462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5247
5248 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
5249 boot.
5250
0ae56929
RM
52512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5252
5253 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
5254 variables.
5255 (ld_options, main): Recognize `--embedded-boot'.
5256 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
5257 declarations.
5258 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
5259 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
5260 (padblock_write): Likewise. Rewrite to support embedded boot image.
5261
5262 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
5263 for BIOS-based disk boot instead of only ElTorito.
5264
b15937b1
RM
52652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5266
5267 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
5268 build (not needed for bootstrap).
5269
52cc3ce0
RM
52702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5271
5272 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
5273 from i386-pc build (not needed for bootstrap).
5274 Rewrite a pair of strings.
5275
36f5ff04
RM
52762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5277
5278 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
5279
973c6c85 52802009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
5281
5282 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
5283
05d21547
AB
52842009-12-21 Andreas Born <futur.andy@googlemail.com>
5285
5286 * kern/env.c (grub_env_context_open): Mark exported variable for
5287 reexport.
5288
0175d51f
AB
52892009-12-21 Andreas Born <futur.andy@googlemail.com>
5290
5291 * kern/env.c (grub_env_export): Create nonexistent variables before
5292 exporting.
5293
7f39d92f 52942009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 5295
7f39d92f 5296 * include/grub/auth.h: Include `<grub/i18n.h>'.
5297 (GRUB_GET_PASSWORD): Gettextizze string.
5298 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
5299 menu_text.c.
5300 (grub_utf8_to_ucs4_alloc): Fix indentation.
5301 (grub_print_ucs4): Likewise.
5302 (grub_getstringwidth): Likewise.
5303 (print_message_indented): New declaration.
5304 * normal/auth.c: Include `<grub/i18n.h>'.
5305 (grub_auth_check_authentication): Gettexttize string.
5306 * normal/cmdline.c: Include `<grub/i18n.h>'.
5307 (grub_cmdline_get): Gettextizze.
5308 * normal/color.c: Include `<grub/i18n.h>'.
5309 (grub_parse_color_name_pair): Gettexttize strings.
5310 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
5311 string (use `print_message_indented').
5312 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
5313 `include/grub/normal.h'.
5314 (print_message_indented): Renamed to ...
5315 (grub_print_message_indented): ... this. Remove `static' qualifer (now
5316 used in normal/main.c).
5317 (print_message): Use `grub_print_message_indented' instead of
5318 `print_message_indented'.
5319 (print_timeout): Likewise.
5320 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
5321 (grub_normal_print_device_info): Gettexttize strings.
5322 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
5323
3041d898
VS
53242009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
5327 of arguments. Return number of tokens and not arguments. All users
5328 updated.
5329
de15bf8e
VS
53302009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
5333 non-MSDOS paritions.
5334
e0a6ca52
VS
53352009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * include/grub/types.h (UNUSED): Removed since it conflicts with
5338 NetBSD headers. All users changed to direct __attribute__ ((unused)).
5339 Reported by Grégoire Sutre.
5340
b99518d1 53412009-12-19 Carles Pina i Estany <carles@pina.cat>
5342
5343 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
5344 (grub_print_ucs4_alloc): Likewise.
5345 (grub_getstringwidth): Likewise.
5346 * normal/main.c (grub_normal_init_page): Gettextize version string.
5347 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
5348 (getstringwidth): Renamed to ...
5349 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
5350 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
5351 (grub_print_ucs4): Remove `static' qualifer (now used in
5352 normal/main.c).
5353 * po/POTFILES: Add normal/main.c.
5354
bfd5e52b 53552009-12-19 Carles Pina i Estany <carles@pina.cat>
5356
5357 * normal/menu_text.c (STANDARD_MARGIN): New macro.
5358 (print_message_indented): Add `margin_left' and `margin_right'
5359 parameters.
5360 (print_message): Update `print_message_indented' calls. Adds '\n' to the
5361 strings.
5362 (print_timeout): Use `print_message_indented' to print the message.
5363 Deletes `second_stage' parameter.
5364 (run_menu): Update `print_timeout' calls.
5365
5a1ad2b9
VS
53662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 Fix console palette on OpenFirmware.
5369
5370 * term/ieee1275/ofconsole.c (MAX): Removed.
5371 (colors): Redone based on VGA palette.
5372 (grub_ofconsole_setcolor): Discard brightness bit since only 8
5373 colors are supported.
5374 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
5375
b045f00a
VS
53762009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 Fix potential EfiEmu double prepare.
5379
5380 * efiemu/main.c (prepared): New variable
5381 (grub_efiemu_unload): Set prepare to '0'.
5382 (grub_efiemu_prepare): Return if already prepared. Set prepared.
5383
5384 set_virtual_address_map support.
5385
5386 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
5387 prototype.
5388 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
5389 prototype.
5390 (grub_efiemu_crc32): Likewise.
5391 (grub_efiemu_crc64): Likewise.
5392 (grub_efiemu_set_virtual_address_map): Likewise.
5393 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
5394 New definition.
5395 (grub_autoefi_set_virtual_address_map): Likewise.
5396 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
5397 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
5398 Restructure flow to accomodate it.
5399 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
5400 (grub_efiemu_crc): Recompute CRC32.
5401 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
5402 (efiemu_ptv_relocated): ... this. Made global. All users updated.
5403 * efiemu/symbols.c (relocated_handle): New variable.
5404 (grub_efiemu_free_syms): Free relocated_handle.
5405 (grub_efiemu_alloc_syms): Allocate relocated_handle.
5406 (grub_efiemu_write_sym_markers): New function.
5407 (grub_efiemu_set_virtual_address_map): Likewise.
5408
5409 Newer XNU parameters.
5410
5411 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
5412 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
5413 (grub_xnu_fill_devicetree): New prototype.
5414 (grub_xnu_heap_real_start): New variable.
5415 * loader/xnu.c (get_name_ptr): New function.
5416 (grub_xnu_load_driver): Fill namelen and name.
5417
5418 64-bit xnu support.
5419
5420 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
5421 and 'loader/macho64.c'.
5422 * conf/i386-pc.rmk: Likewise.
5423 * conf/x86_64-efi.rmk: Likewise.
5424 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
5425 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
5426 * include/grub/macho.h (grub_macho_segment64): New structure.
5427 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
5428 (grub_macho_size32): ... to this.
5429 (grub_macho32_get_entry_point): Renamed from ...
5430 (grub_macho_get_entry_point32): ... to this.
5431 (grub_macho_contains_macho64): New prototype.
5432 (grub_macho_size64): Likewise.
5433 (grub_macho_get_entry_point64): Likewise.
5434 (grub_macho32_load): Renamed from ...
5435 (grub_macho_load32): ... to this.
5436 (grub_macho32_filesize): Renamed from ...
5437 (grub_macho_filesize32): ... to this.
5438 (grub_macho32_readfile): Renamed from ...
5439 (grub_macho_readfile32): ... to this.
5440 (grub_macho_filesize64): New prototype.
5441 (grub_macho_readfile64): Likewise.
5442 (grub_macho_parse32): Likewise.
5443 (grub_macho_parse64): Likewise.
5444 * loader/macho.c: Split into ...
5445 * loader/machoXX.c: ... and this. Replace 32 with XX.
5446 * loader/macho32.c: New file.
5447 * loader/macho64.c: Likewise.
5448 * loader/xnu.c (grub_xnu_is_64bit): New variable.
5449 (grub_cmd_xnu_kernel): Make 32-bit only.
5450 (grub_cmd_xnu_kernel64): New function.
5451 (grub_xnu_load_driver): Support Mach-O 64.
5452 (grub_cmd_xnu_mkext): Likewise.
5453 * util/grub.d/30_os-prober.in (osx_entry): New function.
5454 Generate entries for 64-bit boot too.
5455
5456 Eliminate ad-hoc tree format in XNU and EfiEmu.
5457
5458 * efiemu/main.c (grub_efiemu_prepare): Update comment.
5459 * efiemu/pnvram.c: Rewritten to use environment variables.
5460 All users updated.
5461
5462 Inline utf16_to_utf8.
5463
5464 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
5465 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
5466 All users updated.
5467 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
5468
5469 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
5470 * commands/usbtest.c (grub_usb_get_string): ... move here.
5471 (usb_print_str): Fix error handling.
5472 * include/grub/usb.h (grub_usb_get_string): Remove.
5473
5474 UTF-8 to UTF-16 transformation.
5475
5476 * conf/common.rmk (pkglib_MODULES): Add charset.mod
5477 (charset_mod_SOURCES): New variable.
5478 (charset_mod_CFLAGS): Likewise.
5479 (charset_mod_LDFLAGS): Likewise.
5480 * include/grub/utf.h: New file.
5481 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
5482
5483 Support for device properties.
5484
5485 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
5486 (grub_xnu_devprop_device_header): Likewise.
5487 (grub_xnu_devprop_device_descriptor): Likewise.
5488 (grub_xnu_devprop_add_device): New prototype.
5489 (grub_xnu_devprop_remove_device): Likewise.
5490 (grub_xnu_devprop_remove_property): Likewise.
5491 (grub_xnu_devprop_add_property_utf8): Likewise.
5492 (grub_xnu_devprop_add_property_utf16): Likewise.
5493 (grub_cpu_xnu_init): Likewise.
5494 (grub_cpu_xnu_fini): Likewise.
5495 (grub_cpu_xnu_unload): Likewise.
5496 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
5497 (property_descriptor): Likewise.
5498 (devices): New variable.
5499 (grub_xnu_devprop_remove_property): New function.
5500 (grub_xnu_devprop_add_device): Likewise.
5501 (grub_xnu_devprop_remove_device): Likewise.
5502 (grub_xnu_devprop_add_property): Likewise.
5503 (grub_xnu_devprop_add_property_utf8): Likewise.
5504 (grub_xnu_devprop_add_property_utf16): Likewise.
5505 (hextoval): Likewise.
5506 (grub_cpu_xnu_fill_devprop): Likewise.
5507 (grub_cmd_devprop_load): Likewise.
5508 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
5509 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
5510 (cmd_devprop_load): New variable.
5511 (grub_cpu_xnu_init): New function.
5512 (grub_cpu_xnu_fini): Likewise.
5513 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
5514 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
5515 (grub_cmd_xnu_devtree): Likewise.
5516 (hextoval): New function.
5517 (unescape): Likewise.
5518 (grub_xnu_fill_devicetree): Likewise.
5519
5520 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
5521 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
5522
0945f181
VS
55232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 Workaround for broken ATI VBE.
5526
5527 * video/i386/pc/vbe.c (last_set_mode): New variable.
5528 (grub_vbe_set_video_mode): Set 'last_set_mode'.
5529 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
5530 (grub_video_vbe_setup): Don't check for reserved flag.
5531
0ad46fd7 55322009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
5533
5534 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
5535 the `find' command.
5536
c179ebe4
VS
55372009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 UUID support for HFS.
5540
5541 * fs/hfs.c (grub_hfs_uuid): New function.
5542 (grub_hfs_fs): New value .uuid.
5543 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
5544
0ad46fd7 55452009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
5546
5547 Fix a segfault with parsing unknown long options.
5548
5549 * util/grub-mkrelpath.c (options): Zero terminate it.
5550
c4a3e41a
CPE
55512009-12-13 Carles Pina i Estany <carles@pina.cat>
5552
5553 * include/grub/misc.h (grub_puts): New declaration.
5554 (grub_puts_): Likewise.
a22008a6 5555 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
5556 (grub_puts_): Likewise.
5557
2e8a7602
RM
55582009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5559
5560 * util/grub-probe.c (probe): Improve error message.
5561
b50b77b9
RM
55622009-12-13 Robert Millan <rmh.grub@aybabtu.com>
5563
5564 * loader/i386/multiboot_elfxx.c
5565 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
5566 initialization.
5567
55682009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 Relocator framework
5571
5572 * loader/i386/xnu_helper.S: Removed. All users updated.
5573 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
5574 (relocator_mod_SOURCES): New variable.
5575 (relocator_mod_CFLAGS): Likewise.
5576 (relocator_mod_LDFLAGS): Likewise.
5577 (relocator_mod_ASFLAGS): Likewise.
5578 * conf/x86_64.rmk: Likewise.
5579 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
5580 (grub_multiboot_payload_entry_offset): Likewise.
5581 (grub_multiboot_forward_relocator): Likewise.
5582 (grub_multiboot_forward_relocator_end): Likewise.
5583 (grub_multiboot_backward_relocator): Likewise.
5584 (grub_multiboot_backward_relocator_end): Likewise.
5585 (grub_multiboot_payload_eip): New variable.
5586 (grub_multiboot_payload_orig): Likewise.
5587 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
5588 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
5589 * include/grub/i386/memory.h
5590 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
5591 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
5592 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
5593 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
5594 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
5595 * include/grub/i386/relocator.h: New file.
5596 * include/grub/x86_64/relocator.h: Likewise.
5597 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
5598 (XNU_RELOCATOR): New macro.
5599 (grub_xnu_launcher_start): Remove.
5600 (grub_xnu_launcher_end): Likewise.
5601 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
5602 (grub_xnu_heap_real_start): Remove.
5603 (grub_xnu_heap_start): Change to void *. All users updated.
5604 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
5605 * lib/i386/relocator.c: New file.
5606 * lib/i386/relocator_asm.S: Likewise.
5607 * lib/i386/relocator_backward.S: Likewise.
5608 * lib/mips/relocator.c: Likewise.
5609 * lib/mips/relocator_asm.S: Likewise.
5610 * lib/relocator.c: Likewise.
5611 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
5612 (entry): Removed.
5613 (playground): Likewise.
5614 (grub_multiboot_payload_orig): New variable.
5615 (grub_multiboot_payload_dest): Likewise.
5616 (grub_multiboot_payload_size): Likewise.
5617 (grub_multiboot_payload_eip): Likewise.
5618 (grub_multiboot_payload_esp): Likewise.
5619 (grub_multiboot_boot): Use grub_relocator32_boot.
5620 (grub_multiboot_unload): Free relocators.
5621 (grub_multiboot): Setup stack. Use relocators.
5622 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
5623 (grub_multiboot_load_elfXX): Use relocators.
5624 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
5625 (grub_multiboot_payload_size): Likewise.
5626 (grub_multiboot_payload_dest): Likewise.
5627 (grub_multiboot_payload_entry_offset): Likewise.
5628 (grub_multiboot_forward_relocator): Likewise.
5629 (grub_multiboot_backward_relocator): Likewise.
5630 (grub_multiboot_real_boot): Likewise.
5631 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
5632 (grub_xnu_entry_point): Likewise.
5633 (grub_xnu_arg1): Likewise.
5634 (grub_xnu_stack): Likewise.
5635 (grub_xnu_launch): Removed.
5636 (grub_xnu_boot_resume): New function.
5637 (grub_xnu_boot): Use relocators.
5638 * loader/i386/xnu_helper.S: Removed.
5639 * loader/xnu.c (grub_xnu_heap_start): New variable.
5640 (grub_xnu_heap_size): Likewise.
5641 (grub_xnu_heap_malloc): Use relocators.
5642 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
5643
29eb90c6
VS
56442009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
5647 anything.
5648
31027430
CPE
56492009-12-13 Carles Pina i Estany <carles@pina.cat>
5650
5651 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
5652 GRUB_ERR_NONE before calling grub_env_set.
5653
dc0c71d9
RM
56542009-12-12 Robert Millan <rmh@aybabtu.com>
5655
5656 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
5657 * genmk.rb (video): New variable.
5658 (CLEANFILES, VIDEOFILES): Add #{video}.
5659 (#{video}): New target rule.
5660 * genvideolist.sh: New file.
5661 * Makefile.in (pkglib_DATA): Add video.lst.
5662 (video.lst): New target rule.
5663 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
5664 `video.lst'.
5665 * util/grub.d/30_os-prober.in: Replace `vbe' with
5666 ${GRUB_VIDEO_BACKEND}.
5667
2a4bfcf0
RM
56682009-12-11 Robert Millan <rmh.grub@aybabtu.com>
5669
5670 * THANKS: Add David Miller.
5671
2a3aa4d5
RM
56722009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 libpciaccess support.
5675
5676 * Makefile.in (LIBPCIACCESS): New variable.
5677 (enable_grub_emu_pci): Likewise.
5678 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
5679 util/pci.c and commands/lspci.c.
5680 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
5681 * configure.ac (grub-emu-pci): New option.
5682 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
5683 (grub_pci_device_unmap_range): Likewise.
5684 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
5685 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
5686 (grub_pci_address_t) [!GRUB_UTIL]: New type.
5687 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
5688 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
5689 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
5690 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
5691 * include/grub/pciutils.h: New file.
5692 * util/pci.c: Likewise.
5693
0ad46fd7 56942009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
5695
5696 * util/misc.c: Don't include <errno.h> twice.
5697
0ad46fd7 56982009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
5699
5700 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
5701 name in an error message.
5702 (grub_biosdisk_rw): Likewise.
5703
2e59983c
VS
57042009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 Eliminate NTFS 4Gib barrier.
5707
5708 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
5709 (read_run_data): Likewise.
5710 (grub_ntfs_read_run_list): Likewise.
5711 (grub_ntfs_read_block): Likewise.
5712 (grub_ntfs_iterate_dir): Likewise.
5713 (read_mft): Likewise.
5714 (read_data): Likewise.
5715 Use COM_LOG_LEN.
5716 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
5717 to avoid 64-bit division
5718 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
5719 (grub_ntfs_rlst): Use grub_disk_addr_t.
5720
71ee178a
VS
57212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 Eliminate grub-fstest 4Gib barrier.
5724
5725 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
5726 (read_file): Fix error reporting.
5727
2520d4b8
VS
57282009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 Eliminate hexdump 4Gib barrier.
5731
5732 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
5733 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
5734
e1f27065
VS
57352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
5738 Fixes amarsh bug.
5739
1a0f7f45
RM
57402009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
5741
5742 Remove miscellaneous files in distclean target.
5743
5744 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
5745
c631d9fb
CW
57462009-12-09 Colin Watson <cjwatson@ubuntu.com>
5747
5748 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
5749 if they're already set. This resolves the conflict between my
5750 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
5751 fixing the --grub-probe option again.
5752 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
5753 change on 2009-10-06, so that we now once again source
5754 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5755
7c7b6106
RM
57562009-12-08 Robert Millan <rmh.grub@aybabtu.com>
5757
5758 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
5759 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
5760 `util/devicemap.c'.
5761
e3069ec1
CPE
57622009-12-08 Carles Pina i Estany <carles@pina.cat>
5763
5764 * include/grub/misc.h (grub_printf_): New declaration.
5765 * kern/misc.c (grub_printf_): New definition.
5766 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
5767 instead of `grub_printf' and `_'.
5768 * normal/menu_entry.c (store_completion): Likewise.
5769 (run): Likewise.
5770 (grub_menu_entry_run): Likewise.
5771 * normal/menu_text.c (grub_wait_after_message): Likewise.
5772 (notify_booting): Likewise.
5773 (notify_fallback): Likewise.
5774 (notify_execution_failure): Likewise.
5775
d6ceebf1
CW
57762009-12-07 Colin Watson <cjwatson@ubuntu.com>
5777
5778 * configure.ac: Check for vasprintf.
5779 * util/misc.c (asprintf): Move allocation from here ...
5780 (vasprintf): ... to here. New function.
5781 (xasprintf): New function.
5782 * include/grub/util/misc.h (vasprintf, xasprintf): Add
5783 prototypes.
5784 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5785 * util/grub-mkfont.c (write_font): Likewise.
5786 * util/grub-probe.c (probe): Likewise.
5787 * util/hostdisk.c (make_device_name): Likewise.
5788
de6daa8b
DM
57892009-12-06 David S. Miller <davem@sunset.davemloft.net>
5790
5791 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
5792 anything even prefixed with 'cdrom' as a cdrom.
5793
0ad46fd7 57942009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
5795
5796 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
5797 mount points.
5798
98d3dc02
CPE
57992009-12-05 Carles Pina i Estany <carles@pina.cat>
5800
5801 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
5802 grub_gettext_msg_list.
5803 (grub_gettext_gettranslation_from_position): Return const char *
5804 and not char *.
a2c1332b 5805 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
5806 returns from the list if existing there.
5807 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
5808 (grub_gettext_delete_list): Delete the list.
5809 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
5810 lang environment variable is changed.
5811 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
5812
b283f108
VS
58132009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 Rename kernel.mod to kernel.img.
5816
5817 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
5818 (kernel_mod_EXPORTS): Rename to ...
5819 (kernel_img_EXPORTS): ... this.
5820 (kernel_mod_SOURCES): Rename to ...
5821 (kernel_img_SOURCES): ... this.
5822 (kernel_mod_HEADERS): Rename to ...
5823 (kernel_img_HEADERS): ... this. All users updated.
5824 (kernel_mod_CFLAGS): Rename to ...
5825 (kernel_img_CFLAGS): ... this.
5826 (kernel_mod_ASFLAGS): Rename to ...
5827 (kernel_img_ASFLAGS): ... this.
5828 (kernel_mod_LDFLAGS): Rename to ...
5829 (kernel_img_LDFLAGS): ... this.
5830 * conf/x86_64-efi.rmk: Likewise.
5831 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
5832 (read_kernel_image): ... this. All users updated.
5833 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
5834
69055f8a
CPE
58352009-12-05 Carles Pina i Estany <carles@pina.cat>
5836
5837 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
5838 (print_spaces): New function.
5839 (grub_print_ucs4): New function.
5840 (getstringwidth): New function.
5841 (print_message_indented): New function.
5842 (print_message): Gettexttize strings using print_message_indented.
5843 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
5844 width.
5845 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 5846 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
5847 Gettextize.
5848 * normal/menu_entry.c (store_completion): Cleanup the gettextized
5849 string.
5850 (run): Likewise.
5851 (grub_menu_entry_run): Likewise.
5852 * PO/POTFILES: Add normal/menu_entry.c.
5853
f616f51c
VS
58542009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
5857
57bbe3be
CPE
58582009-12-05 Carles Pina i Estany <carles@pina.cat>
5859
5860 * util/grub-install.in: Install gettext .mo files.
5861 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
5862
013d67a1
CPE
58632009-12-05 Carles Pina i Estany <carles@pina.cat>
5864
5865 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
5866 grub_dprintf.
5867
fb954db0
RM
58682009-12-05 Robert Millan <rmh.grub@aybabtu.com>
5869
5870 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
5871 non-firmware-dependant one in realmode.S takes precedence.
5872
6b8474f8
RM
58732009-12-04 Robert Millan <rmh.grub@aybabtu.com>
5874
5875 * commands/halt.c: Replace misc arch-specific headers with
5876 `<grub/misc.h>'.
5877 * commands/reboot.c: Likewise.
5878 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
5879 `<grub/misc.h>'.
5880 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
5881 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
5882 (kernel_img_SOURCES): ... to here.
5883
5884 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
5885 * include/grub/i386/pc/init.h: Likewise.
5886 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5887 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5888
5889 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
5890
5891 * include/grub/i386/halt.h: Remove.
5892 * include/grub/i386/reboot.h: Likewise.
5893
5894 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
5895
4b2e6ca2
DM
58962009-12-03 David S. Miller <davem@sunset.davemloft.net>
5897
5898 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
5899 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
5900 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
5901 "progname.h"
5902 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5903 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5904 (usage): Add missing comma in printf.
5905
5239348f
RM
59062009-12-02 Robert Millan <rmh.grub@aybabtu.com>
5907
5908 Use the same reboot approach on i386 coreboot and qemu as we do on
5909 BIOS.
5910
5911 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
5912 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
5913 * kern/i386/reboot.c: Remove.
5914 * include/grub/i386/reboot.h (grub_reboot): Export function.
5915 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
5916 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
5917 0xf000:0xfff0 instead of 0xffff:0x0000.
5918 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
5919 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
5920
ef34cbd4
RM
59212009-11-30 Robert Millan <rmh.grub@aybabtu.com>
5922
5923 Fix $srcdir != $objdir build.
5924
5925 * Makefile.in (po/%.po): Rewrite as ...
5926 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
5927
dc9837ea
ST
59282009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
5929
5930 Fix GNU/Hurd grub-install crash.
5931 * util/grub-probe.c (probe): Try to access `path' only when it is not
5932 NULL.
5933
2f857f98
VS
59342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 Correct module naming.
5937
5938 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5939 (GRUB_MOD_INIT(efi_uga)): ... to this
5940 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5941 (GRUB_MOD_FINI(efi_uga)): ... to this
5942 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
5943 (GRUB_MOD_INIT(efi_gop)): ... to this
5944 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
5945 (GRUB_MOD_FINI(efi_gop)): ... to this
5946
c5448046
RM
59472009-11-28 Robert Millan <rmh.grub@aybabtu.com>
5948
5949 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
5950 translatable.
5951 (usage): Translate `arg' strings using gettext().
5952 Thanks to Jordi Mallach for the suggestion.
5953
c85184ad
VS
59542009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 GOP support. Based on patch from Bean
5957 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
5958
5959 * video/efi_gop.c: New file.
5960 * include/grub/efi/graphics_output.h: Likewise.
5961 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
5962 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
5963 variables.
5964 * conf/x86_64-efi.rmk: Likewise.
5965
8a4c48d8
VS
59662009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Rename efi_fb to efi_uga.
5969
5970 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
5971 'efi_uga.mod'.
5972 (efi_fb_mod_SOURCES): Rename this ...
5973 (efi_uga_mod_SOURCES): ... to this.
5974 (efi_fb_mod_CFLAGS): Rename this ...
5975 (efi_uga_mod_CFLAGS): ... to this.
5976 (efi_fb_mod_LDFLAGS): Rename this ...
5977 (efi_uga_mod_LDFLAGS): ... to this.
5978 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
5979 'efi_uga.mod'.
5980 (efi_fb_mod_SOURCES): Rename this ...
5981 (efi_uga_mod_SOURCES): ... to this.
5982 (efi_fb_mod_CFLAGS): Rename this ...
5983 (efi_uga_mod_CFLAGS): ... to this.
5984 (efi_fb_mod_LDFLAGS): Rename this ...
5985 (efi_uga_mod_LDFLAGS): ... to this.
5986 * video/efi_fb.c: Move this ...
5987 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
5988
fb6c1a7b
RM
59892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5990
5991 * po/README: New file. Explain our PO file workflow.
5992
3bc7896c
RM
59932009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5994
5995 * po/ChangeLog: Remove. Move relevant entries back to ...
5996 * ChangeLog: ... here.
5997 * po/ca.po: Remove (now handled by TLP).
5998 * po/id.po: Likewise.
5999 * po/zh_CN.po: Likewise.
6000 * Makefile.in (LINGUAS): Initialize in a way that supports
6001 empty set.
6002
9ed4841d
RM
60032009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6004
6005 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6006 reliing on po/LINGUAS.
6007 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6008 (po/%.po): ... this.
6009
0ad46fd7 60102009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
6011
6012 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6013 (main): Use `program_name' instead of nonexistent `progname'.
6014
e30dd392
FZ
60152009-11-26 Felix Zielcke <fzielcke@z-51.de>
6016
6017 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6018 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6019
7656de4f
RM
60202009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6021
6022 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6023 commit.
6024 * conf/i386-efi.rmk: Likewise.
6025 * conf/i386-ieee1275.rmk: Likewise.
6026 * conf/powerpc-ieee1275.rmk: Likewise.
6027 * conf/sparc64-ieee1275.rmk: Likewise.
6028 * conf/x86_64-efi.rmk: Likewise.
6029
db77c4d4
FZ
60302009-11-26 Felix Zielcke <fzielcke@z-51.de>
6031
6032 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6033
a755bb04
FZ
60342009-11-26 Felix Zielcke <fzielcke@z-51.de>
6035
6036 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6037
8a4c07fd
RM
60382009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6039
6040 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6041 (grub_mkdevicemap_SOURCES): New variable.
6042 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6043 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6044 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6045 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6046 (grub_mkdevicemap_SOURCES): Remove.
6047 * conf/i386-efi.rmk: Likewise.
6048 * conf/i386-ieee1275.rmk: Likewise.
6049 * conf/i386-pc.rmk: Likewise.
6050 * conf/powerpc-ieee1275.rmk: Likewise.
6051 * conf/sparc64-ieee1275.rmk: Likewise.
6052 * conf/x86_64-efi.rmk: Likewise.
6053 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6054 (usage): Fix strings to use `program_name'.
6055 (main): Initialize gettext.
6056 * util/grub-editenv.c: Likewise.
6057 * util/grub-emu.c: Likewise.
6058 * util/grub-fstest.c: Likewise.
6059 * util/grub-mkdevicemap.c: Likewise.
6060 * util/grub-mkfont.c: Likewise.
6061 * util/grub-mkrelpath.c: Likewise.
6062 * util/grub-pe2elf.c: Likewise.
6063 * util/grub-probe.c: Likewise.
6064 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6065 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6066 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6067
6068 * util/misc.c: Include `"progname.h"'.
6069 (progname): Remove variable.
6070 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6071
6f61ed55
FZ
60722009-11-25 Felix Zielcke <fzielcke@z-51.de>
6073
6074 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6075 printf and print a newline after the menuentry header line.
6076 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6077
f022876b
FZ
60782009-11-25 Felix Zielcke <fzielcke@z-51.de>
6079
6080 autoconf >= 2.60 support $(localedir).
6081
6082 * INSTALL: Note that autoconf 2.60 is required.
6083 * configure.ac (AC_PREREQ): Bump to 2.60.
6084 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6085 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6086
6717926e
YB
60872009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6088
6089 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6090 aclocal is run.
6091
08806a54
RM
60922009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6093
6094 * normal/main.c (grub_normal_read_line): Fix off-by-one
6095 buffer overflow.
6096
13b33fba
RM
60972009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6098
6099 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6100 "parser.grub" in grub_command_execute() call.
6101
4a8572e9
CPE
61022009-11-24 Carles Pina i Estany <carles@pina.cat>
6103
6104 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6105 * conf/i386-efi.rmk: Likewise.
6106 * conf/i386-ieee1275.rmk: Likewise.
6107 * conf/i386-pc.rmk: Likewise.
6108 * conf/powerpc-ieee1275.rmk: Likewise.
6109 * conf/sparc64-ieee1275.rmk: Likewise.
6110 * conf/x86_64-efi.rmk: Likewise.
6111 * gettext/gettex.c: Include <grub/i18n.h>.
6112 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6113 here ...
6114 * include/grub/i18n.h: ... to here
6115 * include/grub/i18n.h: ... to here.
6116 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 6117 (grub_gettext_dummy): Move above user.
4a8572e9 6118
bee48093
FZ
61192009-11-24 Felix Zielcke <fzielcke@z-51.de>
6120
6121 * util/Makefile.in (install-local): Convert a `for' into a normal
6122 shell expansion.
6123
a031e91c
RM
61242009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6125
6126 * autogen.sh: Add automake call.
6127 * config.guess: Remove.
6128 * config.sub: Likewise.
6129 * install-sh: Likewise.
6130
26bec39d
FZ
61312009-11-24 Felix Zielcke <fzielcke@z-51.de>
6132
6133 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6134
8e2532fd
FZ
61352009-11-24 Felix Zielcke <fzielcke@z-51.de>
6136
6137 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6138 function to a normal shell `for'.
6139
fefa1b7d
FZ
61402009-11-24 Felix Zielcke <fzielcke@z-51.de>
6141
6142 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6143
4501250b
FZ
61442009-11-24 Felix Zielcke <fzielcke@z-51.de>
6145
6146 * util/grub-mkrelpath.c: New file.
6147 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6148 (grub_mkrelpath_SOURCES): New variable.
6149 * include/grub/util/misc.h: New function prototype.
6150 * util/misc.c (make_system_path_relative_to_its_root): New function.
6151
6152 * util/grub-mkconfig_lib.in (bindir): New variable.
6153 (grub_mkrelpath): Likewise.
6154 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6155
6156 * util/probe.c (probe): Make the file path relative to its root.
6157 Change a info message to use the GRUB path. Enable again the
6158 check if we can read the file with GRUB facilities.
6159
6160 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6161 to its root.
6162
11d9778b
FZ
61632009-11-24 Felix Zielcke <fzielcke@z-51.de>
6164
6165 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6166 platform.
6167
4465287d
FZ
61682009-11-24 Felix Zielcke <fzielcke@z-51.de>
6169
6170 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6171 strncmp().
6172
62b47f22
FZ
61732009-11-24 Felix Zielcke <fzielcke@z-51.de>
6174
6175 * util/getroot.c (grub_util_is_dmraid): New function.
6176 (grub_util_get_dev_abstraction): Treat dmraid and multipath
6177 devices as normal ones, not as LVM.
6178
1eafb9b9 61792009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
6180
6181 * conf/common.rmk: Add grub-gettext_lib target and updates
6182 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
6183 LDFLAGS.
6184 * gettext/gettext.c: New file. (Reads mo files).
6185 * include/grub/file.h (grub_file_pread): New prototype.
6186 * include/grub/i18n.h (_): New prototype.
6187 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
6188 prototypes.
6189 * kern/misc.c (grub_gettext_dummy): New function.
6190 * normal/menu_text.c: Include <grub/i18n.h>.
6191 * normal/menu_text.c (print_timeout): Gettexttize string.
6192 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
6193 * po/POTFILES: Add `normal/menu_text.c'.
6194 * po/ca.po: Add new translations.
c3ea6bd4
CPE
6195 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
6196 gettext module and defines locale_dir and lang in grub.cfg.
6197 * NEWS: Add gettext support.
6198
0fdb2568
RM
61992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6200
6201 * util/hostdisk.c: Include `<grub/i18n.h>'.
6202 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
6203 (make_device_name): Rewrite using asprintf.
6204 (convert_system_partition_to_system_disk): Replace 0 with NULL.
6205 (find_system_device): If a device is not found, generate one just
6206 by reusing the OS path name.
6207 (read_device_map): Make it permissible for device.map not to exist.
6208
f515aa62
RM
62092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6210
6211 * script/sh/execute.c: Move from here ...
6212 * script/execute.c: ... to here. Update all users.
6213 * script/sh/function.c: Move from here ...
6214 * script/function.c: ... to here. Update all users.
6215 * script/sh/lexer.c: Move from here ...
6216 * script/lexer.c: ... to here. Update all users.
6217 * script/sh/main.c: Move from here ...
6218 * script/main.c: ... to here. Update all users.
6219 * script/sh/parser.y: Move from here ...
6220 * script/parser.y: ... to here. Update all users.
6221 * script/sh/script.c: Move from here ...
6222 * script/script.c: ... to here. Update all users.
6223
f84b481b
RM
62242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6225
6226 * configure.ac: Detect all `emu' platforms. Define
6227 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
6228 --enable-grub-emu logic. Disable include/grub/machine
6229 symlink on `emu' platforms.
6230
6231 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
6232 * gensymlist.sh.in: Likewise.
6233
6234 * include/grub/i386/coreboot/machine.h: Remove file.
6235 * include/grub/i386/efi/machine.h: Likewise.
6236 * include/grub/i386/ieee1275/machine.h: Likewise.
6237 * include/grub/i386/pc/machine.h: Likewise.
6238 * include/grub/i386/qemu/machine.h: Likewise.
6239 * include/grub/powerpc/ieee1275/machine.h: Likewise.
6240 * include/grub/sparc64/ieee1275/machine.h: Likewise.
6241 * include/grub/x86_64/efi/machine.h: Likewise.
6242
6243 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
6244 * commands/halt.c: Likewise.
6245 * commands/reboot.c: Likewise.
6246 * include/grub/autoefi.h: Likewise.
6247 * include/grub/i386/at_keyboard.h: Likewise.
6248 * include/grub/i386/kernel.h: Likewise.
6249 * include/grub/i386/loader.h: Likewise.
6250 * include/grub/i386/pc/memory.h: Likewise.
6251 * kern/dl.c: Likewise.
6252 * kern/i386/coreboot/init.c: Likewise.
6253 * loader/i386/bsd.c: Likewise.
6254 * loader/i386/linux.c: Likewise.
6255 * loader/multiboot_loader.c: Likewise.
6256 * term/i386/pc/serial.c: Likewise.
6257 * term/usb_keyboard.c: Likewise.
6258
6259 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
6260 `<grub/machine/machine.h>'
6261 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
6262 * util/misc.c: Remove `<grub/machine/machine.h>' and
6263 `<grub/machine/time.h>'.
6264
6265 * Makefile.in (enable_grub_emu): Remove variable.
6266 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
6267
6268 * conf/any-emu.rmk: New file.
6269 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
6270 (grub_emu_init.c): Move from here ...
6271 * conf/any-emu.rmk: ... to here.
6272
6273 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
6274 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
6275 * conf/any-emu.rmk: ... to here.
6276
4efeab03
RM
62772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6278
6279 * include/grub/parser.h (grub_parser_register): Document need
6280 of `name' parameter.
6281 * normal/main.c (grub_normal_read_line): Simplify prompt string.
6282 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
6283 "sh" to "grub".
6284
ea1dd8bf
RM
62852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6286
6287 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
6288 `$(XGETTEXT)'.
6289 * include/grub/i18n.h (N_): New macro.
6290 * util/mkisofs/mkisofs.h: Likewise.
6291 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
6292 around N_().
6293 (usage): Use gettext() to translate help strings when printing them.
6294
0c140626
RM
62952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6296
6297 Based on patch from Bean
6298 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6299
6300 * video/efi_fb.c: New file.
6301 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
6302 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6303 variables.
6304 * conf/x86_64-efi.rmk: Likewise.
6305
87d58298
RM
63062009-11-22 Robert Millan <rmh.grub@aybabtu.com>
6307
6308 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
6309 * util/i386/pc/grub-setup.c: Likewise.
6310
994cc3a3
ST
63112009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6312
6313 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
6314 <hurd/fs.h>
6315 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
6316 file_get_storage_info to implement grub_guess_root_device.
6317
26a61d6a
FZ
63182009-11-21 Felix Zielcke <fzielcke@z-51.de>
6319
6320 * Makefile.in (target): Use make's builtin $(shell) function
6321 instead of calling directly $(SHELL) to create the locale directories,
6322 inside the $(foreach) function.
6323
74ff1dd5
FZ
63242009-11-21 Felix Zielcke <fzielcke@z-51.de>
6325
6326 * util/grub-mkrescue.in: Print an error and usage if output option
6327 has not been given.
6328
0b787d0e
FZ
63292009-11-21 Felix Zielcke <fzielcke@z-51.de>
6330
6331 Patch from Loïc Minier <loic.minier@ubuntu.com>.
6332 * util/grub.d/30_os-prober.in: Cope with Linux entries where
6333 root and /boot are on different devices.
6334
1164b270
RM
63352009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6336
6337 Fix build for srcdir != objdir.
6338
6339 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
6340 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
6341 $(srcdir).
6342 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
6343 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
6344 reference for input.
6345
13774a2f
RM
63462009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6347
6348 * util/grub-mkrescue.in: Use source directory direcly (without copiing
6349 or hardlinking it). Remove -J option, Joliet is not compatible with
6350 multiple source directories.
6351
efda854e
RM
63522009-11-21 Carles Pina i Estany <carles@pina.cat>
63532009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6354
6355 * util/grub-mkrescue.in: Recognize `--override-directory' option.
6356 (process_input_dir): New function. Process an arbitrary input
6357 directory.
6358 Misc adjustments to support both "override mode" and system-wide mode.
6359
6c09890c
FZ
63602009-11-20 Felix Zielcke <fzielcke@z-51.de>
6361
6362 * configure.ac (UNIFONT_BDF): Rename to ...
6363 (FONT_SOURCE): ... this. Update all users.
6364
a797824f
FZ
63652009-11-20 Felix Zielcke <fzielcke@z-51.de>
6366
6367 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
6368 to the list of unifont files to look for.
6369
cd4f42b0
RM
63702009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6371
6372 Patch from Joe Auricchio <jauricchio@gmail.com>
6373 * commands/minicmd.c (grub_mini_cmd_clear): New function.
6374 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
6375 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
6376
393c783d
FZ
63772009-11-19 Felix Zielcke <fzielcke@z-51.de>
6378
6379 * Makefile.in (install-local): Add a missing backslash.
6380
b2f1e327
FZ
63812009-11-19 Felix Zielcke <fzielcke@z-51.de>
6382
6383 * include/grub/x86_64/io.h: New file.
6384
f577f7a0
RM
63852009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6386
6387 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
6388 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
6389 Include `"progname.h"'.
6390 (main): Initialize gettext.
6391 * util/i386/pc/grub-setup.c: Gettexttize.
6392 * util/i386/pc/grub-mkimage.c: Likewise.
6393
6394 * Makefile.in (po/*.po): Redefine as ...
6395 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
6396
3bc7896c
RM
6397 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
6398
c37943b6
RM
63992009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6400
6401 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
6402 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
6403 (program_name): Remove.
6404 (main): Initialize gettext support.
6323f705
RM
6405 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
6406 Include `<libintl.h>'.
6407 (_): New macro.
c37943b6
RM
6408
6409 * util/mkisofs/eltorito.c: Gettexttize.
6410 * util/mkisofs/joliet.c: Likewise.
6411 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
6412 * util/mkisofs/multi.c: Likewise.
6413 * util/mkisofs/rock.c: Likewise.
6414 * util/mkisofs/tree.c: Likewise.
6415 * util/mkisofs/write.c: Likewise.
6416
3bc7896c
RM
6417 * po/POTFILES: Update with new files.
6418
5ce77c6e
RM
64192009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6420
6421 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
6422 * util/mkisofs/iso9660.h: Likewise.
6423 * util/mkisofs/joliet.c: Likewise.
6424 * util/mkisofs/mkisofs.c: Likewise.
6425 * util/mkisofs/mkisofs.h: Likewise.
6426 * util/mkisofs/rock.c: Likewise.
6427 * util/mkisofs/tree.c: Likewise.
6428 * util/mkisofs/write.c: Likewise.
6429
6430 * util/mkisofs/eltorito.c (rcsid): Remove.
6431 * util/mkisofs/hash.c: Likewise.
6432 * util/mkisofs/joliet.c: Likewise.
6433 * util/mkisofs/name.c: Likewise.
6434 * util/mkisofs/rock.c: Likewise.
6435 * util/mkisofs/tree.c: Likewise.
6436 * util/mkisofs/write.c: Likewise.
6437
1dabbc77
RM
64382009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6439
6440 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
6441 instead of static allocation.
6442 * util/mkisofs/match.h: Likewise.
6443
633877cb
RM
64442009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6445
3bc7896c
RM
6446 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
6447 and `util/grub.d/10_linux.in'.
633877cb
RM
6448 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
6449 translatable Shell files.
6450
af1c0c85
RM
64512009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6452
6453 * Makefile.in ($(srcdir)/aclocal.m4): New target.
6454
769ae37b
RM
64552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6456
6457 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 6458 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
6459 * util/grub.d/10_kfreebsd.in (bindir): New variable.
6460 Add gettext initialization.
6461 (kfreebsd_entry): Make menuentry output translatable.
6462
64632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6464
6465 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
6466 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
6467 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
6468 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
6469 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 6470 * po/LINGUAS: New file.
769ae37b
RM
6471
64722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6473
6474 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
6475 other things).
6476 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
6477 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
6478 bindtextdomain() calls for gettext initialization.
6479
64802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6481
6482 * gnulib/progname.c: New file (imported from Gnulib).
6483 * gnulib/progname.h: Likewise.
6484 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6485 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
6486 (usage): Replace `progname' with `program_name'.
6487 (main): Use set_program_name() for program name initialization.
6488
64892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6490
6491 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
6492 from here ...
6493 * Makefile.in (CPPFLAGS): ... to here.
6494
64952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6496
6497 * aclocal.m4: Move from here ...
6498 * acinclude.m4: ... to here.
6499 * autogen.sh: Add call to `aclocal'.
6500 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
6501
65022009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6503
6504 * Makefile.in (CLEANFILES): Add `po/*.mo'.
6505 (LINGUAS): New variable.
6506 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
6507 (install-local): Install MO files.
6508 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
6509 * include/grub/i18n.h: New file.
3bc7896c
RM
6510 * po/POTFILES: New file.
6511 * po/ca.po: New file.
769ae37b
RM
6512 * util/grub.d/10_linux.in (bindir): New variable.
6513 Add gettext initialization.
6514 (linux_entry): Make menuentry output translatable.
6515 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
6516 (usage): Make --help output translatable.
6517 (main): Initialize gettext.
6518
02c0a6ad
RM
65192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6520
6521 * import_gcry.py: New file (written by Vladimir with minor
6522 adjustments).
6523 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
6524 ciphers.
6525 * INSTALL: Document that Python is required for bootstrap.
6526
65272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6528
6529 Import ciphers from libgcrypt 1.4.4.
6530
6531 * lib/libgcrypt/cipher/ChangeLog
6532 * lib/libgcrypt/cipher/ac.c
6533 * lib/libgcrypt/cipher/arcfour.c
6534 * lib/libgcrypt/cipher/bithelp.h
6535 * lib/libgcrypt/cipher/blowfish.c
6536 * lib/libgcrypt/cipher/camellia-glue.c
6537 * lib/libgcrypt/cipher/camellia.c
6538 * lib/libgcrypt/cipher/camellia.h
6539 * lib/libgcrypt/cipher/cast5.c
6540 * lib/libgcrypt/cipher/cipher.c
6541 * lib/libgcrypt/cipher/crc.c
6542 * lib/libgcrypt/cipher/des.c
6543 * lib/libgcrypt/cipher/dsa.c
6544 * lib/libgcrypt/cipher/ecc.c
6545 * lib/libgcrypt/cipher/elgamal.c
6546 * lib/libgcrypt/cipher/hash-common.c
6547 * lib/libgcrypt/cipher/hash-common.h
6548 * lib/libgcrypt/cipher/hmac-tests.c
6549 * lib/libgcrypt/cipher/md.c
6550 * lib/libgcrypt/cipher/md4.c
6551 * lib/libgcrypt/cipher/md5.c
6552 * lib/libgcrypt/cipher/primegen.c
6553 * lib/libgcrypt/cipher/pubkey.c
6554 * lib/libgcrypt/cipher/rfc2268.c
6555 * lib/libgcrypt/cipher/rijndael-tables.h
6556 * lib/libgcrypt/cipher/rijndael.c
6557 * lib/libgcrypt/cipher/rmd.h
6558 * lib/libgcrypt/cipher/rmd160.c
6559 * lib/libgcrypt/cipher/rsa.c
6560 * lib/libgcrypt/cipher/seed.c
6561 * lib/libgcrypt/cipher/serpent.c
6562 * lib/libgcrypt/cipher/sha1.c
6563 * lib/libgcrypt/cipher/sha256.c
6564 * lib/libgcrypt/cipher/sha512.c
6565 * lib/libgcrypt/cipher/tiger.c
6566 * lib/libgcrypt/cipher/twofish.c
6567 * lib/libgcrypt/cipher/whirlpool.c
6568
af2f93ac
RM
65692009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6570
6571 Fix build for systems without error().
6572
6573 * gnulib/error.c: New file (imported from Gnulib).
6574 * gnulib/error.h: Likewise.
6575 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
6576 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
6577 (this variable is now used by error()).
6578
73fb3dd5
FZ
65792009-11-16 Felix Zielcke <fzielcke@z-51.de>
6580
814f5e96
FZ
6581 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
6582 instead of relying that char is signed.
73fb3dd5 6583
a691ca33
VS
65842009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
6587 blocksize different from specified.
6588 (grub_pxefs_read): Likewise.
6589
2af8f0f4
FZ
65902009-11-16 Felix Zielcke <fzielcke@z-51.de>
6591
6592 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
6593
6594 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
6595 (grub_ata_readwrite): Likewise. Update 2 format strings.
6596 (grub_atapi_read): Likewise.
6597
6598 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
6599 * conf/i386.rmk (pkglib_MODULES): ... to here ...
6600 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
6601 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
6602 (ata_mod_LDFLAGS): Move from here ...
6603 * conf/i386.rmk: ... to here ...
6604 * conf/x86_64-efi.rmk: ... and here.
6605 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
6606 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
6607
83bdecaf
RM
66082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6609
6610 Relicense multiboot.h, with RMS' blessing.
6611
6612 * include/multiboot.h: Change to X11 license.
6613
fd6fd3d7
RM
66142009-11-15 Robert Millan <rmh.grub@aybabtu.com>
6615
6616 Support --version in grub-mkisofs.
6617
6618 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
6619 (OPTION_VERSION): New macro.
6620 (ld_options): Recognize --version.
6621 (usage): Move `program_name' from here ...
6622 (program_name): ... to here. Add `static' qualifier.
6623 (main): Recognize `OPTION_VERSION'.
6624
16a88c49
FZ
66252009-11-15 Felix Zielcke <fzielcke@z-51.de>
6626
6627 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
6628 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
6629
a4158476
RM
66302009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6631
6632 Fix help2man generation for mkisofs.
6633
6634 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
6635 (usage): Send output to stdout (rather than stderr).
6636
fc2208b0
RM
66372009-11-14 Robert Millan <rmh.grub@aybabtu.com>
6638
6639 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
6640 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6641 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
6642 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
6643 (bin_SCRIPTS): Add `grub-mkfloppy'.
6644 (grub_mkfloppy_SOURCES): New variable.
6645
6646 * util/grub-mkrescue.in: New file.
6647 * util/i386/pc/grub-mkfloppy.in: New file.
6648
6649 * util/i386/coreboot/grub-mkrescue.in: Remove.
6650 * util/i386/pc/grub-mkrescue.in: Remove.
6651
8d0edf4a
RM
66522009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6653
6654 * include/grub/multiboot.h (struct grub_multiboot_header): Move
6655 from here ...
6656 * include/multiboot.h (struct multiboot_header): ... to here. Update
6657 all users.
6658 * include/grub/multiboot.h (struct grub_multiboot_info): Move
6659 from here ...
6660 * include/multiboot.h (struct multiboot_info): ... to here. Update
6661 all users.
6662 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
6663 from here ...
6664 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
6665 Update all users.
6666 * include/grub/multiboot.h (struct grub_mod_list): Move
6667 from here ...
6668 * include/multiboot.h (struct multiboot_mod_list): ... to here.
6669 Update all users.
6670
a73f5969
RM
66712009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6672
6673 * include/multiboot2.h (multiboot_word): Rename from this ...
6674 (multiboot2_word): ... to this. Update all users.
6675 (multiboot_header): Rename from this ...
6676 (multiboot2_header): ... to this. Update all users.
6677 (multiboot_tag_header): Rename from this ...
6678 (multiboot2_tag_header): ... to this. Update all users.
6679 (multiboot_tag_start): Rename from this ...
6680 (multiboot2_tag_start): ... to this. Update all users.
6681 (multiboot_tag_name): Rename from this ...
6682 (multiboot2_tag_name): ... to this. Update all users.
6683 (multiboot_tag_module): Rename from this ...
6684 (multiboot2_tag_module): ... to this. Update all users.
6685 (multiboot_tag_memory): Rename from this ...
6686 (multiboot2_tag_memory): ... to this. Update all users.
6687 (multiboot_tag_unused): Rename from this ...
6688 (multiboot2_tag_unused): ... to this. Update all users.
6689 (multiboot_tag_end): Rename from this ...
6690 (multiboot2_tag_end): ... to this. Update all users.
6691
1c8927f0
RM
66922009-11-13 Robert Millan <rmh.grub@aybabtu.com>
6693
6694 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
6695 this platform we should support Multiboot1 first.
6696
6697 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6698 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
6699 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
6700
6e1e0d89
RM
67012009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6702
6703 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
6704 of write calls (converting them to fwrite() if they aren't already).
6705 (get_torito_desc): Likewise.
6706 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
6707
7f2b34d8
RM
67082009-11-12 Robert Millan <rmh.grub@aybabtu.com>
6709
6710 * util/i386/pc/grub-install.in: Move from here ...
6711 * util/grub-install.in: ... to here. Update all users.
6712
c0ef3311
CW
67132009-11-11 Colin Watson <cjwatson@ubuntu.com>
6714
6715 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
6716
e1f240ff
RM
67172009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6718
6719 Support for El Torito without floppy emulation.
6720
6721 * util/mkisofs/eltorito.c: Include `<errno.h>'.
6722 (init_boot_catalog): Improve error handling.
6723 (get_torito_desc): Don't use floppy emulation unless requested by
6724 user. Patch boot information table when requested via
6725 `-boot-info-table'.
6726 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
6727 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
6728 (use_boot_info_table): New variables.
6729 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
6730 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
6731 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
6732 `--eltorito-emul-floppy'.
6733 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
6734 and `OPTION_ELTORITO_EMUL_FLOPPY'.
6735 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
6736 (use_boot_info_table, get_731): New prototypes.
6737 * util/mkisofs/write.c (get_731): New function.
6738
af7d4de5
FZ
67392009-11-11 Felix Zielcke <fzielcke@z-51.de>
6740
6741 Fix the generation of the man page.
6742
6743 * util/pc/i386/grub-install.in: Source
6744 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6745
2c55dbc0
RM
67462009-11-11 Robert Millan <rmh.grub@aybabtu.com>
6747
6748 Large file support for grub-mkisofs.
6749
6750 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
6751 * util/mkisofs/mkisofs.c (next_extent, last_extent)
6752 (session_start): Upgrade type to `uint64_t'. Update all users.
6753 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
6754 (struct directory_entry): Upgrade type of `starting_block' and
6755 `size' to `uint64_t'. Update all users.
6756 (struct deferred): Remove unused structure.
6757 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
6758 Update all users.
6759 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
6760 file is larger than `UINT32_MAX'.
6761 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
6762 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
6763 return value.
6764 (struct deferred_write): Upgrade type of `extent' and `size' to
6765 `uint64_t'. Update all users.
6766 (last_extent_written): Upgrade type to `uint64_t'. Update all
6767 users.
6768 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
6769 Update all users. Upgrade type of `remain' to `int64_t' and
6770 `use' to `size_t'. Use error() to handle fread() errors.
6771 (write_files): Rely on write_one_file() rather than calling
6772 xfwrite() directly.
6773
6a9cead5
FZ
67742009-11-09 Felix Zielcke <fzielcke@z-51.de>
6775
6776 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
6777
4825d790
RM
67782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6779
6780 * util/mkisofs/fnmatch.c: Remove.
6781 * util/mkisofs/getopt1.c: Likewise.
6782 * util/mkisofs/getopt.c: Likewise.
6783 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
6784 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
6785 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
6786 `gnulib/getopt1.c' and `gnulib/getopt.c'.
6787 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
6788
6789 * configure.ac: Detect `mingw32msvc' host_os.
6790 Check for lstat(), getuid() and getgid().
6791
6792 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
6793 instances of `u_char' with `uint8_t'.
6794
6795 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
6796 [!HAVE_GETUID] (getuid): New function (stub).
6797 [!HAVE_GETGID] (getgid): Likewise.
6798 [!HAVE_LSTAT] (lstat): Likewise.
6799 [!S_IROTH] (S_IROTH): New macro (dummy).
6800 [!S_IRGRP] (S_IRGRP): Likewise.
6801
84b860d8
RM
68022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6803
6804 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
6805 conditional expression).
6806
66e9b712
RM
68072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6808
6809 Import from Gnulib.
6810
6811 * gnulib/fnmatch.c: New file.
6812 * gnulib/fnmatch.h: Likewise.
6813 * gnulib/fnmatch_loop.c: Likewise.
6814 * gnulib/getopt.c: Likewise.
6815 * gnulib/getopt.h: Likewise.
6816 * gnulib/getopt1.c: Likewise.
6817 * gnulib/getopt_int.h: Likewise.
6818 * gnulib/gettext.h: Likewise.
6819
34f4a5b0
RM
68202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6821
6822 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
6823 * normal/handler.c (read_handler_list): Likewise.
6824
ac451143
RM
68252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6826
6827 Misc cleanup.
6828
6829 * kern/command.c (grub_register_command_prio): Use
6830 grub_zalloc() instead of explicitly zeroing data.
6831 * kern/list.c: Include `<grub/mm.h>'.
6832 (grub_named_list_find): Replace `0' with `NULL'.
6833 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
6834 (fs_module_list): Change type to `grub_named_list_t'. Update all
6835 users.
6836 * normal/dyncmd.c (read_command_list): Add space between function
6837 call and parenthesis.
6838 * normal/handler.c (read_handler_list): Likewise.
6839
4089b167
RM
68402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6841
6842 * normal/auth.c (punishment_delay): Moved from here ...
6843 (grub_auth_strcmp): ... to here (inside function).
6844
325f5037
RM
68452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6846
6847 * include/grub/list.h (struct grub_named_list): Remove `const'
6848 qualifier from `name'.
6849 (struct grub_prio_list): Likewise.
6850
7aea29a3
RM
68512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6852
6853 * normal/auth.c: Include `<grub/time.h>'.
6854 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
6855
3fd6f044
RM
68562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6857
6858 * normal/auth.c (punishment_delay): New variable.
6859 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
6860 (grub_auth_check_authentication): Punish failed login attempts with
6861 an incremental (2^N) delay.
6862
a4cd68e4
RM
68632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6864
6865 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
6866 path with $(srcdir).
6867
7ad12f43
VS
68682009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
6871
c1129f03
RM
68722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6873
6874 * util/i386/coreboot/grub-mkrescue.in: New file.
6875 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
6876 variables.
6877
6878 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
6879 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
6880 * configure.ac: Add header and function checks to satisfy grub-mkisofs
6881 requirements.
6882 * util/mkisofs/defaults.h: New file.
6883 * util/mkisofs/eltorito.c: Likewise.
6884 * util/mkisofs/exclude.h: Likewise.
6885 * util/mkisofs/fnmatch.c: Likewise.
6886 * util/mkisofs/getopt.c: Likewise.
6887 * util/mkisofs/getopt1.c: Likewise.
6888 * util/mkisofs/hash.c: Likewise.
6889 * util/mkisofs/include/fctldefs.h: Likewise.
6890 * util/mkisofs/include/mconfig.h: Likewise.
6891 * util/mkisofs/include/prototyp.h: Likewise.
6892 * util/mkisofs/include/statdefs.h: Likewise.
6893 * util/mkisofs/iso9660.h: Likewise.
6894 * util/mkisofs/joliet.c: Likewise.
6895 * util/mkisofs/match.c: Likewise.
6896 * util/mkisofs/match.h: Likewise.
6897 * util/mkisofs/mkisofs.c: Likewise.
6898 * util/mkisofs/mkisofs.h: Likewise.
6899 * util/mkisofs/multi.c: Likewise.
6900 * util/mkisofs/name.c: Likewise.
6901 * util/mkisofs/rock.c: Likewise.
6902 * util/mkisofs/tree.c: Likewise.
6903 * util/mkisofs/write.c: Likewise.
6904
ec8bb77d
VS
69052009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
6908 being insecure.
6909
3716b12c
RM
69102009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6911
6912 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
6913 `grub-mkimage' (and use $0 when possible).
6914
b97b7b91
RM
69152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6916
6917 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
6918 error message for excessively large memory map.
6919
04114812
RM
69202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6921
6922 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
6923 executable bit.
6924
e4eb2373
RM
69252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
6926
6927 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
6928 message for coreboot users.
6929
c926e1d5 69302009-11-07 Robert Millan <rmh.grub@aybabtu.com>
6931
6932 Fix build with GNU gold.
6933
6934 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
6935 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
6936 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
6937 link addresses.
6938 * aclocal.m4: Likewise.
6939
86e5b1db 69402009-11-04 Felix Zielcke <fzielcke@z-51.de>
6941
6942 * configure.ac (AC_PREREQ): Bump to 2.59d.
6943 * INSTALL: Make it more clear when Autoconf and Ruby are
6944 needed and when to run `./autogen.sh'.
6945
246cd78f 69462009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6947
6948 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
6949 OSes.
6950
4f9dfb37 69512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6952
6953 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
6954
b82bd5e1 69552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6956
6957 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
6958 giving it to GNU Mach.
6959
ff1a9bca 69602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6961
6962 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
6963 GNU partition number to get internal GRUB partition number.
6964
61697d9c 69652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6966
6967 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
6968 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
6969
a50569e1 69702009-11-01 Robert Millan <rmh.grub@aybabtu.com>
6971
6972 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
6973 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
6974 case.
6975
5b153867 69762009-11-01 Felix Zielcke <fzielcke@z-51.de>
6977
6978 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
6979
d9e2cd70 69802009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6981
6982 Fix build problem.
6983
6984 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
6985 `-isystem=$(srcdir)/include'.
6986
805111a4 69872009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6988
6989 * util/i386/pc/grub-install.in: Remove hint that device.map should be
6990 checked (grub-install doesn't currently rely on it).
6991
fa6e945f 69922009-10-29 Robert Millan <rmh.grub@aybabtu.com>
6993
6994 Revert SVN r2660.
6995
6996 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
6997 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
6998 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
6999 * conf/i386-ieee1275.rmk: Likewise.
7000 * conf/i386-pc.rmk: Likewise.
7001 * conf/powerpc-ieee1275.rmk: Likewise.
7002 * conf/sparc64-ieee1275.rmk: Likewise.
7003 * conf/x86_64-efi.rmk: Likewise.
7004
cee15086 70052009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7006
7007 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7008
95b9239e 70092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7010
7011 * include/grub/misc.h: Stop checking for APPLE_CC.
7012
2ed19dfd 70132009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7014
7015 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7016 doesn't cause an infinite call loop.
7017
fdcdde19 70182009-10-28 Felix Zielcke <fzielcke@z-51.de>
7019
7020 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7021 strings.
7022
cefabfe1 70232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7024
7025 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7026 variable.
7027 * Makefile.in: Likewise.
7028
ed96ab6d 70292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7030
7031 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7032
0579b753 70332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7034
7035 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7036
478df409 70372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7038
7039 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7040
083d1679 70412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7042
7043 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7044 from here ...
7045 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7046
5947ae32 70472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7048
7049 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7050 in $(MAKEINFO) invocation. This makes it clear in output that
7051 errors are being ignored.
7052
94180ff6 70532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7054
7055 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7056 from here ...
7057 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7058 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7059 * conf/i386-ieee1275.rmk: Likewise.
7060 * conf/i386-pc.rmk: Likewise.
7061 * conf/powerpc-ieee1275.rmk: Likewise.
7062 * conf/sparc64-ieee1275.rmk: Likewise.
7063 * conf/x86_64-efi.rmk: Likewise.
7064
9031b03a 70652009-10-26 Colin Watson <cjwatson@ubuntu.com>
7066
7067 * util/grub-editenv.c (main): If only a command is given, use
7068 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7069 (usage): FILENAME is now optional and has a default.
7070
e4f6809b 70712009-10-26 Colin Watson <cjwatson@ubuntu.com>
7072
7073 Improve grub-mkconfig performance when there are several menu
7074 entries on a single filesystem.
7075
7076 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7077 prepare_grub_to_access_device.
7078 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7079 * util/grub.d/30_os-prober.in: Likewise.
7080
67937d4d 70812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7082
7083 * util/grub.d/10_freebsd.in: Remove.
7084 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7085 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7086
ee3756cc 70872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7088
5c35048e 7089 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 7090
4dea1c6f 70912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7092
7093 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7094 grub_util_error() call.
7095
042484d7 70962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7097
7098 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7099 `reserved_first_sector' member.
7100 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7101 `reserved_first_sector' to 1.
7102 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7103 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7104 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7105 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7106 filesystems which begin at first sector.
7107 (options): New option --skip-fs-probe.
7108 (main): Handle --skip-fs-probe and pass it to setup().
7109
d64448a7 71102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7111
7112 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7113 (memset): Fix function prototype.
7114
508d42ec 71152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
71162009-10-25 Vasily Averin <vvs@parallels.com>
7117
7118 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7119 `dirent.direntlen == 0'.
7120
b240e30c 71212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7122
7123 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7124 `cpio'.
7125 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7126
346e7fbe 71272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7128
7129 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7130 `__trampoline_setup' and `__ucmpdi2'.
7131 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7132 that libgcc provides.
7133
cdb308b0 71342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7135
7136 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7137 * include/grub/sparc64/libgcc.h (memset): Likewise.
7138 * include/grub/misc.h (memset, memcmp): New function prototypes.
7139
fb26abc2 71402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7141
7142 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7143 `cpio'.
7144 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7145
f6693890 71462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7147
7148 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7149 * docs/grub.cfg: Compensate for recent change in multiboot
7150 loader (since 2009-08-14 it won't pass filename to payload).
7151 * util/grub.d/10_hurd.in: Likewise.
7152
0933cdc0 71532009-10-21 Felix Zielcke <fzielcke@z-51.de>
7154
7155 * config.guess: Update to latest version from config git
7156 repository.
7157 * config.sub: Likewise.
7158
3b2fe8c2 71592009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7160
7161 Fix build on sparc64.
7162
7163 * configure.ac: Perform checks for libgcc symbols before
7164 adding `-nostdlib' to LDFLAGS.
7165
46695a62 71662009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 Let user specify OpenBSD root device.
7169
7170 * loader/i386/bsd.c (openbsd_root): New variable.
7171 (openbsd_opts): New option 'root'.
7172 (OPENBSD_ROOT_ARG): New macro.
7173 (grub_openbsd_boot): Use 'openbsd_root'.
7174 (grub_cmd_openbsd): Fill 'openbsd_root'.
7175
d2b6b7fc 71762009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7177
7178 * NEWS: Misc adjustments.
7179
421bd7ac 71802009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
7183
f1d29d87 71842009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7185
7186 * configure.ac: Bump version to 1.97.
7187
6f3cd880 71882009-10-16 Colin Watson <cjwatson@ubuntu.com>
7189
7190 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
7191 -mno-3dnow on x86 architectures. Some toolchains enable these
7192 features by default, but they rely on registers that aren't enabled
7193 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
7194
035f7122 71952009-10-15 Robert Millan <rmh.grub@aybabtu.com>
7196
7197 Make entry text a bit more readable.
7198
7199 * util/grub.d/10_linux.in: Add `with' before `Linux'.
7200
44998e58 72012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
7204
cd2851b3 72052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
7208 operations.
7209
c6f3b249 72102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * configure.ac: Add missing dollar.
7213
6b5886ba 72142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
7217
7218 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
7219 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
7220 exports.
7221 * include/grub/sparc64/libgcc.h: Likewise. Use
7222 preprocessor conditionals.
7223
e9d66f6d 72242009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7225
7226 * conf/common.rmk (grub-dumpbios): Remove rule.
7227 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
7228 * util/grub-dumpbios.in: Remove file.
7229
9155bc17 72302009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7231
7232 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
7233 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
7234
7235 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
7236 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
7237 users.
7238
7239 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
7240 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
7241 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
7242 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
7243 users.
7244
bf7f7a18 72452009-10-12 Robert Millan <rmh.grub@aybabtu.com>
7246
7247 * term/tparm.c: Switch to GPLv3.
7248
86564c26 72492009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7250
7251 * include/grub/i386/cpuid.h: Add header protection.
7252
5c936493 72532009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7254
7255 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
7256
7257 * include/grub/i386/cpuid.h: New file.
7258 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
7259 (has_longmode): Rename to ...
7260 (grub_cpuid_has_longmode): ... this. Update all users. Remove
7261 `static' attribute.
7262 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
7263 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
7264 on a CPU that doesn't implement AMD64 instruction set.
7265
186e7cf2 72662009-10-06 Colin Watson <cjwatson@ubuntu.com>
7267
7268 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
7269 that version.texi is rebuilt on version number changes.
7270
83b65c4a 72712009-10-06 Colin Watson <cjwatson@ubuntu.com>
7272
7273 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
7274 Fixes bug #27602.
7275
d244281c 72762009-10-06 Colin Watson <cjwatson@ubuntu.com>
7277
7278 * util/i386/pc/grub-install.in: Source
7279 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
7280 that the --grub-probe option will work.
7281 * util/sparc64/ieee1275/grub-install.in: Likewise.
7282
da25306d 72832009-10-05 Robert Millan <rmh.grub@aybabtu.com>
7284
7285 * configure.ac: Bump version to 1.97~beta4.
7286
e8ee83c0 72872009-10-03 Robert Millan <rmh.grub@aybabtu.com>
7288
7289 Resync grub-mkdevicemap in x86_64-efi.
7290
7291 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
7292 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
7293 `util/devicemap.c'.
7294
50dcabcf 72952009-10-01 Colin Watson <cjwatson@ubuntu.com>
7296
7297 * util/grub-editenv.c (create_envblk_file): Write new block with a
7298 .new suffix and then rename it into place, to ensure atomic
7299 creation.
7300
0e51c3a7 73012009-09-28 Robert Millan <rmh.grub@aybabtu.com>
7302
7303 Do not automatically install headers.
7304
7305 * Makefile.in (include_DATA): Remove. Update all users.
7306
31299a95 73072009-09-26 Robert Millan <rmh.grub@aybabtu.com>
7308
7309 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
7310 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
7311
7312 * util/osdetect.lua: Remove.
7313 * script/lua/lauxlib.c: Likewise.
7314 * script/lua/ldebug.c: Likewise.
7315 * script/lua/grub_main.c: Likewise.
7316 * script/lua/lauxlib.h: Likewise.
7317 * script/lua/ldebug.h: Likewise.
7318 * script/lua/ltablib.c: Likewise.
7319 * script/lua/liolib.c: Likewise.
7320 * script/lua/lstrlib.c: Likewise.
7321 * script/lua/lualib.h: Likewise.
7322 * script/lua/ldo.c: Likewise.
7323 * script/lua/ldump.c: Likewise.
7324 * script/lua/ldo.h: Likewise.
7325 * script/lua/loslib.c: Likewise.
7326 * script/lua/lundump.c: Likewise.
7327 * script/lua/grub_lib.c: Likewise.
7328 * script/lua/ldblib.c: Likewise.
7329 * script/lua/lundump.h: Likewise.
7330 * script/lua/lmem.c: Likewise.
7331 * script/lua/grub_lib.h: Likewise.
7332 * script/lua/lmathlib.c: Likewise.
7333 * script/lua/lstate.c: Likewise.
7334 * script/lua/ltm.c: Likewise.
7335 * script/lua/lvm.c: Likewise.
7336 * script/lua/lmem.h: Likewise.
7337 * script/lua/lstate.h: Likewise.
7338 * script/lua/ltm.h: Likewise.
7339 * script/lua/ltable.c: Likewise.
7340 * script/lua/lvm.h: Likewise.
7341 * script/lua/llex.c: Likewise.
7342 * script/lua/lgc.c: Likewise.
7343 * script/lua/grub_lua.h: Likewise.
7344 * script/lua/loadlib.c: Likewise.
7345 * script/lua/lfunc.c: Likewise.
7346 * script/lua/lopcodes.c: Likewise.
7347 * script/lua/lparser.c: Likewise.
7348 * script/lua/ltable.h: Likewise.
7349 * script/lua/llex.h: Likewise.
7350 * script/lua/lgc.h: Likewise.
7351 * script/lua/lfunc.h: Likewise.
7352 * script/lua/lbaselib.c: Likewise.
7353 * script/lua/lopcodes.h: Likewise.
7354 * script/lua/lparser.h: Likewise.
7355 * script/lua/lzio.c: Likewise.
7356 * script/lua/linit.c: Likewise.
7357 * script/lua/lobject.c: Likewise.
7358 * script/lua/llimits.h: Likewise.
7359 * script/lua/lstring.c: Likewise.
7360 * script/lua/lzio.h: Likewise.
7361 * script/lua/lapi.c: Likewise.
7362 * script/lua/lcode.c: Likewise.
7363 * script/lua/lua.h: Likewise.
7364 * script/lua/lobject.h: Likewise.
7365 * script/lua/lstring.h: Likewise.
7366 * script/lua/lapi.h: Likewise.
7367 * script/lua/lcode.h: Likewise.
7368 * script/lua/luaconf.h: Likewise.
7369
cb8a2c38 73702009-09-26 Colin Watson <cjwatson@ubuntu.com>
7371
7372 * docs/grub.texi (Command-line and menu entry commands): Document
7373 date and echo commands.
7374
6b9b6276 73752009-09-24 Pavel Roskin <proski@gnu.org>
7376
7377 * include/grub/kernel.h (struct grub_module_header): Remove
7378 `grub_module_header_types'. Make `type' unsigned. Make `size'
7379 32-bit on all platforms.
7380 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
7381 8-bit field. Use grub_host_to_target32() for `size'.
7382 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
7383 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
7384 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
7385
4e5a02a7 73862009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7387
7388 Fix "lost keypress" bug in at_keyboard.
7389
7390 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
7391 Checks for readyness of input buffer (without flushing it).
7392 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
7393 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
7394
c6dcedf6 73952009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7396
7397 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
7398 size check within GRUB_MACHINE_PCBIOS section.
7399
74c958b1 74002009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7401
7402 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
7403 return value.
7404 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
7405 KEYBOARD_ISREADY check.
7406 (grub_at_keyboard_checkkey): Rename to ...
7407 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
7408 Remove gratuitous cast.
7409
ff420223 74102009-09-23 Colin Watson <cjwatson@ubuntu.com>
7411
7412 * configure.ac: Call AC_PROG_MKDIR_P.
7413 * Makefile.in (docs/stamp-vti): Create docs directory. Create
7414 version.texi in $(builddir) rather than $(srcdir).
7415 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
7416 to makeinfo's @include search path.
7417
d96875df 74182009-09-23 Felix Zielcke <fzielcke@z-51.de>
7419
7420 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
7421
9b3f8365 74222009-09-23 Felix Zielcke <fzielcke@z-51.de>
7423
7424 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
7425 for `*.dpkg-new'.
7426
c44c90db 74272009-09-21 Colin Watson <cjwatson@ubuntu.com>
7428
7429 Build info documentation. Some code borrowed from Automake.
7430
7431 * configure.ac: Check for makeinfo.
7432 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
7433 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
7434 docs/version.texi.
7435 (MOSTLYCLEANFILES): Add vti.tmp.
7436 (docs/version.texi, docs/stamp-vti): Update automatically.
7437 (docs/grub.info): Build info documentation. Use --force and ignore
7438 errors for now.
7439 (all-local): Add $(INFOS).
7440 (install-local): Install info files.
7441 (uninstall): Uninstall info files.
7442 * docs/version.texi: Remove from revision control. This file is
7443 automatically generated on build now.
7444 * gendistlist.sh: Add `*.info'.
7445
e0b37bb5 74462009-09-21 Felix Zielcke <fzielcke@z-51.de>
7447
7448 * kern/term.c: Fix indentation.
7449
5a78865b 74502009-09-21 Felix Zielcke <fzielcke@z-51.de>
7451
7452 * util/hostdisk.c: Fix a comment.
7453
dace7e8a 74542009-09-20 Robert Millan <rmh.grub@aybabtu.com>
7455
7456 Fix regression introduced in r2539.
7457
7458 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
7459 to 0xA1.
7460
a83d079b 74612009-09-19 Colin Watson <cjwatson@ubuntu.com>
7462
7463 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 7464 os-prober. Under normal operation, it does not print anything to
7465 stderr; if it does, we need to debug it, and throwing away stderr
7466 makes that excessively difficult.
a83d079b 7467
be94a509 74682009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
7471
63f745e8 74722009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7473
7474 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
7475 AC_LANG_PROGRAM from autoconf.
7476 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
7477 prototypes (fixes warning).
7478
7479 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
7480 `--disable-werror' was used.
7481
bbb2a70f 74822009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7483
7484 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
7485 uninitialized `lastaddr'.
7486
77c24f1d 74872009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7488
0f0b8c87 7489 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 7490
07197f23 74912009-09-14 Colin Watson <cjwatson@ubuntu.com>
7492
7493 * commands/test.c (get_fileinfo): Return immediately if
7494 grub_fs_probe fails.
7495
dabf1798 74962009-09-14 José Martínez <xosemp@gmail.com>
7497
7498 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
7499
d52109a7 75002009-09-14 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
7503 output.
7504
56532179 75052009-09-13 Robert Millan <rmh.grub@aybabtu.com>
7506
7507 * configure.ac: Remove --enable-grub-pe2elf. Only build
7508 grub-pe2elf when needed by the build system itself.
7509 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
7510
8ef070f5 75112009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7512
7513 * configure.ac: Bump version to 1.97~beta3.
7514 * docs/version.texi: Likewise.
7515
61229557 75162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7517
7518 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
7519 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
7520 from here ...
7521 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
7522 (grub_linux_setup_video): ... to here (with some adjustments).
7523
5c9f8d84 75242009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7525
7526 Fix memory corruption issue (spotted by Colin Watson).
7527
7528 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
7529 causing returned size to be stored in an incorrect memory location.
7530 Fix use of uninitialized value when storing the returned size.
7531
e8f5d6e9 75322009-09-12 Yves Blusseau <blusseau@zetam.org>
7533
7534 Change clean rules to properly remove files
7535
7536 * genmk.rb: add new clean rules
7537 * Makefile.in (clean): add the new targets
7538 (mostlyclean): likewise
7539
cda2a409 75402009-09-11 Colin Watson <cjwatson@ubuntu.com>
7541
7542 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
7543 to grub_uint64_t.
7544 * fs/ntfs.c (init_file): Understand 64-bit sizes for
7545 non-resident files.
7546
86695375 75472009-09-11 Colin Watson <cjwatson@ubuntu.com>
7548
7549 * configure.ac: Don't look for help2man when cross-compiling. Fixes
7550 part of bug #27349.
7551
8aa1541a 75522009-09-10 Felix Zielcke <fzielcke@z-51.de>
7553
7554 * util/grub-mkconfig.in: Make the created config mode 400 and
7555 print a warning if it fails.
7556
48d9bb0a 75572009-09-10 Robert Millan <rmh.grub@aybabtu.com>
7558
7559 * util/grub.d/40_custom.in: Ask user to type custom entries below
7560 comment, rather than below 'exec tail' line.
7561
3b0521be 75622009-09-10 Colin Watson <cjwatson@ubuntu.com>
7563
7564 * util/grub.d/40_custom.in: Make sure that the explanatory text is
7565 visible in grub.cfg.
7566
50051d55 75672009-09-10 Colin Watson <cjwatson@ubuntu.com>
7568
7569 * util/grub.d/40_custom.in: Make it a little clearer how to use this
7570 file.
7571
c0d34387 75722009-09-10 Felix Zielcke <fzielcke@z-51.de>
7573
7574 * docs/grub.cfg: Add an example menu entry for memtest86+.
7575
80a608f3 75762009-09-09 Felix Zielcke <fzielcke@z-51.de>
7577
a2094832 7578 * config.guess: Update to latest version from config git.
80a608f3 7579 * config.sub: Likewise.
7580
99423078 75812009-09-08 Colin Watson <cjwatson@ubuntu.com>
7582
7583 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
7584 unknown-command case. Fixes bug #27320.
7585
44454e4c 75862009-09-08 Felix Zielcke <fzielcke@z-51.de>
7587
7588 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
7589 `help' if the command exists.
7590
e30d87ad 75912009-09-06 Robert Millan <rmh.grub@aybabtu.com>
7592
7593 * INSTALL: Require GCC 4.1.3 or later.
7594
9a86f1ec 75952009-09-06 Yves Blusseau <blusseau@zetam.org>
7596
7597 * Makefile.in (RMKFILES): add i386-qemu.rmk
7598 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
7599 $(srcdir)/stamp-h.in
7600
7f26d466 76012009-09-05 Robert Millan <rmh.grub@aybabtu.com>
7602
7603 * util/grub-probe.c (probe): Comment out buggy codepath, which
7604 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
7605 should be re-enabled after 1.97.
7606
3a613259 76072009-09-05 Felix Zielcke <fzielcke@z-51.de>
7608
7609 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
7610 find searches for.
7611
197f76c7 76122009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
7615 unnecessary calls to grub_error.
7616
70ba68ce 76172009-09-04 Colin Watson <cjwatson@ubuntu.com>
7618
7619 * NEWS: Mention `keystatus' and Unicode fonts.
7620
4ff0d7a4 76212009-09-04 Robert Millan <rmh.grub@aybabtu.com>
7622
7623 * configure.ac: Bump version to 1.97~beta2.
7624 * docs/version.texi: Likewise.
7625
77c55a87 76262009-09-03 Colin Watson <cjwatson@ubuntu.com>
7627
7628 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
7629 containing unwind information in some cases where it previously did
7630 not. Use -fno-dwarf2-cfi-asm if available to restore the old
7631 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
7632 discussion.
7633
f79572cd 76342009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
7635
7636 Embedding loadenv module into grub-emu
7637
7638 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
7639 commands/loadenv.c
7640 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
7641 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
7642 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
7643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
7644 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
7645 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
7646
93a81088 76472009-09-03 Magnus Granberg <zorry@ume.nu>
7648
7649 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
7650 include -fPIE in the default specs.
7651 * configure.ac: Check if pie_possible is yes and add -fno-PIE
7652 to TARGET_CFLAGS.
7653
160034b2 76542009-09-03 Felix Zielcke <fzielcke@z-51.de>
7655
7656 * INSTALL: Note that GNU Bison 2.3 or later is required.
7657
087c07c4 76582009-09-03 Colin Watson <cjwatson@ubuntu.com>
7659
7660 * kern/i386/pc/startup.S: Fix typo.
7661
cbf978c0 76622009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
7665 according to GCS.
7666
76672009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 7668
7669 * docs/grub.texi (Naming convention): Describe one-based partition
7670 numbering.
7671 (Device syntax): Likewise.
7672 (File name syntax): Likewise.
7673 (Block list syntax): Likewise.
7674 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
7675 menu.lst.
7676 (File name syntax): Likewise.
7677 (Command-line and menu entry commands): Document acpi, blocklist,
7678 crc, export, insmod, keystatus, ls, set, and unset commands.
7679
f3e8cdfd 76802009-09-02 Colin Watson <cjwatson@ubuntu.com>
7681
7682 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
7683 to avoid implying that only one of --shift, --ctrl, or --alt may be
7684 used.
7685
c0bc232b 76862009-09-02 Colin Watson <cjwatson@ubuntu.com>
7687
7688 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
7689 rather than comparing against S_IFREG, which will almost never work.
7690
aa0f752d 76912009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
7694 (write_blocklists): Likewise.
7695
ecb3166a 76962009-09-01 Colin Watson <cjwatson@ubuntu.com>
7697
7698 * script/lua/grub_lua.h (fputs): Supply a format string as the first
7699 argument to grub_printf.
7700
c403a125 77012009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 7702
7703 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 7704 non GNU test.
31aba781 7705
b5e7312c 77062009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * kern/file.c (grub_file_read): Spelling fix
7709
fe00f472 77102009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
7713 loading of headers in some cases.
7714
cc55302e 77152009-08-30 Robert Millan <rmh.grub@aybabtu.com>
7716
7717 * configure.ac: Bump version to 1.97~beta1.
7718 * docs/version.texi: Likewise.
7719
5c90cdd2 77202009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 7721
7722 * include/grub/i386/xnu.h: Add license header.
7723 include grub/err.h explicitly.
7724
c90edae4 77252009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7726
7727 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
7728 to `ufs' in the vfs.root.mountfrom kernel parameter.
7729
d8888b5c 77302009-08-29 Robert Millan <rmh.grub@aybabtu.com>
7731
7732 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
7733
7734 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
7735 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
7736
7737 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
7738 `ARRAY_SIZE' macro.
7739
6f07b921 77402009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * kern/file.c (grub_file_read): Check offset.
7743 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
7744 * fs/jfs.c (grub_jfs_read_file): Likewise.
7745 * fs/ntfs.c (grub_ntfs_read): Likewise.
7746 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
7747 * fs/minix.c (grub_minix_read_file): Correct offset check.
7748 * fs/ufs.c (grub_ufs_read_file): Likewise.
7749
b4f34077 77502009-08-28 Colin Watson <cjwatson@ubuntu.com>
7751
7752 * term/i386/pc/console.c (bios_data_area): Cast
7753 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
7754
e7c69859 77552009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 1-bit optimised blitters.
7758
7759 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
7760 prototype.
7761 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7762 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7763 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7764 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7765 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7766 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7767 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
7768 function.
7769 (grub_video_fbblit_replace_24bit_1bit): Likewise.
7770 (grub_video_fbblit_replace_16bit_1bit): Likewise.
7771 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7772 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7773 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
7774 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
7775 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
7776 when possible.
7777 * video/video.c (grub_video_get_blit_format): Return
7778 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
7779
a57da43f 77802009-08-28 Colin Watson <cjwatson@ubuntu.com>
7781
7782 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
7783 the first argument to grub_printf.
7784
4cbe67e5 77852009-08-28 Colin Watson <cjwatson@ubuntu.com>
77862009-08-28 Robert Millan <rmh.grub@aybabtu.com>
7787
7788 Add `getkeystatus' terminal method. Add a new `keystatus' command
7789 to query it.
7790
7791 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
7792 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
7793 modifier key bitmasks.
7794 (struct grub_term_input): Add `getkeystatus' member.
7795 (grub_getkeystatus): Add prototype.
7796 * kern/term.c (grub_getkeystatus): New function.
7797
7798 * include/grub/i386/pc/memory.h
7799 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
7800 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
7801 Data Area layout.
7802 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
7803 (grub_console_term_input): Set `getkeystatus' member.
7804 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
7805 constants.
7806 (grub_usb_keyboard_getreport): Likewise.
7807 (grub_usb_keyboard_checkkey): Likewise.
7808 (grub_usb_keyboard_getkeystatus): New function.
7809 (grub_usb_keyboard_term): Set `getkeystatus' member.
7810
7811 * commands/keystatus.c: New file.
7812 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
7813 (keystatus_mod_SOURCES): New variable.
7814 (keystatus_mod_CFLAGS): Likewise.
7815 (keystatus_mod_LDFLAGS): Likewise.
7816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
7817 commands/keystatus.c.
7818 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7820 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7822 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7823 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 7824
6e2a9085 78252009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Split befs.mod and afs.mod into *_be.mod and *.mod
7828
7829 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
7830 (grub_fstest_SOURCES): Likewise.
7831 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
7832 (afs_be_mod_SOURCES): New variable.
7833 (afs_be_mod_CFLAGS): Likewise.
7834 (afs_be_mod_LDFLAGS): Likewise.
7835 (befs_be_mod_SOURCES): Likewise.
7836 (befs_be_mod_CFLAGS): Likewise.
7837 (befs_be_mod_LDFLAGS): Likewise.
7838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
7839 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7840 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7841 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7842 (grub_emu_SOURCES): Likewise.
7843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7844 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7845 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7846 * fs/afs_be.c: New file.
7847 * fs/befs_be.c: New file.
7848 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
7849 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
7850 (U16): Replaced with ...
7851 (grub_afs_to_cpu16): ...this. All users updated.
7852 (U32): Replaced with ...
7853 (grub_afs_to_cpu32): ...this. All users updated.
7854 (U64): Replaced with ...
7855 (grub_afs_to_cpu64): ...this. All users updated.
7856 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
7857 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 7858 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 7859 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7860 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7861 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7862 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7863 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
7864 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
7865 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
7866 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
7867
32a71655 78682009-08-26 Bean <bean123ch@gmail.com>
7869
7870 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
7871 64-bit number.
7872 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7873 (grub_xfs_inode_block): Change return type to grub_uint64_t.
7874 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
7875
552bf6c5 78762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 NetBSD memory map support.
7879
7880 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
7881 (grub_netbsd_btinfo_mmap_header): New structure.
7882 (grub_netbsd_btinfo_mmap_entry): Likewise.
7883 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
7884
1ae2078c 78852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Enable bsd.mod on coreboot.
7888
7889 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
7890 (bsd_mod_SOURCES): New variable.
7891 (bsd_mod_CFLAGS): Likewise.
7892 (bsd_mod_LDFLAGS): Likewise.
7893 (bsd_mod_ASFLAGS): Likewise.
7894 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
7895 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
7896
beefc598 78972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 Cleanup NetBSD root support.
7900
7901 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
7902 grub_bsd_get_device.
7903 Fix typo.
7904
3b76e68b 79052009-08-25 Felix Zielcke <fzielcke@z-51.de>
7906
7907 * util/grub.d/00_header.in: Move check for the video backend of
7908 gfxterm from here ...
7909 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
7910 a suitable video backend.
7911
aea664ea 79122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 Fix breakage in grub-setup.
7915
7916 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
7917 "msdos_partition_map".
7918
ff747d50 79192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 Fix breakage in normal/auth.c.
7922
7923 * normal/auth.c (grub_iswordseparator): New function.
7924
e7e1f93f 79252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 Authentication support.
7928
7929 * commands/password.c: New file.
7930 * conf/common.rmk (pkglib_MODULES): Add password.mod.
7931 (password_mod_SOURCES): New variable.
7932 (password_mod_CFLAGS): Likewise.
7933 (password_mod_LDFLAGS): Likewise.
7934 (normal_mod_SOURCES): Add normal/auth.c.
7935 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
7936 normal/auth.c.
7937 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7938 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7939 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7941 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7942 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7943 * include/grub/auth.h: New file.
7944 * include/grub/err.h (grub_err_t): New enum value
7945 GRUB_ERR_ACCESS_DENIED.
7946 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
7947 'users'.
7948 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
7949 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
7950 users updated.
7951 * normal/auth.c: New file.
7952 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
7953 (grub_cmdline_run): Don't allow to go to command line without
7954 authentication.
7955 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
7956 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
7957 menuentry without superuser rights.
7958 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
7959 user isn't a superuser.
7960
70f1161d 79612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 Save space by inlining misc.c functions.
7964
7965 * kern/misc.c (grub_iswordseparator): Made static.
7966 * kern/misc.c (grub_strcat): Moved from here ...
7967 * include/grub/misc.h (grub_strcat): ... here. Inlined.
7968 * kern/misc.c (grub_strncat): Moved from here ...
7969 * include/grub/misc.h (grub_strncat): ... here. Inlined.
7970 * kern/misc.c (grub_strcasecmp): Moved from here ...
7971 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
7972 * kern/misc.c (grub_strncasecmp): Moved from here ...
7973 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
7974 * kern/misc.c (grub_isalpha): Moved from here ...
7975 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
7976 * kern/misc.c (grub_isdigit): Moved from here ...
7977 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
7978 * kern/misc.c (grub_isgraph): Moved from here ...
7979 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
7980 * kern/misc.c (grub_tolower): Moved from here ...
7981 * include/grub/misc.h (grub_tolower): ... here. Inlined.
7982
48e40bff 79832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * script/sh/function.c (grub_script_function_find): Cut error message
7986 not to flood terminal.
7987 * script/sh/lexer.c (grub_script_yylex): Remove command line length
7988 limit.
7989 * script/sh/script.c (grub_script_arg_add): Duplicate string.
7990
c385bfc3 79912009-08-24 Colin Watson <cjwatson@ubuntu.com>
7992
7993 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
7994 `report' grub_uint8_t *.
7995 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
7996 Use a 50-millisecond timeout rather than just repeating
7997 grub_usb_keyboard_getreport 50 times.
7998 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
7999
2d21e3e8 80002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 Rename *_partition_map to part_*
8003
8004 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8005 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8006 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8007 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8008 All users updated.
8009 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8010 All users updated.
8011 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8012 * util/grub-probe.c (probe_partmap): Don't transform partition name
8013 to get module name.
8014
dd103c4e 80152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 Fix OpenBSD and NetBSD support.
8018
8019 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8020 memory address conflict.
8021 (OPENBSD_MMAP_ACPI): New definition.
8022 (OPENBSD_MMAP_NVS): Likewise.
8023 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8024 and OPENBSD_MMAP_NVS.
8025 Add memory map terminator
8026 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 8027 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 8028
16c84d74 80292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Let user specify NetBSD root device.
8032
8033 * loader/i386/bsd.c (netbsd_root): New variable.
8034 (netbsd_opts): New option 'root'.
8035 (NETBSD_ROOT_ARG): New macro.
8036 (grub_netbsd_boot): Use 'netbsd_root'.
8037 (grub_bsd_unload): Free 'netbsd_root'.
8038 (grub_cmd_netbsd): Fill 'netbsd_root'.
8039
adb29902 80402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 Support for 64-bit NetBSD.
8043
8044 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8045 point when booting non-FreeBSD.
8046
f5ae9f74 80472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Support --no-smp and --no-acpi for NetBSD.
8050
8051 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8052 (NETBSD_AB_NOACPI): Likewise.
8053 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8054 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8055
de74f136 80562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8059 errors.
8060 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8061 errors. Call grub_error when needed.
8062
e9a925da 80632009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * commands/search.c (search_fs): Try searching without autoload first.
8066 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8067 filesystem module explicitly for faster booting.
8068
5174302b 80692009-08-23 Colin Watson <cjwatson@ubuntu.com>
8070
8071 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8072
c8c80635 80732009-08-23 Colin Watson <cjwatson@ubuntu.com>
8074
8075 * util/grub.d/30_os-prober.in: Disable os-prober if
8076 `GRUB_DISABLE_OS_PROBER' was set to true.
8077
71acf5e5 80782009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8079
8080 * partmap/pc.c: Rename to ...
8081 * partmap/msdos.c: ... this. Update all users.
8082 (grub_pc_partition_map): Rename to ...
8083 (grub_msdos_partition_map): ... this. Update all users.
8084
8085 * parttool/pcpart.c: Rename to ...
8086 * parttool/msdospart.c: ... this. Update all users.
8087
8088 * include/grub/pc_partition.h: Rename to ...
8089 * include/grub/msdos_partition.h: ... this. Update all users.
8090 (grub_pc_partition_bsd_entry): Rename to ...
8091 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8092 (grub_pc_partition_disk_label): Rename to ...
8093 (grub_msdos_partition_disk_label): ... this. Update all users.
8094 (grub_pc_partition_entry): Rename to ...
8095 (grub_msdos_partition_entry): ... this. Update all users.
8096 (grub_pc_partition_mbr): Rename to ...
8097 (grub_msdos_partition_mbr): ... this. Update all users.
8098 (grub_pc_partition): Rename to ...
8099 (grub_msdos_partition): ... this. Update all users.
8100 (grub_pc_partition_is_empty): Rename to ...
8101 (grub_msdos_partition_is_empty): ... this. Update all users.
8102 (grub_pc_partition_is_extended): Rename to ...
8103 (grub_msdos_partition_is_extended): ... this. Update all users.
8104 (grub_pc_partition_is_bsd): Rename to ...
8105 (grub_msdos_partition_is_bsd): ... this. Update all users.
8106
8107 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8108 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8109 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8110 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8111 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8112 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8113 (gpt_mod_LDFLAGS): Rename to ...
8114 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8115 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8116 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8117 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8118 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8119 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8120 (part_gpt_mod_LDFLAGS): ... this.
8121 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8122 `pcpart.mod' to `msdospart.mod'.
8123 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8124 to ...
8125 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8126 (msdospart_mod_LDFLAGS): ... this.
8127
c11fded5 81282009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8131 (openbsd_opts): Likewise.
8132 (netbsd_opts): Likewise.
8133 (freebsd_flags): Added 0 terminator.
8134 (openbsd_flags): Likewise.
8135 (netbsd_flags): Likewise.
8136 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8137 (grub_cmd_freebsd): Transformed into extended command.
8138 (grub_cmd_openbsd): Likewise.
8139 (grub_cmd_netbsd): Likewise.
8140 (cmd_freebsd): Changed type to grub_extcmd_t.
8141 (cmd_openbsd): Likewise.
8142 (cmd_netbsd): Likewise.
8143 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8144 grub_cmd_openbsd as extended commands.
8145 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8146 cmd_netbsd and cmd_openbsd
8147
11d1c769 81482009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8151
7a9094e5 81522009-08-21 Pavel Roskin <proski@gnu.org>
8153
5496c37e 8154 * Makefile.in (install-local): When checking if a file is in the
8155 build directory, use "test -e" to detect symlinks.
8156
7a9094e5 8157 * Makefile.in (install-local): Remove all files in
8158 $(DESTDIR)$(pkglibdir) before installing new files there.
8159
e53cea11 81602009-08-18 Felix Zielcke <fzielcke@z-51.de>
8161
8162 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8163 grub-mkelfimage.
8164
9aced544 81652009-08-18 Felix Zielcke <fzielcke@z-51.de>
8166
8167 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8168 explicitly specified by the user.
8169
b7da6bab 81702009-08-18 Pavel Roskin <proski@gnu.org>
8171
8172 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8173 grub_uint8_t pointer for data.
8174 * include/grub/fbutil.h (struct grub_video_fbblit_info):
8175 Likewise.
8176 * video/fb/fbutil.c: Remove unnecessary casts.
8177
19f1b335 81782009-08-17 Michal Suchanek <hramrach@centrum.cz>
8179
8180 VBE cleanup.
8181
8182 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
8183 (grub_vbe_set_video_mode): Save active mode info
8184 only after setting the mode.
8185 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
8186 second argument.
8187
2f467aa9 81882009-08-17 Michal Suchanek <hramrach@centrum.cz>
8189
8190 Rename variables for clarity.
8191
8192 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
8193 (active_vbe_mode_info): ... this. All users updated.
8194 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
8195 All users updated.
8196 (initial_mode): Rename to ...
8197 (initial_vbe_mode): ... this. All users updated.
8198 (mode_in_use): Rename to ..
8199 (vbe_mode_in_use): ... this. All users updated.
8200 (mode_list): Rename to ..
8201 (vbe_mode_list): ... this. All users updated.
8202 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
8203 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
8204 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
8205 'mode_list_size' to 'vbe_mode_list_size'.
8206 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
8207 'best_mode_info' to 'best_vbe_mode_info' and
8208 'best_mode' to 'best_vbe_mode'
8209
6025fcd7 82102009-08-17 Michal Suchanek <hramrach@centrum.cz>
8211
8212 Remove duplicate grub_video_fb_get_video_ptr.
8213
8214 * include/grub/fbutil.h (get_data_ptr): Rename to ...
8215 (grub_video_fb_get_video_ptr): ... this.
8216 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
8217 * video/fb/fbutil.c: Add comment about addressing.
8218 (get_data_ptr): Rename to ...
8219 (grub_video_fb_get_video_ptr): ... this. All users updated.
8220 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
8221
cc8c6faf 82222009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8223
8224 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
8225 grub_dprintf() that was just added.
8226
08aa61f0 82272009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8228
8229 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
8230 (DEFAULT_VIDEO_MODE): Remove macros.
8231 (grub_linux_boot): Remove assumption that Linux has FB support,
8232 and use "text" as default video mode.
8233
7cef4f75 82342009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
8237 grub_dprintf.
8238 * fs/fat.c (grub_fat_read_data): Likewise.
8239
e1f39873 82402009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
8243 payload.
8244 (grub_module): Likewise.
8245
c166d79e 82462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
8249 mbi->cmdline but free playground.
8250
c60cee8e 82512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 Handle group offset on UFS1.
8254
8255 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
8256 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
8257
c0d8b5d4 82582009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 Split ufs.mod into ufs1.mod and ufs2.mod.
8261
8262 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
8263 (grub_fstest_SOURCES): Likewise.
8264 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
8265 (ufs_mod_SOURCES): Remove.
8266 (ufs_mod_CFLAGS): Likewise.
8267 (ufs_mod_LDFLAGS): Likewise.
8268 (ufs1_mod_SOURCES): New variable.
8269 (ufs1_mod_CFLAGS): Likewise.
8270 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 8271 (ufs2_mod_SOURCES): New variable.
8272 (ufs2_mod_CFLAGS): Likewise.
8273 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 8274 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
8275 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8276 Likewise.
8277 (grub_emu_SOURCES): Likewise.
8278 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8279 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8280 (grub_setup_SOURCES): Likewise.
8281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8282 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
8283 (grub_setup_SOURCES): Likewise.
8284 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8285 Likewise.
8286 * fs/ufs2.c: New file.
8287 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
8288
d3539132 82892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 Framebuffer split.
8292
8293 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
8294 subsystem at the end.
8295 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
8296 (video_fb_mod_SOURCES): New variable.
8297 (video_fb_mod_CFLAGS): Likewise.
8298 (video_fb_mod_LDFLAGS): Likewise.
8299 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
8300 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
8301 * video/i386/pc/vbeblit.c: Moved from here ...
8302 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
8303 * video/i386/pc/vbefill.c: Moved from here ...
8304 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
8305 * video/i386/pc/vbeutil.c: Moved from here ...
8306 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
8307 * include/grub/i386/pc/vbeblit.h: Moved from here ...
8308 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
8309 * include/grub/i386/pc/vbefill.h: Moved from here ...
8310 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
8311 * include/grub/i386/pc/vbeutil.h: Moved from here ...
8312 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
8313 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
8314 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
8315 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
8316 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
8317 (grub_video_adapter): Added 'get_info_and_fini'.
8318 (grub_video_get_info_and_fini): New prototype.
8319 (grub_video_set_mode): make modestring const char *.
8320 * loader/i386/linux.c (grub_linux_setup_video): Use
8321 grub_video_get_info_and_fini.
8322 (grub_linux_boot): Move modesetting just before booting.
8323 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
8324 grub_video_get_info_and_fini.
8325 * video/i386/pc/vbe.c: Moved framebuffer part ...
8326 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
8327 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
8328 grub_video_fbstd_colors and grub_video_fb_set_palette.
8329 (grub_video_vbe_init): Clear 'framebuffer' variable and use
8330 grub_video_fb_init.
8331 (grub_video_vbe_fini): Use grub_video_fb_fini.
8332 (grub_video_vbe_setup): Use framebuffer.render_target instead of
8333 render_target and use grub_video_fb_set_active_render_target and
8334 grub_video_fb_set_palette.
8335 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
8336 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
8337 (grub_video_vbe_adapter): Use framebuffer.
8338 * video/video.c (grub_video_get_info_and_fini): New function.
8339 (grub_video_set_mode): Make modestring const char *.
8340 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
8341 values are already initialised.
8342
d404ee56 83432009-08-14 Pavel Roskin <proski@gnu.org>
8344
8345 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
8346 ABS and APPLE_CC.
8347 * boot/i386/pc/diskboot.S: Likewise.
8348 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
8349 sectors allow compilation on MacOSX.
8350 * conf/i386-pc.rmk: Enable unconditional compilation of
8351 lnxboot.img.
8352
9a10df16 83532009-08-13 Colin Watson <cjwatson@ubuntu.com>
8354
8355 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
8356 * util/grub.d/00_header.in: Enter interruptible sleep if
8357 GRUB_HIDDEN_TIMEOUT is set.
8358
be3c9ca7 83592009-08-13 Yves Blusseau <blusseau@zetam.org>
8360
8361 * include/grub/symbol.h: Add the LOCAL macro.
8362 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
8363 starting with "L_".
8364
1f9e557e 83652009-08-13 Pavel Roskin <proski@gnu.org>
8366
9ca62843 8367 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
8368 any modern compilers we support.
8369
1f9e557e 8370 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
8371 Use local labels starting with "L_" so that Apple assembler
8372 knows they are local.
8373
81623db6 83742009-08-10 Robert Millan <rmh.grub@aybabtu.com>
8375
8376 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
8377 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
8378 (bsd_kernel_types): ... this enum.
8379
8380 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
8381 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
8382 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
8383
8384 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
8385 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
8386 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
8387 messages.
8388
f5d35e7a 83892009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8390
8391 * util/grub-dumpdevtree: Moved from here ...
8392 * util/i386/efi/grub-dumpdevtree: ... to here.
8393 (hexify): New function. Converts a string to its hex version.
8394 Generate hex versions of "efi" and "device-properties" by calling
8395 hexify() on the ASCII strings rather than by hardcoding numbers.
8396
d1e1d527 83972009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8398
8399 * fs/jfs.c: Update copyright year.
8400
1ebbe064 84012009-08-08 Felix Zielcke <fzielcke@z-51.de>
8402
8403 * util/grub.d/00_header.in: Fix a comment.
8404 * util/grub.d/10_linux.in: Likewise.
8405 * util/grub.d/10_windows.in: Likewise.
8406 * util/grub.d/10_hurd.in: Likewise.
8407
a78c8d24 84082009-08-08 Felix Zielcke <fzielcke@z-51.de>
8409
8410 * util/grub-mkconfig.in: Allow the user to specify the used font
8411 with GRUB_FONT.
8412
29a6b9e8 84132009-08-08 Pavel Roskin <proski@gnu.org>
8414
b5f16cc4 8415 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
8416 available, xfs.mod needs it now.
8417
2f5cb827 8418 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
8419 the "g" modifier in sed when the intention is to strip something
8420 once. This fixes comparison of kernels with multiple dashes.
8421
29a6b9e8 8422 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
8423 on it. Add missing space before closing bracket. Fix
8424 misleading formatting.
8425
892a3d98 84262009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8427
8428 * docs/grub.texi: Major overhaul. Remove all sections that are
8429 specific to GRUB Legacy, or mostly composed of Legacy-specific
8430 information.
8431
ed94253f 84322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8433
8434 * docs/version.texi: New file. Provides version information for
8435 grub.texi.
8436
126d6628 84372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8438
8439 * docs/grub.texi: Update CVS information to SVN.
8440 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
8441
998b5aa9 84422009-08-07 Felix Zielcke <fzielcke@z-51.de>
8443
8444 * util/grub-mkconfig.in: Remove a wrong `fi'.
8445
818e094a 84462009-08-07 Felix Zielcke <fzielcke@z-51.de>
8447
8448 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
8449 (grub_jfs_uuid): New function.
8450 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
8451
b969c52f 84522009-08-07 Felix Zielcke <fzielcke@z-51.de>
8453
8454 * util/grub-mkconfig_lib.in (font_path): Move the functionality
8455 of it to ...
8456 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
8457 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
8458
7a4894cc 84592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8460
8461 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
8462 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
8463 Update all users.
8464
8465 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
8466 not just "vmlinu[zx]".
8467 Moved from here ...
8468 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
8469 all users.
8470
8471 * util/grub.d/10_linux.in (find_latest): Moved from here ...
8472 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
8473 all users.
8474
4e2171f8 84752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8476
8477 * util/grub.d/10_freebsd.in: Use an absolute device path for
8478 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
8479
6dcfcb32 84802009-08-06 Felix Zielcke <fzielcke@z-51.de>
8481
8482 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
8483 handling of multiple abstraction modules.
8484
f56a8756 84852009-08-04 Robert Millan <rmh.grub@aybabtu.com>
8486
8487 Fix a bug resulting in black screen when loading Linux using a
8488 packed video mode.
8489
8490 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
8491 function.
8492
8493 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
8494 (grub_vbe_bios_getset_dac_palette_width): New function.
8495 (grub_vbe_bios_get_dac_palette_width)
8496 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
8497 grub_vbe_bios_getset_dac_palette_width()).
8498
8499 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
8500 check for return status.
8501 (grub_vbe_get_video_mode_info): When getting information for a packed
8502 mode (<= 8 bpp), obtain DAC palette width using
8503 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
8504 {red,green,blue}_mark_size.
8505
222671b2 85062009-08-04 Felix Zielcke <fzielcke@z-51.de>
8507
ecb1a6d9 8508 * commands/search.c (options): Fix help output to match actual code.
222671b2 8509
f84114f5 85102009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
8513 of homegrown code.
8514
bd288a20 85152009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 8516
8517 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
8518 on XFS or ReiserFS.
8519
8aab5e25 85202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 Support Apple partition map with sector size different from 512 bytes.
8523
8524 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
8525 (apple_partition_map_iterate): Respect 'aheader.blocksize'
8526 and 'apart.partmap_size'.
8527
6ad6258a 85282009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
85292009-08-01 Robert Millan <rmh.grub@aybabtu.com>
8530
8531 Fix cpuid command.
8532
8533 * commands/i386/cpuid.c (options): New variable.
8534 (grub_cmd_cpuid): Return real error.
8535 (GRUB_MOD_INIT(cpuid)): Declare options.
8536
67459bc6 85372009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
8540 valid.
8541
fbc6ab54 85422009-07-31 Bean <bean123ch@gmail.com>
8543
8544 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
8545 log2_inode.
8546 (grub_fshelp_node): Move inode field to the end.
8547 (grub_xfs_data): Remove inode field.
8548 (grub_xfs_inode_block): Calculate inode size using sblock.
8549 (grub_xfs_inode_offset): Likewise.
8550 (grub_xfs_read_inode): Calculate inode size using sblock.
8551 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
8552 (grub_xfs_iterate_dir): Calculate inode size using sblock.
8553 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
8554 to match inode size.
8555 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
8556 not accessible when data is null.
8557 (grub_xfs_open): Likewise.
8558
f45d6cfc 85592009-07-31 Bean <bean123ch@gmail.com>
8560
8561 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
8562 Don't change pv->disk if it's already set.
8563
8564 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
8565 (grub_raid_register): ... here.
8566 (grub_raid_rescan): Removed.
8567
8568 * include/grub/raid.h (grub_raid_rescan): Removed.
8569
8570 * util/grub-fstest.c: Remove include file <grub/raid.h>.
8571 (fstest): Replace grub_raid_rescan with module fini function followed
8572 by init function.
8573
8574 * util/grub-probe.c: Add include file <grub/raid.h>.
8575 (probe_raid_level): New function.
8576 (probe): Detect abstraction by walking the disk device, support two
8577 level of abstraction (LVM on RAID) when detecting partition map.
8578
24443b5a 85792009-07-31 Pavel Roskin <proski@gnu.org>
8580
8581 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
8582 to grub_zalloc(), it was erroneous.
8583 Reported by Bean <bean123ch@gmail.com>
8584
a275d9e7 85852009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 8588 embedding zone, not only the first one.
a275d9e7 8589
56c5a47f 85902009-07-29 Joe Auricchio <jauricchio@gmail.com>
8591
8592 * term/gfxterm.c (clear_char): New function.
8593 (grub_virtual_screen_setup): Use clear_char.
8594 (scroll_up): Likewise.
8595 (grub_virtual_screen_cls): Likewise.
8596
67bb323a 85972009-07-29 Felix Zielcke <fzielcke@z-51.de>
8598
8599 * util/deviceiter.c (get_acceleraid_disk_name): New static
8600 function.
8601 (grub_util_iterate_devices): Handle Accelraid devices.
8602 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
8603
388a7c75 86042009-07-28 Robert Millan <rmh.grub@aybabtu.com>
8605
8606 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
8607 separator for the suggested gfxpayload string (';' collides with the
8608 parser and needs escaping).
8609
3bb7abcf 86102009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
8613 Clear direction flag before jumping to OS.
8614 (grub_multiboot2_real_boot): Likewise.
8615
2ddd36d7 86162009-07-28 Felix Zielcke <fzielcke@z-51.de>
8617
8618 * util/i386/pc/grub-install: Fix parsing of --disk-module
8619 option.
8620
c521b62b 86212009-07-28 Felix Zielcke <fzielcke@z-51.de>
8622
8623 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
8624 when embedding.
8625
880e0a0c 86262009-07-26 Felix Zielcke <fzielcke@z-51.de>
8627
8628 * util/grub-mkconfig.in (package_version): New variable.
8629 Use it do display the version.
8630
2366e356 86312009-07-25 Felix Zielcke <fzielcke@z-51.de>
8632
8633 * kern/file.c (grub_file_open): Revert to previous check with
8634 grub_errno.
8635
7ad8c80e 86362009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
8639 from help line. It's out of sync with code.
8640
72b9658b 86412009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
8644 entries on failed boot.
8645
77435277 86462009-07-25 Felix Zielcke <fzielcke@z-51.de>
8647
8648 * kern/file.c (grub_file_open): Fix an error check.
8649
fcaa8b21 86502009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
8651
35d16c74 8652 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
8653 partition map couldn't be identified.
fcaa8b21 8654
48904cd1 86552009-07-23 Pavel Roskin <proski@gnu.org>
8656
ef3c317f 8657 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
8658 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
8659 case of little endian words becomes just an optimization.
8660 Respect const modifier.
ad8ea1f4 8661 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 8662
48904cd1 8663 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
8664 to avoid loss of upper bits if align is unsigned and shorter
8665 than addr.
8666
260c9a89 86672009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 UUID support for UFS
8670
8671 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
8672 (grub_ufs_uuid): New function.
8673 (grub_ufs_fs): add .uuid
8674
f76ce889 86752009-07-21 Pavel Roskin <proski@gnu.org>
8676
8677 * kern/dl.c (grub_dl_check_header): Make static.
8678
6a6cbcaf 86792009-07-21 Felix Zielcke <fzielcke@z-51.de>
8680
8681 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
8682 add drivemap for Vista. It breaks Windows 7.
8683
cffcddb2 86842009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
8687 128 bytes
8688
1ef44b80 86892009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Add BFS support
8692
8693 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
8694 (grub_fstest_SOURCES): Likewise.
8695 (pkglib_MODULES): Add befs.mod.
8696 (befs_mod_SOURCES): New variable.
8697 (befs_mod_CFLAGS): Likewise.
8698 (befs_mod_LDFLAGS): Likewise.
8699 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8700 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8701 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8702 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8703 (grub_setup_SOURCES): Likewise.
8704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8705 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8706 (grub_setup_SOURCES): Likewise.
8707 * fs/befs.c: New file.
8708 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
8709 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
8710 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
8711 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
8712 (B_KEY_INDEX_ALIGN): New declaration.
8713 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
8714 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
8715 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
8716 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
8717 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
8718 (grub_afs_mount) [MODE_BFS]: Likewise.
8719 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
8720 (grub_afs_fs): Use GRUB_AFS_FSNAME
8721 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
8722 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
8723 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
8724 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
8725
4f253044 87262009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
8727
8728 * util/getroot.c (find_root_device): Add support for MacOSX.
8729 * util/hostdisk.c: Likewise.
8730
57a55913 87312009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * font/font.c (find_glyph): Check whether a font is present to avoid
8734 segmentation fault.
75421ca9 8735
87362009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 8737
8738 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
8739
e98cd0c2 87402009-07-20 Pavel Roskin <proski@gnu.org>
8741
8742 * configure.ac: Trim excessively wordy excuses.
8743
1d2d169a 87442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Add symlink, mtime and label support to AtheFS.
8747
8748 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
8749 (grub_afs_iterate_dir): Handle symlinks.
8750 (grub_afs_open): Use grub_afs_read_symlink.
8751 (grub_afs_dir): Likewise.
8752 Pass mtime.
8753 (grub_afs_label): New function.
8754 (grub_afs_fs): Add grub_afs_label.
8755 (grub_afs_read_symlink): New function.
8756
186f3189 87572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 Fix AtheFS support.
8760
8761 * fs/afs.c: Fix comments style.
8762 (grub_afs_blockrun): Declare as packed.
8763 (grub_afs_datastream): Likewise.
8764 (grub_afs_bnode): Likewise.
8765 (grub_afs_btree): Likewise.
8766 (grub_afs_sblock): Likewise.
8767 Declare `name' as char.
8768 (grub_afs_inode): Declare as packed.
8769 Change void *vnode to grub_uint32_t unused.
8770 (grub_afs_iterate_dir): Check that key_size is positive.
8771 (grub_afs_mount): Don't read superblock twice.
75421ca9 8772 (grub_afs_dir): Don't free node in case of error,
186f3189 8773 grub_fshelp_find_file already handles this.
8774 (grub_afs_open): Likewise.
8775
5680109e 87762009-07-19 Pavel Roskin <proski@gnu.org>
8777
8778 * Makefile.in: Remove LIBLZO and enable_lzo.
8779 * conf/i386-pc.rmk: Remove lzo support.
8780 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
8781 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
8782 support.
8783 * kern/i386/pc/lzo1x.S: Remove.
8784 * kern/i386/pc/startup.S: Remove lzo support.
8785 * util/i386/pc/grub-mkimage.c: Likewise.
8786
ac70fa32 87872009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
8790 * fs/xfs.c (grub_xfs_dir): Likewise.
8791 * fs/afs.c (grub_afs_dir): Likewise.
8792 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8793 (grub_iso9660_open): Likewise.
8794 * fs/jfs.c (grub_jfs_open): Likewise.
8795 * fs/ext2.c (grub_ext2_dir): Likewise.
8796 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
8797 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 8798
eab58da2 87992009-07-16 Pavel Roskin <proski@gnu.org>
8800
d2838156 8801 * configure.ac: Never add "-c" to CFLAGS.
8802
55c70904 8803 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
8804
43e6200c 8805 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
8806 grub_cv_cc_efiemu should be used.
8807
ce7a733d 8808 * configure.ac: Typo fixes.
8809
eab58da2 8810 * kern/mm.c (grub_zalloc): New function.
8811 (grub_debug_zalloc): Likewise.
8812 * include/grub/mm.h: Declare grub_zalloc() and
8813 grub_debug_zalloc().
8814 * util/misc.c (grub_zalloc): New function.
8815 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
8816 instead of grub_malloc(), remove unneeded initializations.
8817 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
8818 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
8819 * commands/parttool.c (grub_cmd_parttool): Likewise.
8820 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8821 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
8822 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
8823 * disk/usbms.c (grub_usbms_finddevs): Likewise.
8824 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
8825 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
8826 (grub_cmd_efiemu_pnvram): Likewise.
8827 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
8828 * fs/iso9660.c (grub_iso9660_mount): Likewise.
8829 (grub_iso9660_iterate_dir): Likewise.
8830 * fs/jfs.c (grub_jfs_opendir): Likewise.
8831 * fs/ntfs.c (list_file): Likewise.
8832 (grub_ntfs_mount): Likewise.
8833 * kern/disk.c (grub_disk_open): Likewise.
8834 * kern/dl.c (grub_dl_load_core): Likewise.
8835 * kern/elf.c (grub_elf_file): Likewise.
8836 * kern/env.c (grub_env_context_open): Likewise.
8837 (grub_env_set): Likewise.
8838 (grub_env_set_data_slot): Likewise.
8839 * kern/file.c (grub_file_open): Likewise.
8840 * kern/fs.c (grub_fs_blocklist_open): Likewise.
8841 * loader/i386/multiboot.c (grub_module): Likewise.
8842 * loader/xnu.c (grub_xnu_create_key): Likewise.
8843 (grub_xnu_create_value): Likewise.
8844 * normal/main.c (grub_normal_add_menu_entry): Likewise.
8845 (read_config_file): Likewise.
8846 * normal/menu_entry.c (make_screen): Likewise.
8847 * partmap/sun.c (sun_partition_map_iterate): Likewise.
8848 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
8849 * script/sh/script.c (grub_script_parse): Likewise.
8850 * video/bitmap.c (grub_video_bitmap_create): Likewise.
8851 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8852 * video/readers/png.c (grub_png_output_byte): Likewise.
8853 (grub_video_reader_png): Likewise.
8854
830afef7 88552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 8856
8857 Enable all targets that can be built by default
8858
830afef7 8859 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 8860 grub-mkfont and grub-fstest if they can be built
8861
ee293aee 88622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 Fix hang and segmentation fault in grub-emu-usb
8865
8866 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
8867 * util/usb.c (grub_libusb_devices): likewise
8868 (grub_libusb_init): rename to ...
8869 (GRUB_MOD_INIT (libusb)):...this
8870 (grub_libusb_fini): rename to ..
8871 (GRUB_MOD_FINI (libusb)):...this
8872 * disk/usbms.c (grub_usbms_transfer): fix retry logic
8873 * include/grub/disk.h (grub_raid_init): removed, it's useless
8874 (grub_raid_fini): likewise
8875 (grub_lvm_init): likewise
8876 (grub_lvm_fini): likewise
8877 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
8878 by grub_init_all
8879
94414221 88802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 Fix libusb
8883
8884 * Makefile.in (LIBUSB): new macro
8885 * genmk.rb (Utility/print_tail): new method
8886 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
8887 (top level): call util.print_tail at the end.
8888
59ade63d 88892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 Make FreeBSD accept zpool.cache
8892
8893 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
8894 type is /boot/zfs/zpool.cache
8895
a58da8c7 88962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 Fix 64-bit efiemu
8899
8900 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
8901 correct wrong typedef
8902 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
8903
20591577 89042009-07-15 Pavel Roskin <proski@gnu.org>
8905
560ca572 8906 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
8907 * kern/disk.c (struct grub_disk_cache): Likewise.
8908
e8e8e4fd 8909 * commands/probe.c (options): Typo fix.
8910
fde24e10 8911 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
8912 Increase to 0x5a to accommodate FAT32. Adjust other offsets
8913 accordingly.
8914 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
8915
379c54c1 8916 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
8917 the end of "Error" to make the message more readable.
8918
7bd8f5bf 8919 * boot/i386/pc/boot.S (kernel_segment): Remove.
8920 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
8921 for destination.
8922
40b132c5 8923 * boot/i386/pc/boot.S (boot_version): Remove.
8924 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8925 Remove.
8926
20591577 8927 * include/grub/i386/pc/boot.h: Sort all offsets.
8928 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
8929 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
8930 * boot/i386/pc/boot.S: Assert location of every offset listed in
8931 include/grub/i386/pc/boot.h.
8932
2df32b2c 89332009-07-13 Pavel Roskin <proski@gnu.org>
8934
44b5d879 8935 * include/grub/i386/coreboot/machine.h: Rename
8936 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
8937 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
8938 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
8939
17dc3751 8940 * kern/dl.c: Force native word size to suppress warnings when
8941 compiling grub-emu.
8942
2df32b2c 8943 * kern/device.c (grub_device_iterate): Change struct part_ent to
8944 hold the name, not a pointer to it. Use one grub_malloc() per
8945 partition, not two. Free partition_name if grub_malloc() fails.
8946 Set ents to NULL only before grub_partition_iterate() is called.
8947
75c59f59 89482009-07-11 Bean <bean123ch@gmail.com>
8949
8950 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
8951 childname.
8952
0ae1bf88 89532009-07-10 Bean <bean123ch@gmail.com>
89542009-07-10 Robert Millan <rmh.grub@aybabtu.com>
8955
8956 * kern/ieee1275/openfw.c (grub_children_iterate)
8957 (grub_devalias_iterate): Fix size evaluation for property or path
8958 strings, which was broken since r2132.
8959
8279cade 89602009-07-07 Pavel Roskin <proski@gnu.org>
8961
7d8a52d3 8962 * commands/search.c (search_file): Merge into ...
8963 (search_fs): ... this. Accept search type as argument.
8964 (grub_cmd_search): Pass search type to search_fs().
8965
25f9a05a 8966 * include/grub/util/console.h: New file.
8967 * util/console.c: Use it instead of grub/machine/console.h.
8968 * util/grub-emu.c: Likewise.
8969
8279cade 8970 * lib/arg.c (find_long_option): Remove.
8971 (find_long): Add `len' argument, make `s' const char *.
8972 (grub_arg_parse): Parse long options in place, not in a
8973 temporary buffer.
8974
4a11b60f 89752009-07-06 Pavel Roskin <proski@gnu.org>
8976
99f68041 8977 * commands/search.c (search_fs): Fix potential NULL pointer
8978 dereference.
8979
4a11b60f 8980 * commands/search.c (search_fs): Replace QUID macro with quid_fn
8981 function pointer.
8982
e110f4de 89832009-07-06 Daniel Mierswa <impulze@impulze.org>
8984
8985 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
8986 comparison.
8987
46eeb6a2 89882009-07-05 Pavel Roskin <proski@gnu.org>
8989
bab74958 8990 * include/grub/i386/linux.h (struct linux_kernel_params):
8991 Restore padding3, it's still needed.
8992
46eeb6a2 8993 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
8994 FreeBSD.
8995 * util/osdetect.lua: Likewise.
8996
b4a1dc79 89972009-07-05 Bean <bean123ch@gmail.com>
8998
8999 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9000
9001 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9002 (grub_lua_getenv): Likewise.
9003 (grub_lua_setenv): Likewise.
9004 (save_errno): New function.
9005 (push_result): Likewise.
9006 (grub_lua_enum_device): Likewise.
9007 (grub_lua_enum_file): Likewise.
9008 (grub_lua_file_open): Likewise.
9009 (grub_lua_file_close): Likewise.
9010 (grub_lua_file_seek): Likewise.
9011 (grub_lua_file_read): Likewise.
9012 (grub_lua_file_getline): Likewise.
9013 (grub_lua_file_getsize): Likewise.
9014 (grub_lua_file_getpos): Likewise.
9015 (grub_lua_file_eof): Likewise.
9016 (grub_lua_file_exist): Likewise.
9017 (grub_lua_add_menu): Likewise.
9018
9019 * script/lua/grub_lua.h (isupper): New inline function.
9020 (islower): Likewise.
9021 (ispunct): Likewise.
9022 (isxdigit): Likewise.
9023 (strcspn): Change to normal function.
9024 (strpbkr): New function declaration.
9025 (memchr): Likewise.
9026
9027 * script/lua/grub_main.c (scan_str): New function.
9028 (strcspn): Likewise.
9029 (strpbrk): Likewise.
9030 (memchr): Likewise.
9031
9032 * script/lua/linit.c (lualibs): Enable the string library.
9033
9034 * util/osdetect.lua: New file.
9035
2da92295 90362009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9037
9038 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9039 `capabilities' member.
9040
b2582ec9 90412009-07-02 Pavel Roskin <proski@gnu.org>
9042
9043 * genparttoollist.sh: Add missing newline at the end.
9044
32622956 90452009-07-01 Pavel Roskin <proski@gnu.org>
9046
87a7339e 9047 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9048
d23af54e 9049 * util/hostdisk.c (open_device): Remove `const' from
9050 `sysctl_size', as sysctlbyname() can change it (in this case it
9051 doesn't actually happen).
9052
c94b18a9 9053 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9054 using signed long int constants.
9055
c6cd3ef0 9056 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9057 constant to avoid a warning on FreeBSD.
9058
0df63420 9059 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9060 where it's needed.
9061
999577f1 9062 * Makefile.in: Install include/grub/machine symlink.
9063
6f41557f 9064 * Makefile.in: When installing symlinks, use "cp -fR", which
9065 works on FreeBSD and MacOSX.
9066 From Yves Blusseau <cl7m42e02@sneakemail.com>
9067
c8d22988 9068 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9069 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9070
1b96e952 9071 * util/misc.c: Move grub_reboot() and grub_halt() ...
9072 * util/grub-emu.c: ... here. Make main_env static.
9073 * include/grub/util/misc.h: Remove main_env.
9074
2ef0084d 9075 * kern/mm.c: Use correct format to print size_t.
9076
32622956 9077 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9078 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9079 * kern/powerpc/dl.c: Likewise.
9080 * kern/sparc64/dl.c: Likewise.
9081 * kern/x86_64/dl.c: Likewise.
9082
3f7f0cd0 90832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9084
9085 Fix grub-emu build on sparc64-ieee1275.
9086
75421ca9 9087 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 9088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9089
211d06b5 90902009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9091
9092 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9093 (grub_reboot, grub_halt): New functions.
9094
9095 * util/i386/pc/misc.c: Delete. Update all users.
9096 * util/sparc64/ieee1275/misc.c: Likewise.
9097 * util/powerpc/ieee1275/misc.c: Likewise.
9098
aaf53e3c 90992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9100
9101 * conf/i386.rmk (setjmp_mod_SOURCES)
9102 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9103 * conf/common.rmk (setjmp_mod_SOURCES)
9104 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9105 to use $(target_cpu).
9106 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9107 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9108 * conf/powerpc-ieee1275.rmk: Likewise.
9109 * conf/sparc64-ieee1275.rmk: Likewise.
9110
9111 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9112 $(target_cpu) for kern/$(target_cpu)/dl.c.
9113 * conf/i386-efi.rmk: Likewise.
9114 * conf/i386-ieee1275.rmk: Likewise.
9115 * conf/x86_64-efi.rmk: Likewise.
9116 * conf/i386-coreboot.rmk: Likewise.
9117 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9118 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9119 kern/$(target_cpu)/cache.S.
9120 * conf/sparc64-ieee1275.rmk: Likewise.
9121
a337130b 91222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9123
9124 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9125 type to `grub_uint8_t', and adjust `padding9' accordingly.
9126
c6fe4d53 91272009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9128
b09db61d 9129 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9130
c6fe4d53 9131 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9132 assembly in final jump, using register constraints.
9133
b09db61d 9134 (grub_linux_boot): For text mode, initialize `have_vga' using
9135 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9136
9137 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9138 right before the final jump.
9139
9140 Set `video_mode' to 0x3.
9141
9142 Document initialization of `video_page', `video_mode' and
9143 `video_ega_bx'.
9144
28333ad0 91452009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9146
9147 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9148 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 9149 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 9150
02164e1b 91512009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9152
9153 Fix build on Debian / sparc.
9154
9155 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9156
18b6c557 91572009-06-28 Pavel Roskin <proski@gnu.org>
9158
85f2aab6 9159 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9160 fix a warning.
9161
18b6c557 9162 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9163
ad760f81 91642009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9165
9166 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9167 `err'.
9168
87a4623b 91692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9170
9171 Revert r2338.
9172
9173 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
9174 file can't be opened. grub_file_open() is already supposed to set
75421ca9 9175 grub_errno / grub_errmsg appropriately.
87a4623b 9176 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9177
8231fb77 91782009-06-27 Pavel Roskin <proski@gnu.org>
91792009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9180
9181 * include/grub/dl.h: Include grub/elf.h.
9182 (struct grub_dl): Add symtab field.
9183 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
9184 GRUB_MODULES_MACHINE_READONLY.
9185 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
9186 of the header for read-only modules.
9187 (grub_dl_unload): Free mod->symtab for read-only modules.
9188 * kern/i386/dl.c: Use mod->symtab.
9189 * kern/powerpc/dl.c: Likewise.
9190 * kern/sparc64/dl.c: Likewise.
9191 * kern/x86_64/dl.c: Likewise.
9192
9193 * conf/i386-qemu.rmk: New file.
9194 * kern/i386/qemu/startup.S: Likewise.
9195 * kern/i386/qemu/mmap.c: Likewise.
9196 * boot/i386/qemu/boot.S: Likewise.
9197 * include/grub/i386/qemu/time.h: Likewise.
9198 * include/grub/i386/qemu/serial.h: Likewise.
9199 * include/grub/i386/qemu/kernel.h: Likewise.
9200 * include/grub/i386/qemu/console.h: Likewise.
9201 * include/grub/i386/qemu/boot.h: Likewise.
9202 * include/grub/i386/qemu/init.h: Likewise.
9203 * include/grub/i386/qemu/machine.h: Likewise.
9204 * include/grub/i386/qemu/loader.h: Likewise.
9205 * include/grub/i386/qemu/memory.h: Likewise.
9206
9207 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
9208 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
9209 [qemu] (pkglib_IMAGES): Add `boot.img'.
9210 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
9211 [qemu] (boot_img_FORMAT): New variables.
9212 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
9213 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
9214 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
9215 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9216 [qemu] (kernel_img_FORMAT): New variables.
9217
9218 * configure.ac: Recognise `i386-qemu'.
9219
9220 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
9221 (for no compression).
9222 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
9223 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
9224 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
9225 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
9226 ifdefs).
9227
97fe384e 92282009-06-27 Pavel Roskin <proski@gnu.org>
9229
9230 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
9231 read.
9232 * efiemu/prepare32.c: Likewise.
9233 * efiemu/prepare64.c: Likewise.
9234
c402ab17 92352009-06-26 Pavel Roskin <proski@gnu.org>
9236
9237 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
9238 * include/grub/elf.h: Define symbols without "32" or "64" based
9239 on GRUB_TARGET_WORDSIZE.
9240 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
9241 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
9242 ELF definitions.
9243 * efiemu/loadcore64.c: Likewise.
9244 * loader/i386/bsd32.c: Likewise.
9245 * loader/i386/bsd64.c: Likewise.
9246 * kern/dl.c: Remove own ELF definitions.
9247 * util/i386/efi/grub-mkimage.c: Likewise.
9248
9bbdfd4d 92492009-06-23 Robert Millan <rmh.grub@aybabtu.com>
9250
9251 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
9252 segment 0x0 unconditionally, because the reference generated by
9253 GAS is an absolute address.
9254
a42ce6e9 92552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9256
9257 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
9258 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
9259
c952cf92 92602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9261
9262 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
9263 indexes. Check for -f explicitly.
cc3752ad 9264 (search_file): Improve error message.
9265 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 9266
132a0a59 92672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9268
9269 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
9270 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
9271
387a140c 92722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9273
9274 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
9275 * conf/i386-ieee1275.rmk: Likewise.
9276 * conf/i386-coreboot.rmk: Likewise.
9277
9278 * kern/i386/pc/startup.S (grub_stop): Remove function.
9279 * kern/i386/ieee1275/startup.S: Likewise.
9280 * kern/i386/coreboot/startup.S: Likewise.
9281 * kern/i386/misc.S (grub_stop): New function.
9282
41da9665 92832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9284
9285 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
9286 * kern/i386/realmode.S (real_to_prot): ... to here.
9287
bf337234 92882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9289
9290 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
9291 with `kernel.img'.
9292 (kernel_elf_SOURCES): Rename to ...
9293 (kernel_img_SOURCES): ... this.
9294 (kernel_elf_HEADERS): Rename to ...
9295 (kernel_img_HEADERS): ... this. Update all users.
9296 (kernel_elf_ASFLAGS): Rename to ...
9297 (kernel_img_ASFLAGS): ... this.
9298 (kernel_elf_CFLAGS): Rename to ...
9299 (kernel_img_CFLAGS): ... this.
9300 (kernel_elf_LDFLAGS): Rename to ...
9301 (kernel_img_LDFLAGS): ... this.
9302 * conf/i386-coreboot.rmk: Likewise.
9303 * conf/powerpc-ieee1275.rmk: Likewise.
9304
9305 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
9306 with "kernel.img".
9307
f52196ff 93082009-06-21 Pavel Roskin <proski@gnu.org>
9309
c3cee413 9310 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
9311 to match nested functions.
9312 * loader/sparc64/ieee1275/linux.c: Likewise.
9313
f52196ff 9314 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
9315
58750afc 93162009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9317
9318 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
9319 all i386 platforms.
9320
15355c7d 93212009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9322
9323 Fix asm file handling on ELF, and remove workarounds.
9324
9325 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 9326 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 9327 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
9328 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
9329
3f3ec72b 93302009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 Load BSD ELF modules
9333
9334 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
9335 and loader/i386/bsd64.c
9336 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
9337 (FREEBSD_MODTYPE_ELF_MODULE): New definition
9338 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
9339 (grub_freebsd_load_elfmodule32): New declaration
9340 (grub_freebsd_load_elfmoduleobj64): Likewise
9341 (grub_freebsd_load_elf_meta32): Likewise
9342 (grub_freebsd_load_elf_meta64): Likewise
9343 (grub_freebsd_add_meta): Likewise
9344 (grub_freebsd_add_meta_module): Likewise
9345 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
9346 (grub_freebsd_add_meta_module): Likewise and move module-specific
9347 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
9348 (grub_cmd_freebsd): Add elf-kernel specific parts
9349 based on grub_freebsd_add_meta_module
9350 (grub_cmd_freebsd_module): Add type parsing moved from
9351 grub_freebsd_add_meta_module
9352 (grub_cmd_freebsd_module_elf): New function
9353 (cmd_freebsd_module_elf): New variable
9354 (GRUB_MOD_INIT): Register freebsd_module_elf
9355 * loader/i386/bsd32.c: New file
9356 * loader/i386/bsd64.c: Likewise
9357 * loader/i386/bsdXX.c: Likewise
9358 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
9359 (grub_elf64_load): Likewise
9360 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
9361 All users updated
9362 (grub_elf64_load_hook_t): Likewise
9363
0db15301 93642009-06-21 Colin Watson <cjwatson@ubuntu.com>
9365
9366 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
9367 variable.
9368 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
9369 don't write a menu entry for recovery mode.
9370
546796c1 93712009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9372
9373 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
9374 after it's no longer needed.
9375
cd7310d5 93762009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9377
9378 * include/grub/i386/loader.h (grub_linux_prot_size)
9379 (grub_linux_tmp_addr, grub_linux_real_addr)
9380 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
9381 GRUB_MACHINE_PCBIOS.
9382 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
9383 common grub_util_info() call to ...
9384 (generate_image): ... here.
9385 Fix use of uninitialized memory, comparison of signed with
9386 unsigned integers and memory leak.
9387 Remove bogus module address message.
9388
ab32d3b5 93892009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
9392 grub_raid_register
9393 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
9394
024ef597 93952009-06-19 Pavel Roskin <proski@gnu.org>
9396
9397 * configure.ac: Remove stray AC_MSG_CHECKING.
9398
3ac72b51 93992009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 9402
e14cd814 94032009-06-18 Pavel Roskin <proski@gnu.org>
9404
9405 * conf/common.rmk: Add fs_file.mod.
9406 * disk/fs_file.c: New file.
9407 * include/grub/disk.h (enum grub_disk_dev_id): Add
9408 GRUB_DISK_DEVICE_FILE_ID.
9409
26586d98 94102009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 Fix build with Apple's toolchain. Part 2
9413
9414 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
9415 a fake start
9416
26de2bcd 94172009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 Fix build with Apple's toolchain. Part 1
9420
9421 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
9422 for long calls
9423 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 9424 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 9425 Apple's toolchain
9426
09b3490b 94272009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 Fix warnings
9430
9431 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
9432 (decomp_block): initialize ch
9433 use grub_memcpy instead of memcpy
9434
c22a006a 94352009-06-17 Pavel Roskin <proski@gnu.org>
9436
d3638678 9437 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
9438 version, use declarations needed to use vga_text as the startup
9439 console.
9440
c22a006a 9441 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
9442 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
9443 the kernel.
9444 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
9445 and grub_at_keyboard_fini(), it's done on module load and
9446 unload.
9447
05b129e0 94482009-06-17 Felix Zielcke <fzielcke@z-51.de>
9449
9450 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
9451 file can't be found.
9452 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9453
cf24ed9e 94542009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 Fix newline handling
9457
9458 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 9459 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 9460 (grub_script_yylex): don't segfault on unterminated script
9461 newline terminates command and variable
9462
74aa8e4b 94632009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 avoid double grub_adjust_range call. Bug reported by David Simner
9466
9467 * kern/disk.c (grub_disk_write): change to raw disk access before
9468 calling disk_read
9469
1bd265f3 94702009-06-17 Colin Watson <cjwatson@ubuntu.com>
9471
9472 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
9473 spaces, for the benefit of help2man.
9474 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9475
a2d08c06 94762009-06-16 Pavel Roskin <proski@gnu.org>
9477
9478 * kern/i386/halt.c: Include grub/machine/init.h.
9479 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
9480
b97bcb19 94812009-06-16 Felix Zielcke <fzielcke@z-51.de>
9482
9483 * util/grub.d/30_os-prober.in: Use ${root} in the generated
9484 drivemap menuentry.
9485
0644f96c 94862009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
9487
9488 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
9489 `echo' command.
9490
3ef17a2e 94912009-06-16 Pavel Roskin <proski@gnu.org>
9492
9493 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
9494 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
9495 save %dx, we only need %dl and we never change it.
9496 * boot/i386/pc/cdboot.S: Don't set the root drive.
9497 * boot/i386/pc/pxeboot.S: Likewise.
9498 * include/grub/i386/pc/boot.h: Remove
9499 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
9500 GRUB_BOOT_MACHINE_DRIVE_CHECK.
9501 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
9502 * kern/i386/pc/init.c (make_install_device): Remove references
9503 to grub_root_drive.
9504 * kern/i386/pc/startup.S: Likewise.
9505 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
9506
693fe637 95072009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 xnu_uuid command
9510
9511 * commands/xnu_uuid.c: new file
9512 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
9513 (xnu_uuid_mod_SOURCES): new variable
9514 (xnu_uuid_mod_CFLAGS): likewise
9515 (xnu_uuid_mod_LDFLAGS): likewise
9516 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9517 * conf/i386-ieee1275.rmk: likewise
9518 * conf/i386-pc.rmk: likewise
9519 * conf/powerpc-ieee1275.rmk: likewise
9520 * conf/sparc64-ieee1275.rmk: likewise
9521 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
9522
c9da87d0 95232009-06-16 Pavel Roskin <proski@gnu.org>
9524
9525 * configure.ac: Avoid '==' in test command, it's not portable.
9526
9c6f4596 95272009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 Probe command
9530
9531 * commands/probe.c: new file
9532 * conf/common.rmk (pkglib_MODULES): add probe.mod
9533 (probe_mod_SOURCES): new variable
9534 (probe_mod_CFLAGS): likewise
9535 (probe_mod_LDFLAGS): likewise
9536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9537 * conf/i386-ieee1275.rmk: likewise
9538 * conf/i386-pc.rmk: likewise
9539 * conf/powerpc-ieee1275.rmk: likewise
9540 * conf/sparc64-ieee1275.rmk: likewise
9541
70b7f9fd 95422009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 Fix handling of string like \"hello\" and "a
9545 b"
9546
9547 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
9548 (grub_script_yylex): fix parsing of quoting, escaping and newline
9549
71c79a6b 95502009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9551
dd74360c 9552 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 9553 handling
dd74360c 9554
0644f96c 95552009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 9556
9557 * util/grub-mkconfig.in: Fix parsing of --output option.
9558
e40893c3 95592009-06-12 Pavel Roskin <proski@gnu.org>
9560
9561 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
9562 genmk.rb don't need to be generated or installed.
9563
3a1acfe2 95642009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * commands/i386/pc/drivemap_int13h.S: add more comments
9567
3a4575d4 95682009-06-11 Pavel Roskin <proski@gnu.org>
9569
0658e928 9570 * Makefile.in (uninstall): Uninstall manuals.
9571
ca0388f0 9572 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
9573 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
9574 and update-grub_lib in two places.
9575 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
9576
e3b27c39 9577 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
9578 a compiler warning.
9579
3a4575d4 9580 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
9581 `entry_lo' to fix variable shadowing.
9582
af1f4f55 95832009-06-11 Christian Franke <franke@computer.org>
9584
9585 * kern/misc.c (__enable_execute_stack): Add missing return type
9586 to prevent gcc warning.
9587
5225e649 95882009-06-11 Felix Zielcke <fzielcke@z-51.de>
9589
9590 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
9591
7d83bd47 95922009-06-11 Pavel Roskin <proski@gnu.org>
9593
c1cb63ba 9594 * Makefile.in: Don't rely on any scripts being executable.
9595 Always use $(SHELL) to run shell scripts.
9596
7d83bd47 9597 * configure.ac: Always define ___main if using -nostdlib. This
9598 fixes tests on Cygwin.
9599
948f48e7 96002009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
9601
9602 UDF fix
9603
7d83bd47 9604 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 9605 is in bytes and not in blocks
7d83bd47 9606
8ada9bc1 96072009-06-11 Pavel Roskin <proski@gnu.org>
9608
9609 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
9610 warning.
9611
25ad2323 96122009-06-11 Felix Zielcke <fzielcke@z-51.de>
9613
9614 * util/grub.d/30_os-prober.in: Fix a comment. Source
9615 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
9616 to set the root device. Place drivemap command in the generated
9617 chain entry.
9618
e65acb0c 96192009-06-11 Pavel Roskin <proski@gnu.org>
9620
9621 * configure.ac: Remove host_m32. Issues with 64-bit utilities
9622 have long been resolved.
9623
f285fe2d 96242009-06-11 Colin Watson <cjwatson@ubuntu.com>
9625
bd47b0b5 9626 * util/grub.d/10_linux.in: Capitalise "Linux".
9627
f285fe2d 9628 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
9629
a0c62e4e 96302009-06-11 Pavel Roskin <proski@gnu.org>
9631
b6783cb2 9632 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
9633 fix a gcc warning and ensure that the function won't ever exit.
9634
dde032e8 9635 * kern/i386/ieee1275/init.c: Add missing prototype for
9636 grub_stop_floppy().
9637
22cd079d 9638 * loader/ieee1275/multiboot2.c [__i386__]: Include
9639 grub/cpu/multiboot.h.
9640
a0c62e4e 9641 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
9642 casts to short - they are not portable and cause warnings. Fix
9643 use of uninitialized values in input_buf. Use ARRAY_SIZE.
9644
63963d17 96452009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 Drivemap fixes
9648
9649 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
9650 new function
9651 (grub_get_root_biosnumber_saved): new variable
9652 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
9653 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 9654 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 9655 %dx after the call if necessary
9656 * conf/common.rmk (pkglib_MODULES): remove boot.mod
9657 (boot_mod_SOURCES): remove
9658 (boot_mod_CFLAGS): remove
9659 (boot_mod_LDFLAGS): remove
9660 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
9661 (boot_mod_SOURCES): new variable
9662 (boot_mod_CFLAGS): likewise
9663 (boot_mod_LDFLAGS): likewise
9664 * conf/i386-efi.rmk: likewise
9665 * conf/i386-ieee1275.rmk: likewise
9666 * conf/i386-pc.rmk: likewise
9667 * conf/powerpc-ieee1275.rmk: likewise
9668 * conf/sparc64-ieee1275.rmk: likewise
9669 * conf/x86_64-efi.rmk: likewise
9670 * include/grub/i386/pc/biosnum.h: new file
9671 * lib/i386/pc/biosnum.c: likewise
9672 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
9673 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
9674 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 9675
33abf7ae 96762009-06-10 Pavel Roskin <proski@gnu.org>
9677
5ac35b35 9678 * io/gzio.c (test_header): Don't reuse one buffer for all data.
9679 Use separate variables. Read only the file size at the end, but
9680 not the checksum that we don't use.
9681
5c5215d5 9682 * kern/file.c (grub_file_read): Use void pointer for the buffer.
9683 Adjust all callers.
9684
27d5fef7 9685 * kern/ieee1275/openfw.c: Remove libc includes.
9686 * kern/ieee1275/cmain.c: Likewise.
9687 * include/grub/ieee1275/ieee1275.h: Likewise.
9688
33abf7ae 9689 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
9690 compiler warnings.
9691
19d50c2b 96922009-06-10 Felix Zielcke <fzielcke@z-51.de>
9693
9694 * Makefile.in: Remove all trailing whitespace.
9695 * conf/i386-pc.rmk: Likewise.
9696 * conf/powerpc-ieee1275.rmk: Likewise.
9697 * conf/sparc64-ieee1275.rmk: Likewise.
9698 * docs/grub.texi: Likewise.
9699 * docs/texinfo.tex: Likewise.
9700 * disk/fs_uuid.c: Likewise.
9701 * disk/lvm.c: Likewise.
9702 * disk/scsi.c: Likewise.
9703 * disk/ata.c: Likewise.
9704 * disk/ieee1275/ofdisk.c: Likewise.
9705 * disk/i386/pc/biosdisk.c: Likewise.
9706 * disk/host.c: Likewise.
9707 * disk/raid.c: Likewise.
9708 * disk/efi/efidisk.c: Likewise.
9709 * disk/usbms.c: Likewise.
9710 * disk/memdisk.c: Likewise.
9711 * disk/loopback.c: Likewise.
9712 * kern/powerpc/dl.c: Likewise.
9713 * kern/device.c: Likewise.
9714 * kern/dl.c: Likewise.
9715 * kern/sparc64/dl.c: Likewise.
9716 * kern/ieee1275/ieee1275.c: Likewise.
9717 * kern/term.c: Likewise.
9718 * kern/fs.c: Likewise.
9719 * kern/i386/dl.c: Likewise.
9720 * kern/i386/pc/startup.S: Likewise.
9721 * kern/i386/pc/init.c: Likewise.
9722 * kern/i386/pc/mmap.c: Likewise.
9723 * kern/i386/pc/lzo1x.S: Likewise.
9724 * kern/i386/ieee1275/init.c: Likewise.
9725 * kern/i386/realmode.S: Likewise.
9726 * kern/i386/tsc.c: Likewise.
9727 * kern/partition.c: Likewise.
9728 * kern/corecmd.c: Likewise.
9729 * kern/file.c: Likewise.
9730 * kern/efi/efi.c: Likewise.
9731 * kern/efi/init.c: Likewise.
9732 * kern/efi/mm.c: Likewise.
9733 * kern/main.c: Likewise.
9734 * kern/err.c: Likewise.
9735 * kern/env.c: Likewise.
9736 * kern/disk.c: Likewise.
9737 * kern/generic/millisleep.c: Likewise.
9738 * kern/generic/rtc_get_time_ms.c: Likewise.
9739 * kern/misc.c: Likewise.
9740 * kern/parser.c: Likewise.
9741 * genmk.rb: Likewise.
9742 * configure.ac: Likewise.
9743 * boot/i386/pc/diskboot.S: Likewise.
9744 * boot/i386/pc/pxeboot.S: Likewise.
9745 * boot/i386/pc/boot.S: Likewise.
9746 * boot/i386/pc/lnxboot.S: Likewise.
9747 * boot/i386/pc/cdboot.S: Likewise.
9748 * parttool/pcpart.c: Likewise.
9749 * video/readers/tga.c: Likewise.
9750 * video/video.c: Likewise.
9751 * video/bitmap.c: Likewise.
9752 * lib/envblk.c: Likewise.
9753 * lib/i386/setjmp.S: Likewise.
9754 * fs/xfs.c: Likewise.
9755 * fs/afs.c: Likewise.
9756 * fs/fat.c: Likewise.
9757 * fs/ntfs.c: Likewise.
9758 * fs/udf.c: Likewise.
9759 * fs/affs.c: Likewise.
9760 * fs/iso9660.c: Likewise.
9761 * fs/hfs.c: Likewise.
9762 * fs/fshelp.c: Likewise.
9763 * fs/ext2.c: Likewise.
9764 * fs/jfs.c: Likewise.
9765 * fs/reiserfs.c: Likewise.
9766 * fs/hfsplus.c: Likewise.
9767 * fs/minix.c: Likewise.
9768 * fs/cpio.c: Likewise.
9769 * fs/sfs.c: Likewise.
9770 * fs/ufs.c: Likewise.
9771 * efiemu/prepare.c: Likewise.
9772 * efiemu/loadcore_common.c: Likewise.
9773 * efiemu/runtime/efiemu.sh: Likewise.
9774 * efiemu/runtime/efiemu.S: Likewise.
9775 * efiemu/runtime/efiemu.c: Likewise.
9776 * efiemu/pnvram.c: Likewise.
9777 * efiemu/main.c: Likewise.
9778 * efiemu/i386/pc/cfgtables.c: Likewise.
9779 * efiemu/i386/loadcore64.c: Likewise.
9780 * efiemu/i386/loadcore32.c: Likewise.
9781 * efiemu/loadcore.c: Likewise.
9782 * efiemu/symbols.c: Likewise.
9783 * efiemu/mm.c: Likewise.
9784 * include/grub/autoefi.h: Likewise.
9785 * include/grub/datetime.h: Likewise.
9786 * include/grub/term.h: Likewise.
9787 * include/grub/hfs.h: Likewise.
9788 * include/grub/lvm.h: Likewise.
9789 * include/grub/i386/tsc.h: Likewise.
9790 * include/grub/i386/linux.h: Likewise.
9791 * include/grub/i386/xnu.h: Likewise.
9792 * include/grub/i386/efiemu.h: Likewise.
9793 * include/grub/i386/pc/biosdisk.h: Likewise.
9794 * include/grub/i386/pc/memory.h: Likewise.
9795 * include/grub/i386/pc/vbe.h: Likewise.
9796 * include/grub/parttool.h: Likewise.
9797 * include/grub/video.h: Likewise.
9798 * include/grub/memory.h: Likewise.
9799 * include/grub/fs.h: Likewise.
9800 * include/grub/partition.h: Likewise.
9801 * include/grub/xnu.h: Likewise.
9802 * include/grub/efi/api.h: Likewise.
9803 * include/grub/efi/pe32.h: Likewise.
9804 * include/grub/efi/memory.h: Likewise.
9805 * include/grub/multiboot.h: Likewise.
9806 * include/grub/usbdesc.h: Likewise.
9807 * include/grub/multiboot2.h: Likewise.
9808 * include/grub/acpi.h: Likewise.
9809 * include/grub/efiemu/efiemu.h: Likewise.
9810 * include/grub/disk.h: Likewise.
9811 * include/grub/ieee1275/ieee1275.h: Likewise.
9812 * include/grub/net.h: Likewise.
9813 * include/grub/machoload.h: Likewise.
9814 * include/grub/macho.h: Likewise.
9815 * include/multiboot.h: Likewise.
9816 * genmoddep.awk: Likewise.
9817 * normal/main.c: Likewise.
9818 * normal/menu_entry.c: Likewise.
9819 * normal/menu_viewer.c: Likewise.
9820 * normal/completion.c: Likewise.
9821 * normal/cmdline.c: Likewise.
9822 * normal/misc.c: Likewise.
9823 * normal/datetime.c: Likewise.
9824 * bus/usb/usbtrans.c: Likewise.
9825 * bus/usb/ohci.c: Likewise.
9826 * bus/usb/uhci.c: Likewise.
9827 * bus/usb/usb.c: Likewise.
9828 * mmap/efi/mmap.c: Likewise.
9829 * mmap/i386/pc/mmap_helper.S: Likewise.
9830 * mmap/i386/pc/mmap.c: Likewise.
9831 * mmap/i386/mmap.c: Likewise.
9832 * mmap/i386/uppermem.c: Likewise.
9833 * mmap/mmap.c: Likewise.
9834 * commands/acpi.c: Likewise.
9835 * commands/echo.c: Likewise.
9836 * commands/blocklist.c: Likewise.
9837 * commands/loadenv.c: Likewise.
9838 * commands/usbtest.c: Likewise.
9839 * commands/boot.c: Likewise.
9840 * commands/parttool.c: Likewise.
9841 * commands/search.c: Likewise.
9842 * commands/cat.c: Likewise.
9843 * commands/i386/pc/play.c: Likewise.
9844 * commands/i386/pc/drivemap.c: Likewise.
9845 * commands/i386/pc/vbeinfo.c: Likewise.
9846 * commands/i386/pc/acpi.c: Likewise.
9847 * commands/i386/pc/vbetest.c: Likewise.
9848 * commands/ls.c: Likewise.
9849 * commands/cmp.c: Likewise.
9850 * commands/test.c: Likewise.
9851 * commands/efi/acpi.c: Likewise.
9852 * commands/gptsync.c: Likewise.
9853 * commands/help.c: Likewise.
9854 * partmap/amiga.c: Likewise.
9855 * partmap/apple.c: Likewise.
9856 * partmap/acorn.c: Likewise.
9857 * partmap/pc.c: Likewise.
9858 * partmap/sun.c: Likewise.
9859 * partmap/gpt.c: Likewise.
9860 * script/sh/lexer.c: Likewise.
9861 * script/sh/function.c: Likewise.
9862 * font/font.c: Likewise.
9863 * font/font_cmd.c: Likewise.
9864 * loader/powerpc/ieee1275/linux.c: Likewise.
9865 * loader/efi/chainloader.c: Likewise.
9866 * loader/multiboot_loader.c: Likewise.
9867 * loader/macho.c: Likewise.
9868 * loader/i386/multiboot.c: Likewise.
9869 * loader/i386/linux.c: Likewise.
9870 * loader/i386/pc/linux.c: Likewise.
9871 * loader/i386/pc/multiboot2.c: Likewise.
9872 * loader/i386/pc/chainloader.c: Likewise.
9873 * loader/i386/pc/xnu.c: Likewise.
9874 * loader/i386/bsd_trampoline.S: Likewise.
9875 * loader/i386/efi/linux.c: Likewise.
9876 * loader/i386/multiboot_elfxx.c: Likewise.
9877 * loader/i386/bsd_helper.S: Likewise.
9878 * loader/i386/bsd.c: Likewise.
9879 * loader/i386/linux_trampoline.S: Likewise.
9880 * loader/i386/xnu_helper.S: Likewise.
9881 * loader/i386/xnu.c: Likewise.
9882 * loader/i386/bsd_pagetable.c: Likewise.
9883 * loader/i386/multiboot_helper.S: Likewise.
9884 * loader/xnu.c: Likewise.
9885 * loader/xnu_resume.c: Likewise.
9886 * io/gzio.c: Likewise.
9887 * term/efi/console.c: Likewise.
9888 * term/terminfo.c: Likewise.
9889 * term/ieee1275/ofconsole.c: Likewise.
9890 * term/i386/pc/serial.c: Likewise.
9891 * term/i386/pc/vesafb.c: Likewise.
9892 * term/i386/pc/vga.c: Likewise.
9893 * term/usb_keyboard.c: Likewise.
9894 * term/gfxterm.c: Likewise.
9895 * aclocal.m4: Likewise.
9896 * util/lvm.c: Likewise.
9897 * util/grub.d/30_os-prober.in: Likewise.
9898 * util/grub.d/10_hurd.in: Likewise.
9899 * util/console.c: Likewise.
9900 * util/grub-macho2img.c: Likewise.
9901 * util/grub-probe.c: Likewise.
9902 * util/hostfs.c: Likewise.
9903 * util/i386/pc/grub-mkimage.c: Likewise.
9904 * util/i386/pc/grub-setup.c: Likewise.
9905 * util/i386/efi/grub-mkimage.c: Likewise.
9906 * util/grub-mkconfig.in: Likewise.
9907 * util/raid.c: Likewise.
9908 * util/resolve.c: Likewise.
9909 * util/grub-mkdevicemap.c: Likewise.
9910 * util/grub-emu.c: Likewise.
9911 * util/getroot.c: Likewise.
9912 * util/hostdisk.c: Likewise.
9913 * util/usb.c: Likewise.
9914 * util/grub-editenv.c: Likewise.
9915 * util/misc.c: Likewise.
9916
d2d49665 99172009-06-10 Felix Zielcke <fzielcke@z-51.de>
9918
9919 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
9920 `genparttoollist.sh'.
9921 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
9922 Add `*.sh' to the list find searches for and change `mdate.sh'
9923 to `mdate-sh'.
9924
fe052e37 99252009-06-10 Pavel Roskin <proski@gnu.org>
9926
2763ac18 9927 * include/grub/multiboot2.h: Provide compatibility defines for
9928 multiboot2.h.
9929 * include/multiboot2.h: Include stdint.h only if needed, using
9930 angle brackets.
9931 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
9932 grub/multiboot2.h.
9933 * loader/ieee1275/multiboot2.c: Likewise.
9934 * loader/multiboot2.c: Likewise.
9935 * loader/multiboot_loader.c: Likewise.
9936
437e6adc 9937 * configure.ac: Use -nostdlib when probing for the target. It
9938 should not be required to have libc for the target.
9939
06a6836c 9940 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
9941 they fail without libc headers for the target.
9942 * include/grub/powerpc/libgcc.h: Use weak attribute for all
9943 exports.
9944 * include/grub/sparc64/libgcc.h: Likewise. Don't use
9945 preprocessor conditionals.
9946
fe052e37 9947 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
9948 build system doesn't need to be aware of the tar.c internals.
9949
afd22553 99502009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 9951
afd22553 9952 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 9953
6b787c4f 99542009-06-09 Robert Millan <rmh.grub@aybabtu.com>
9955
9956 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
9957 disk limit to 26 for IDE, Virtio, Xen and SCSI.
9958
99592009-06-09 Felix Zielcke <fzielcke@z-51.de>
9960
9961 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 9962 aren't available if ata.mod gets used.
6b787c4f 9963
473d1e45 99642009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 9965
473d1e45 9966 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 9967 initialising controller.
473d1e45 9968 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 9969
255a27d4 99702009-06-08 Felix Zielcke <fzielcke@z-51.de>
9971
9972 * util/i386/pc/grub-install.in: Add a parameter --disk-module
9973 to choose between ata and biosdisk module on i386-pc.
9974
473d1e45 99752009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 9976
d55842d8 9977 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
9978 Subclass and Programming Interface fields in terms of the 3 byte
9979 Class Code register.
9980 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9981
fa5db0b1 9982 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
9983 interface is OHCI. Add grub_dprintf for symmetry with
9984 bus/usb/uhci.c.
9985 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
9986 interface is UHCI. Add interf variable for programming
9987 interface. Print interface with class/subclass.
9988
c0947beb 9989 * bus/usb/ohci.c: Set interf with correct field.
9990
69da8877 9991 * bus/usb/uhci.c: Remove unneeded doubled lines.
9992 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
9993 Remove whitespace inside comment.
9994
9e172e30 99952009-06-08 Robert Millan <rmh.grub@aybabtu.com>
9996
9997 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
9998 as fallback an equivalent option without depth.
9999
de65ee2b 100002009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 Not fail if unable to retrieve C/H/S on LBA disks
10003
473d1e45 10004 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 10005 if unable to retrieve C/H/S on LBA disks
10006
b57ea2c9 100072009-06-08 Pavel Roskin <proski@gnu.org>
10008
10009 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10010 about aliasing.
10011
af361263 100122009-06-08 Felix Zielcke <fzielcke@z-51.de>
10013
10014 * Makefile.in (uninstall): Remove all $lib_DATA files.
10015
4c9ec6b3 100162009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 Bugfix: install on partitionless device
10019
10020 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10021 is a whole disk
10022
e76fc924 100232009-06-08 Felix Zielcke <fzielcke@z-51.de>
10024
10025 * Makefile.in (uninstall): Remove all $include_DATA files.
10026
ba5a0d05 100272009-06-08 Felix Zielcke <fzielcke@z-51.de>
10028
10029 * commands/true.c: New file. Implement the true and false commands.
10030 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10031 (true_mod_SOURCES): New variable.
10032 (true_mod_CFLAGS): Likewise.
10033 (true_mod_LDFLAGS): Likewise.
10034
c8048e32 100352009-06-05 Colin D Bennett <colin@gibibit.com>
10036
10037 Optimized font character lookup using binary search instead of linear
10038 search. Fonts now are required to have the character index ordered by
10039 code point.
10040
10041 * font/font.c (load_font_index): Verify that fonts have ordered
10042 character indices.
10043 (find_glyph): Use binary search instead of linear search to find a
10044 character in a font.
10045
408305be 100462009-06-05 Michael Scherer <misc@mandriva.org>
10047
10048 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10049 uses case sensitive btree.
10050 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10051 only for case insensitive filesystems.
10052
8ee1e0d9 100532009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10056 * conf/common.rmk (search_mod_CFLAGS): likewise
10057
a9966eb1 100582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10059
473d1e45 10060 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 10061 compensate a compiler bug
10062
9e7100fb 100632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10064
473d1e45 10065 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 10066 instead of '\b'
473d1e45 10067
ede21d71 100682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 Definitions for creating asm symbols with Apple's CC
10071
10072 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10073 [APPLE_CC] (VARIABLE): likewise
10074
9dbf7653 100752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 Disable lnxboot.img when compiled
10078 with Apple's CC
10079
10080 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10081 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10082 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10083 [! APPLE_CC] (CODE_LENG): skip
10084 [! APPLE_CC] (setup_sects): likewise
10085 [! APPLE_CC]: skip filling
473d1e45 10086
e93cdc3d 100872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 Address in trampolines based on 32-bit registers when compiled
10090 with Apple's CC
10091
473d1e45 10092 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 10093 for addresses
10094 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10095
6c688477 100962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10099
10100 * kern/misc.c [APPLE_CC] (memcpy): new function
10101 [APPLE_CC] (memmove): likewise
10102 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 10103 (memcpy): define alias conditionally on !APPLE_CC
6c688477 10104 (memset): likewise
10105 (abort): likewise
10106 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10107 APPLE_CC are defined
10108 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10109 (grub_assert_fail): make prototype conditional
10110
e37ffc5c 101112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10114
473d1e45 10115 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10116 grub-macho2img
e37ffc5c 10117 (CLEANFILES): add grub-macho2img
10118 (grub_macho2img_SOURCES): new variable
10119 * kern/i386/pc/startup.S (bss_start): new variable
10120 (bss_end): likewise
10121 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10122 * util/grub-macho2img.c: new file
10123
cf00df31 101242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 Use objconv when compiling with Apple's CC
10127
10128 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10129 (efiemu64.o): likewise
10130 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10131 when compiling with Apple's CC
10132 (efiemu64_s.o): likewise
10133 * configure.ac: check for objconv when compiling with Apple's CC
10134 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 10135
d119a20c 101362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 Define segment as well as section when compiling with
10139 Apple's CC
10140
10141 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10142 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10143 (efiemu_convert_pointer): likewise
10144 (efiemu_set_virtual_address_map): likewise
10145 (efiemu_convert_pointer): likewise
10146 (efiemu_getcrc32): likewise
10147 (init_crc32_table): likewise
10148 (reflect): likewise
10149 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10150 (GRUB_MOD_DEP): likewise
473d1e45 10151
c8600122 101522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 Allow a compilation without -mcmodel=large
10155
10156 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10157 when compiled without -mcmodel=large
473d1e45 10158 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 10159 without -mcmodel=large
473d1e45 10160 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 10161 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 10162
e8df1d4e 101632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 Remove nested functions in efiemu core
10166
10167 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 10168
cc6c3ac1 101692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10172
10173 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
10174 temporary storage
473d1e45 10175 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
10176 using Apple's CC
cc6c3ac1 10177 (grub_cpu_is_tsc_supported): likewise
10178 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 10179
3e325901 101802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 Absolute addressing through constant with Apple's cc
10183
10184 * kern/i386/pc/startup.S: Define necessary constants
10185 and address through it when using ABS with Apple's CC
10186 * boot/i386/pc/diskboot.S: likewise
10187 * boot/i386/pc/boot.S: likewise
10188 * boot/i386/pc/lnxboot.S: likewise
10189 * boot/i386/pc/cdboot.S: likewise
10190 * mmap/i386/pc/mmap_helper.S: likewise
10191 * commands/i386/pc/drivemap_int13h.S: likewise
10192
2b167a72 101932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 Check if compiler is apple cc
10196
10197 * Makefile.in (ASFLAGS): new variable
10198 (TARGET_ASFLAGS): likewise
10199 (TARGET_MODULE_FORMAT): likewise
10200 (TARGET_APPLE_CC): likewise
10201 (OBJCONV): likewise
10202 (TARGET_IMG_CFLAGS): likewise
10203 (TARGET_CPPFLAGS): add includedir
10204 * configure.ac: call grub_apple_cc and grub_apple_target_cc
10205 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
10206 Check for linker script only if compiler isn't Apple's CC
10207 (TARGET_MODULE_FORMAT): set
10208 (TARGET_APPLE_CC): likewise
10209 (TARGET_ASFLAGS): likewise
10210 (ASFLAGS): likewise
10211 Check for objcopy only if compiler isn't Apple's CC
10212 Check for BSS symbol only if compiler isn't Apple's CC
10213 * genmk.rb: adapt nm options if we use Apple's utils
10214 * aclocal.m4 (grub_apple_cc): new test
10215 (grub_apple_target_cc): likewise
473d1e45 10216
fb14123e 102172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 Simplify sed expressions and improve awk
10220
10221 * Makefile.in (install-local): simplify sed expression
10222 * gencmdlist.sh: likewise
10223 * genmoddep.awk: avoid adding module as a dependency of itself
10224
5b889789 102252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 Add missing start symbols
10228
10229 * boot/i386/pc/boot.S: add start
fb14123e 10230 * boot/i386/pc/pxeboot.S: likewise
473d1e45 10231
fd2bf2e3 102322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 10235
10236 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 10237 (relocate_addresses): consider both r_addend and value at offset
10238 (make_mods_section): zerofill modinfo and header
10239 (convert_elf): write prefix here
473d1e45 10240
5389763d 102412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 Use .asciz instead of .string
10244
10245 * i386/pc/diskboot.S: use .asciz instead of .string
10246 * i386/pc/boot.S: likewise
10247 * include/grub/dl.h (GRUB_MOD_DEP): likewise
10248 (GRUB_MOD_NAME): likewise
473d1e45 10249
3eb5ed4e 102502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 gfxpayload support
10253
10254 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
10255 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
10256 (grub_video_setup): remove
10257 (grub_video_set_mode): new prototype
10258 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
10259 (vid_mode): remove
10260 (linux_vesafb_res): compile only on PCBIOS
10261 (grub_linux_boot): support gfxpayload
10262 * loader/i386/pc/xnu.c (video_hook): new function
10263 (grub_xnu_set_video): support gfxpayload
10264 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
10265 (DEFAULT_VIDEO_HEIGHT): likewise
10266 (DEFAULT_VIDEO_FLAGS): likewise
10267 (DEFAULT_VIDEO_MODE): new definition
10268 (video_hook): new function
10269 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 10270 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 10271 loading xnu
10272 * video/video.c (grub_video_setup): removed
473d1e45 10273 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 10274 grub_video_setup
10275
4b0e1143 102762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 Avoid calling biosdisk in drivemap
10279
10280 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
10281 (revparse_biosdisk): likewise
10282 (list_mappings): derive name from id directly
10283 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 10284
fda6cb98 102852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 Script fixes
10288
10289 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
10290 (grub_lexer_param): add tokenonhold
10291 (grub_script_create_cmdline): remove cmdline. All callers updated
10292 (grub_script_function_create): make functionname
10293 grub_script_arg. All callers updated
10294 (grub_script_execute_argument_to_string): new prototype
10295 * kern/parser.c (state_transitions): reorder
10296 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 10297 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 10298 make global
10299 (grub_script_execute_cmdline): use new format
10300 * script/sh/function.c (grub_script_function_create): make functionname
10301 grub_script_arg. All callers updated
473d1e45 10302 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 10303 (grub_script_yylex): remove
10304 (grub_script_yylex2): renamed to ...
10305 (grub_script_yylex): ...renamed
10306 parse the expressions like a${b}c
10307 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
10308 (GRUB_PARSER_TOKEN_VAR): remove
10309 (GRUB_PARSER_TOKEN_NAME): likewise
10310 ("if"): declare as typeless
10311 ("while"): likewise
10312 ("function"): likewise
10313 ("else"): likewise
10314 ("then"): likewise
10315 ("fi"): likewise
10316 (text): remove
10317 (argument): likewise
10318 (script): accept empty scripts and make exit on error
10319 (arguments): use GRUB_PARSER_TOKEN_ARG
10320 (function): likewise
10321 (command): move error handling to script
10322 (menuentry): move grub_script_lexer_ref before
473d1e45 10323 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 10324 argument. All callers updated
10325
f4448a07 103262009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10327
10328 Prevent GRUB from probing floppies during boot.
10329
10330 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
10331 * commands/search.c (options): Add --no-floppy.
10332 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
10333 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
10334 --no-floppy when searching for UUIDs.
10335
2bf5885a 103362009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10337
10338 Simplify the code duplication in commands/search.c.
10339
10340 * commands/search.c (search_label, search_fs_uuid): Merge into ...
10341 (search_fs): ... this. Update all users.
10342
f6fd460a 103432009-06-03 Felix Zielcke <fzielcke@z-51.de>
10344
10345 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
10346
cbb3c83e 103472009-05-28 Pavel Roskin <proski@gnu.org>
10348
57788cfd 10349 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
10350 Remove the original symlink explicitly.
10351
cbb3c83e 10352 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
10353 just one slash. That's how grub_fshelp_find_file() does it.
10354
cd0d5e30 103552009-05-26 Pavel Roskin <proski@gnu.org>
10356
f0f8bbe2 10357 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
10358 to `str'.
10359
cd0d5e30 10360 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
10361 possibly unused.
10362
8c2cab51 103632009-05-25 Christian Franke <franke@computer.org>
10364
10365 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
10366 register.
10367 (grub_atapi_identify): Add wait after drive select.
10368 (grub_ata_identify): Do more strict status register check before
10369 calling grub_atapi_identify (). Suppress error message if status
10370 register is 0x00 after command failure. Add status register
10371 check after PIO read to avoid bogus identify due to stuck DRQ.
10372 Thanks to Pavel Roskin for testing.
10373 (grub_device_initialize): Remove unsafe status register check.
10374 Thanks to 'phcoder' for problem report and patch.
10375 Prevent sign extension in debug message.
10376
230c0ad6 103772009-05-23 Colin D Bennett <colin@gibibit.com>
10378
10379 Cleaned up `include/grub/normal.h'. Grouped prototypes by
10380 definition file, and functions defined in `normal/menu.c' have had
10381 their prototypes moved to `include/grub/menu.h' for consistency.
10382
10383 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
10384 from normal.h.
10385 (grub_menu_get_entry): Likewise.
10386 (grub_menu_get_timeout): Likewise.
10387 (grub_menu_set_timeout): Likewise.
10388 (grub_menu_execute_entry): Likewise.
10389 (grub_menu_execute_with_fallback): Likewise.
10390 (grub_menu_entry_run): Likewise.
10391
10392 * include/grub/normal.h: Re-ordered and grouped function
10393 prototypes by file that the function is defined in.
10394 (grub_menu_execute_callback): Removed; moved to menu.h.
10395 (grub_menu_get_entry): Likewise.
10396 (grub_menu_get_timeout): Likewise.
10397 (grub_menu_set_timeout): Likewise.
10398 (grub_menu_execute_entry): Likewise.
10399 (grub_menu_execute_with_fallback): Likewise.
10400 (grub_menu_entry_run): Likewise.
10401 (grub_menu_addentry): Renamed from this ...
10402 (grub_normal_add_menu_entry): ... to this.
10403
10404 * normal/main.c (grub_menu_addentry): Renamed from this ...
10405 (grub_normal_add_menu_entry): ... to this.
10406
10407 * script/sh/execute.c (grub_script_execute_menuentry): Update
10408 reference to renamed grub_menu_addentry function.
10409
861f03a5 104102009-05-23 Felix Zielcke <fzielcke@z-51.de>
10411
10412 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
10413
96b1619a 104142009-05-22 Pavel Roskin <proski@gnu.org>
10415
bf6a5fb2 10416 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
10417 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
10418 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
10419 compiling for the i386 targets, but not for the utilities.
10420
96b1619a 10421 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
10422 to grub_uint8_t.
10423 (grub_root_drive): Likewise.
10424 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
10425 remove alignment.
10426 (grub_root_drive): Change size to byte.
10427 (grub_start_addr): Remove.
10428 (grub_end_addr): Likewise.
10429 (grub_apm_bios_info): Likewise.
10430
b729776b 104312009-05-21 Felix Zielcke <fzielcke@z-51.de>
10432
10433 * normal/i386: Remove.
10434 * normal/powerpc: Likewise.
10435 * normal/sparc64: Likewise.
10436 * normal/x86_64: Likewise.
10437
0a15ce80 104382009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 10441 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 10442 * loader/i386/xnu_helper.S: Likewise
d6da58e6 10443
33db9015 104442009-05-18 Colin D Bennett <colin@gibibit.com>
10445
d6da58e6 10446 Display error messages when parsing a Lua statement fails.
10447 Previously, executing a syntactically invalid statement like
10448 ")foo" or "bar;" would silently fail.
33db9015 10449
10450 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 10451 (grub_lua_parse_line): Improved reporting of Lua parser and
10452 execution errors.
33db9015 10453
46422c89 104542009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 Remove -Werror which causes build to fail on some systems
10457
10458 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
10459 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
10460 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 10461
22f53a96 104622009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 trampoline for linux on 64-bit platform
10465
18f547ad 10466 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
10467 loader/i386/efi/linux_trampoline.S
10468 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 10469 declaration
d6da58e6 10470 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
10471 here
22f53a96 10472 * loader/i386/linux_trampoline.S: moved here
d6da58e6 10473 * loader/i386/efi/linux.c (allocate_pages): reserve space for
10474 trampoline
22f53a96 10475 (jumpvector): removed
10476 (grub_linux_trampoline_start): new declaration
10477 (grub_linux_trampoline_end): likewise
10478 (grub_linux_boot): use trampoline when on 64-bit platform
10479 * loader/i386/linux.c: likewise
10480
cb5a0f40 104812009-05-16 Pavel Roskin <proski@gnu.org>
10482
10483 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
10484 const to avoid a warning.
10485 (grub_lua_setenv): Likewise.
10486 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
10487 lmsg to fix a warning.
10488
334f2c28 104892009-05-16 Felix Zielcke <fzielcke@z-51.de>
10490
10491 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 10492 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10493 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
10494 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10495 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10496 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10497 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10498 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 10499
59e5d3ec 105002009-05-16 Felix Zielcke <fzielcke@z-51.de>
10501
10502 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
10503
9d87a1ba 105042009-05-16 Bean <bean123ch@gmail.com>
10505
10506 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
10507 (lua_mod_SOURCES): New variable.
10508 (lua_mod_CFLAGS): Likewise.
10509 (lua_mod_LDFLAGS): Likewise.
10510
10511 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
10512 (setjmp_mod_SOURCES): New variable.
10513 (setjmp_mod_CFLAGS): Likewise.
10514 (setjmp_LDFLAGS): Likewise.
10515
10516 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
10517 (setjmp_mod_SOURCES): New variable.
10518 (setjmp_mod_CFLAGS): Likewise.
10519 (setjmp_LDFLAGS): Likewise.
10520
10521 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10522 (setjmp_mod_SOURCES): New variable.
10523 (setjmp_mod_CFLAGS): Likewise.
10524 (setjmp_LDFLAGS): Likewise.
10525
10526 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10527 (setjmp_mod_SOURCES): New variable.
10528 (setjmp_mod_CFLAGS): Likewise.
10529 (setjmp_LDFLAGS): Likewise.
10530
10531 * normal/i386/setjmp.S: Moved from here ...
10532 * lib/i386/setjmp.S: ... Moved here
10533 * normal/x86_64/setjmp.S: Moved from here ...
10534 * lib/x86_64/setjmp.S: ... Moved here
10535 * normal/powerpc/setjmp.S: Moved from here ...
10536 * lib/powerpc/setjmp.S: ... Moved here
10537 * normal/sparc64/setjmp.S: Moved from here ...
10538 * lib/sparc64/setjmp.S: ... Moved here
10539
10540 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
10541 returns_twice in mingw.
10542
10543 * script/lua/grub_lib.c: New file.
10544 * script/lua/grub_lib.h: Likewise.
10545 * script/lua/grub_lua.h: Likewise.
10546 * script/lua/grub_main.c: Likewise.
10547 * script/lua/lapi.c: Likewise.
10548 * script/lua/lapi.h: Likewise.
10549 * script/lua/lauxlib.c: Likewise.
10550 * script/lua/lauxlib.h: Likewise.
10551 * script/lua/lbaselib.c: Likewise.
10552 * script/lua/lcode.c: Likewise.
10553 * script/lua/lcode.h: Likewise.
10554 * script/lua/ldblib.c: Likewise.
10555 * script/lua/ldebug.c: Likewise.
10556 * script/lua/ldebug.h: Likewise.
10557 * script/lua/ldo.c: Likewise.
10558 * script/lua/ldo.h: Likewise.
10559 * script/lua/ldump.c: Likewise.
10560 * script/lua/lfunc.c: Likewise.
10561 * script/lua/lfunc.h: Likewise.
10562 * script/lua/lgc.c: Likewise.
10563 * script/lua/lgc.h: Likewise.
10564 * script/lua/linit.c: Likewise.
10565 * script/lua/liolib.c: Likewise.
10566 * script/lua/llex.c: Likewise.
10567 * script/lua/llex.h: Likewise.
10568 * script/lua/llimits.h: Likewise.
10569 * script/lua/lmathlib.c: Likewise.
10570 * script/lua/lmem.c: Likewise.
10571 * script/lua/lmem.h: Likewise.
10572 * script/lua/loadlib.c: Likewise.
10573 * script/lua/lobject.c: Likewise.
10574 * script/lua/lobject.h: Likewise.
10575 * script/lua/lopcodes.c: Likewise.
10576 * script/lua/lopcodes.h: Likewise.
10577 * script/lua/loslib.c: Likewise.
10578 * script/lua/lparser.c: Likewise.
10579 * script/lua/lparser.h: Likewise.
10580 * script/lua/lstate.c: Likewise.
10581 * script/lua/lstate.h: Likewise.
10582 * script/lua/lstring.c: Likewise.
10583 * script/lua/lstring.h: Likewise.
10584 * script/lua/lstrlib.c: Likewise.
10585 * script/lua/ltable.c: Likewise.
10586 * script/lua/ltable.h: Likewise.
10587 * script/lua/ltablib.c: Likewise.
10588 * script/lua/ltm.c: Likewise.
10589 * script/lua/ltm.h: Likewise.
10590 * script/lua/lua.h: Likewise.
10591 * script/lua/luaconf.h: Likewise.
10592 * script/lua/lualib.h: Likewise.
10593 * script/lua/lundump.c: Likewise.
10594 * script/lua/lundump.h: Likewise.
10595 * script/lua/lvm.c: Likewise.
10596 * script/lua/lvm.h: Likewise.
10597 * script/lua/lzio.c: Likewise.
10598 * script/lua/lzio.h: Likewise.
10599
5e898c9d 106002009-05-16 Bean <bean123ch@gmail.com>
10601
10602 * include/grub/kernel.h (grub_module_header_types): Add type
10603 OBJ_TYPE_CONFIG.
10604
10605 * kern/main.c (grub_load_config): New function.
10606 (grub_main): Call grub_load_config to read boot config.
10607
10608 * grub-mkimage (generate_image): New parameter config_path.
10609 (options): New option --config.
10610 (main): Parse --config option, and pass it to generate_image.
10611
cf353a47 106122009-05-14 Christian Franke <franke@computer.org>
10613
10614 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
10615 This fixes build on Cygwin.
10616
3834887f 106172009-05-14 Pavel Roskin <proski@gnu.org>
10618
10619 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
10620 jump. This saves two bytes, so the typical case of 2 swapped
10621 drives would fit 32 bytes.
10622
8090fc01 106232009-05-13 Pavel Roskin <proski@gnu.org>
10624
ac963883 10625 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
10626 grub_uint32_t to avoid a warning.
10627
8090fc01 10628 * loader/i386/linux.c (allocate_pages): When assigning
10629 real_mode_mem, cast through grub_size_t to fix a warning. The
10630 code already makes sure that the value would fit a pointer.
10631 (grub_linux_setup_video): Cast render_target->data to
10632 grub_size_t to fix a warning.
10633
18f547ad 106342009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 10635
10636 * commands/i386/pc/drivemap.c: New file - implement drivemap
10637 command.
10638 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
10639 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
10640
6f6a8b28 106412009-05-13 Pavel Roskin <proski@gnu.org>
10642
10643 * util/i386/pc/grub-setup.c (setup): Remove unused variable
10644 embedding_area_exists.
10645
15fbf4c4 106462009-05-13 Robert Millan <rmh.grub@aybabtu.com>
10647
10648 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
10649 it easier to understand / work with.
59978c8a 10650 Improve warning messages for cases where there's no embedding area,
10651 or when it is too small (or core.img too large).
15fbf4c4 10652
238e871f 106532009-05-13 Pavel Roskin <proski@gnu.org>
10654
0ab3a9a4 10655 * loader/i386/pc/multiboot2.c: Add necessary includes for
10656 grub_multiboot2_real_boot().
10657
a2c8c5f8 10658 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
10659 PX record is always little-endian. We only need the lower 2
10660 bytes of the mode.
10661
faec96af 10662 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
10663 facilitate code reuse.
10664 (grub_cpio_mount): Use "struct head", not a char buffer. This
10665 fixes a warning reported by gcc 4.4.
10666
238e871f 10667 * kernel/disk.c (grub_disk_read): Use void pointer for the
10668 buffer.
10669 (grub_disk_write): Use const void pointer for the buffer.
10670 Adjust all callers. Remove unnecessary casts.
10671
901d2f0c 106722009-05-10 Robert Millan <rmh.grub@aybabtu.com>
10673
10674 * util/i386/pc/grub-install.in: Update copyright year.
10675
18f547ad 106762009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 10677
10678 gptsync
10679
10680 * commands/gptsync.c: new file
10681 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
10682 (gptsync_mod_SOURCES): new variable
10683 (gptsync_mod_CFLAGS): likewise
10684 (gptsync_mod_LDFLAGS): likewise
18f547ad 10685 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 10686 new definition
10687 (GRUB_PC_PARTITION_TYPE_HFS): likewise
10688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
10689 * conf/i386-ieee1275.rmk: likewise
10690 * conf/i386-pc.rmk: likewise
10691 * conf/powerpc-ieee1275.rmk: likewise
10692
b4ba690a 106932009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 Fixed grub-emu
10696
10697 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
10698 (grub_dl_ref): likewise
10699
317e1a44 107002009-05-08 Robert Millan <rmh.grub@aybabtu.com>
10701
10702 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
10703 split in two functions (one for msdos and one for gpt).
10704
041b8094 107052009-05-08 Pavel Roskin <proski@gnu.org>
10706
752473c2 10707 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
10708 not modified.
10709
041b8094 10710 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
10711 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
10712 Initialize them with -1. Add sanity check for bad1. Eliminate
10713 nerr variable.
10714
172800ce 107152009-05-08 David S. Miller <davem@davemloft.net>
10716
10717 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
10718
29aa5e81 107192009-05-06 Robert Millan <rmh.grub@aybabtu.com>
10720
10721 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 10722 existence.
29aa5e81 10723
96613b62 107242009-05-05 Felix Zielcke <fzielcke@z-51.de>
10725
10726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 10727 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 10728
eef73c8a 107292009-05-05 David S. Miller <davem@davemloft.net>
10730
10731 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
10732
119494b5 107332009-05-05 Pavel Roskin <proski@gnu.org>
10734
10735 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
10736 of grub_dl_ref() and grub_dl_unref().
10737 * commands/parttool.c: Remove preprocessor conditionals around
10738 grub_dl_ref() and grub_dl_unref().
10739 * fs/affs.c: Likewise.
10740 * fs/afs.c: Likewise.
10741 * fs/cpio.c: Likewise.
10742 * fs/ext2.c: Likewise.
10743 * fs/fat.c: Likewise.
10744 * fs/hfs.c: Likewise.
10745 * fs/hfsplus.c: Likewise.
10746 * fs/iso9660.c: Likewise.
10747 * fs/jfs.c: Likewise.
10748 * fs/minix.c: Likewise.
10749 * fs/ntfs.c: Likewise.
10750 * fs/reiserfs.c: Likewise.
10751 * fs/sfs.c: Likewise.
10752 * fs/udf.c: Likewise.
10753 * fs/ufs.c: Likewise.
10754 * fs/xfs.c: Likewise.
10755 * include/grub/dl.h: Likewise.
10756 * loader/xnu.c: Likewise.
10757
de5fd76e 107582009-05-04 Pavel Roskin <proski@gnu.org>
10759
10760 * commands/acpi.c: Remove unused variable my_mod.
10761 * partmap/amiga.c: Likewise.
10762 * partmap/apple.c: Likewise.
10763 * partmap/gpt.c: Likewise.
10764 * partmap/pc.c: Likewise.
10765 * partmap/sun.c: Likewise.
10766 * term/gfxterm.c: Likewise.
10767 * term/i386/pc/vesafb.c: Likewise.
10768 * term/i386/pc/vga.c: Likewise.
10769
983598ad 107702009-05-04 David S. Miller <davem@davemloft.net>
10771
10772 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
10773 pointer args to grub_ieee1275_get_property().
10774
8aadec43 10775 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
10776
9554b15e 10777 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
10778 devices, and do not traverse down under controller nodes.
10779
67e23c90 10780 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
10781 (grub_ofdisk_open): Use it to un-escape "," characters.
10782 * kern/disk.c (find_part_sep): New.
10783 (grub_disk_open): Use it to find the first non-escaped ','
10784 character in the disk name.
10785 * util/ieee1275/devicemap.c (escape_of_path): New.
10786 (grub_util_emit_devicemap_entry): Use it.
10787 * util/sparc64/ieee1275/grub-install.in: Update script to
10788 strip partition specifiers properly by not triggering on
10789 '\' escaped ',' characters.
10790
74bfdd2f 107912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10792
10793 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
10794 to 0x300.
10795 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
10796 resolutions.
10797 (linux_vesafb_modes): Add a lot of additional modes to the list (based
10798 on documentation from Wikipedia).
10799
4241d2b1 108002009-05-04 Pavel Roskin <proski@gnu.org>
10801
10802 * disk/ata.c: Spelling fixes.
10803 * disk/raid.c: Likewise.
10804 * disk/usbms.c: Likewise.
10805 * disk/dmraid_nvidia.c: Likewise.
10806 * kern/ieee1275/openfw.c: Likewise.
10807 * kern/ieee1275/init.c: Likewise.
10808 * kern/ieee1275/cmain.c: Likewise.
10809 * boot/i386/pc/cdboot.S: Likewise.
10810 * video/readers/png.c: Likewise.
10811 * video/i386/pc/vbe.c: Likewise.
10812 * fs/udf.c: Likewise.
10813 * fs/hfs.c: Likewise.
10814 * fs/reiserfs.c: Likewise.
10815 * efiemu/runtime/efiemu.c: Likewise.
10816 * efiemu/main.c: Likewise.
10817 * efiemu/mm.c: Likewise.
10818 * include/grub/elf.h: Likewise.
10819 * include/grub/xnu.h: Likewise.
10820 * include/grub/usbdesc.h: Likewise.
10821 * include/grub/usb.h: Likewise.
10822 * include/grub/script_sh.h: Likewise.
10823 * include/grub/lib/LzmaEnc.h: Likewise.
10824 * include/grub/efiemu/efiemu.h: Likewise.
10825 * include/grub/command.h: Likewise.
10826 * normal/menu.c: Likewise.
10827 * normal/main.c: Likewise.
10828 * normal/datetime.c: Likewise.
10829 * bus/usb/uhci.c: Likewise.
10830 * mmap/i386/uppermem.c: Likewise.
10831 * mmap/mmap.c: Likewise.
10832 * commands/acpi.c: Likewise.
10833 * commands/test.c: Likewise.
10834 * partmap/apple.c: Likewise.
10835 * font/font.c: Likewise.
10836 * loader/sparc64/ieee1275/linux.c: Likewise.
10837 * loader/macho.c: Likewise.
10838 * loader/i386/bsd_trampoline.S: Likewise.
10839 * loader/i386/bsd.c: Likewise.
10840 * loader/xnu.c: Likewise.
10841 * term/i386/pc/vesafb.c: Likewise.
10842 * term/usb_keyboard.c: Likewise.
10843 * util/resolve.c: Likewise.
10844 * util/getroot.c: Likewise.
10845
0cfc0083 108462009-05-04 Felix Zielcke <fzielcke@z-51.de>
10847
10848 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
10849
7c1d00cd 108502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10851
10852 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
10853 build error.
10854
b01f0548 108552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10856
10857 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
10858 parameter only available on BIOS.
10859
ecc3eb22 108602009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 Removed wrong semicolon in declaration
10863
10864 * grub/misc.h (grub_dprintf): remove semicolon
10865
112972a9 108662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10867
10868 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
10869 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
10870 is done by grub_cmd_linux() now).
10871 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
10872 restore video to text mode.
10873 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
10874 indicates lack of "vga=" parameter. "vga=0" is mapped to
10875 `GRUB_LINUX_VID_MODE_NORMAL'.
10876
afd5c115 108772009-05-04 Felix Zielcke <fzielcke@z-51.de>
10878
10879 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
10880 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
10881 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 10882 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 10883 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
10884 `grub_script.tab.c'.
10885
10886 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10887 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10891
faa517ce 10892 * Makefile.in: Remove duplicated 2008 in Copyright line.
10893
ae0c0bdc 108942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
10895
473d1e45 10896 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 10897 unconditionally.
10898 * include/grub/util/misc.h (grub_util_warn): New declaration.
10899
10900 * util/i386/pc/grub-install.in: Understand --force and pass it down
10901 to grub-setup.
10902
10903 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
10904 down to setup().
10905 (setup): Improve error messages and add warnings when requested to
10906 install in odd layouts. Refuse to install using blocklists unless
10907 --force was set.
10908
18f547ad 109092009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 10910
10911 * disk/raid.c (grub_raid_scan_device): Improve debug message.
10912
6d260daa 109132009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 Updated copyright year
10916
10917 * fs/hfsplus.c: updated copyright year
18f547ad 10918
69f853f8 109192009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 HFS+ UUID
10922
18f547ad 10923 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 10924 in the space previously used by unused3
10925 (grub_hfsplus_uuid): new function
10926 (grub_hfsplus_fs): added uuid field
10927
4c402e73 109282009-05-03 Pavel Roskin <proski@gnu.org>
10929
10930 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
10931 suppress warnings. It's no longer needed.
10932 * disk/host.c: Likewise.
10933 * disk/ata_pthru.c: Likewise.
10934 * disk/loopback.c: Likewise.
10935 * hook/datehook.c: Likewise.
10936 * parttool/pcpart.c: Likewise.
10937 * fs/i386/pc/pxe.c: Likewise.
10938 * fs/ntfscomp.c: Likewise.
10939 * efiemu/main.c: Likewise.
10940 * mmap/mmap.c: Likewise.
10941 * commands/crc.c: Likewise.
10942 * commands/hexdump.c: Likewise.
10943 * commands/hdparm.c: Likewise.
10944 * commands/acpi.c: Likewise.
10945 * commands/echo.c: Likewise.
10946 * commands/minicmd.c: Likewise.
10947 * commands/blocklist.c: Likewise.
10948 * commands/memrw.c: Likewise.
10949 * commands/loadenv.c: Likewise.
10950 * commands/usbtest.c: Likewise.
10951 * commands/lsmmap.c: Likewise.
10952 * commands/boot.c: Likewise.
10953 * commands/parttool.c: Likewise.
10954 * commands/configfile.c: Likewise.
10955 * commands/search.c: Likewise.
10956 * commands/ieee1275/suspend.c: Likewise.
10957 * commands/cat.c: Likewise.
10958 * commands/i386/pc/pxecmd.c: Likewise.
10959 * commands/i386/pc/play.c: Likewise.
10960 * commands/i386/pc/halt.c: Likewise.
10961 * commands/i386/pc/vbeinfo.c: Likewise.
10962 * commands/i386/pc/vbetest.c: Likewise.
10963 * commands/lspci.c: Likewise.
10964 * commands/date.c: Likewise.
10965 * commands/handler.c: Likewise.
10966 * commands/ls.c: Likewise.
10967 * commands/test.c: Likewise.
10968 * commands/cmp.c: Likewise.
10969 * commands/efi/loadbios.c: Likewise.
10970 * commands/efi/fixvideo.c: Likewise.
10971 * commands/halt.c: Likewise.
10972 * commands/help.c: Likewise.
10973 * commands/reboot.c: Likewise.
10974 * hello/hello.c: Likewise.
10975 * script/sh/main.c: Likewise.
10976 * loader/xnu.c: Likewise.
10977 * term/terminfo.c: Likewise.
10978 * term/i386/pc/serial.c: Likewise.
10979 * term/usb_keyboard.c: Likewise.
10980
515b5079 109812009-05-03 David S. Miller <davem@davemloft.net>
10982
10983 * normal/menu.c: Include grub/parser.h
10984
dfc31a22 109852009-05-03 Pavel Roskin <proski@gnu.org>
10986
2fee74f1 10987 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
10988 not char*.
10989 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
10990 Suggested by Javier Martín <lordhabbit@gmail.com>
10991
dfc31a22 10992 * util/i386/pc/grub-mkrescue.in: Allow for the case when
10993 efiemu??.o doesn't exist.
10994 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
10995 copying.
10996
18f547ad 109972009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 10998
10999 FreeBSD 64-bit support
11000
18f547ad 11001 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 11002 and loader/i386/bsd_trampoline.S
11003 (bsd_mod_ASFLAGS): new variable
11004 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11005 (FREEBSD_MODTYPE_KERNEL64): likewise
11006 (grub_bsd64_trampoline_start): likewise
11007 (grub_bsd64_trampoline_end): likewise
11008 (grub_bsd64_trampoline_selfjump): likewise
11009 (grub_bsd64_trampoline_gdt): likewise
11010 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11011 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11012 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11013 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 11014 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 11015 of "attrib" member
11016 * loader/i386/bsd_pagetable.c: new file
11017 * loader/i386/bsd_trampoline.S: likewise
11018 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11019 (ALIGN_VAR): likewise
11020 (entry_hi): new variable
11021 (kern_end_mdofs): likewise
11022 (is_64bit): likewise
11023 (grub_freebsd_add_meta): use ALIGN_VAR
11024 (grub_e820_mmap): new declaration
11025 (grub_freebsd_add_mmap): new function
11026 (grub_freebsd_add_meta_module): support 64 bit kernels
11027 (grub_freebsd_list_modules): use ALIGN_VAR
11028 (gdt_descriptor): new declaration
11029 (grub_freebsd_boot): support 64 bit kernels
11030 (grub_bsd_elf64_hook): new function
11031 (grub_bsd_load_elf): support elf64
11032
038c5720 110332009-05-03 Bean <bean123ch@gmail.com>
11034
11035 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11036 after we get the result of if statement.
11037
fc45fb58 110382009-05-03 Bean <bean123ch@gmail.com>
11039
11040 * Makefile.in (enable_efiemu): New variable.
11041
11042 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11043 set.
11044 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11045 path.
11046 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11047 path, add -mno-red-zone option.
11048 (efiemu64_s.o): Likewise.
11049 (efiemu64.o): Use macro $^ for source file.
11050
11051 * configure.ac (--enable-efiemu): New option.
11052
bbee0f2b 110532009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 xnu support
11056
11057 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11058 (pkglib_MODULES): add xnu.mod
11059 (xnu_mod_SOURCES): new variable
11060 (xnu_mod_CFLAGS): likewise
11061 (xnu_mod_LDFLAGS): likewise
11062 (xnu_mod_ASFLAGS): likewise
11063 * conf/i386-pc.rmk: likewise
11064 * conf/x86_64-efi.rmk: likewise
7dd4a573 11065 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 11066 new declaration
11067 * include/grub/i386/macho.h: new file
11068 * include/grub/i386/xnu.h: likewise
11069 * include/grub/macho.h: likewise
11070 * include/grub/machoload.h: likewise
11071 * include/grub/x86_64/macho.h: likewise
11072 * include/grub/x86_64/xnu.h: likewise
11073 * include/grub/xnu.h: likewise
11074 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11075 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11076 * loader/i386/efi/xnu.c: new file
11077 * loader/i386/pc/xnu.c: likewise
11078 * loader/i386/xnu.c: likewise
11079 * loader/i386/xnu_helper.S: likewise
11080 * loader/macho.c: likewise
11081 * loader/xnu.c: likewise
11082 * loader/xnu_resume.c: likewise
11083 * util/grub-dumpdevtree: likewise
11084 * include/grub/i386/pit.h: include grub/err.h
11085 (grub_pit_wait): export
11086 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 11087
5caf964d 110882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 Efiemu
7dd4a573 11091
5caf964d 11092 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 11093 _linux_efi, linux_efi.
11094 new files in grub-emu
5caf964d 11095 new targets efiemu32.o and efiemu64.o
11096 * loader/linux_normal_efiemu.c: likewise
11097 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 11098 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 11099 files to copy
11100 * include/grub/autoefi.h: new file
7dd4a573 11101 * include/grub/i386/efiemu.h: likewise
5caf964d 11102 * include/grub/i386/pc/efiemu.h: likewise
11103 * include/grub/efi/api.h: add LL suffix when necessary
11104 new definitions relating to tables
11105 * include/grub/efiemu/efiemu.h: new file
11106 * include/grub/efiemu/runtime.h: likewise
11107 * efiemu/prepare.c: likewise
11108 * efiemu/loadcore_common.c: likewise
11109 * efiemu/loadcore64.c: likewise
11110 * efiemu/runtime/efiemu.sh: likewise
11111 * efiemu/runtime/efiemu.S: likewise
11112 * efiemu/runtime/efiemu.c: likewise
11113 * efiemu/runtime/config.h: likewise
11114 * efiemu/prepare32.c: likewise
11115 * efiemu/main.c: likewise
11116 * efiemu/modules/pnvram.c: likewise
11117 * efiemu/modules/i386: likewise
11118 * efiemu/modules/i386/pc: likewise
11119 * efiemu/modules/acpi.c: likewise
11120 * efiemu/i386/pc/cfgtables.c: likewise
11121 * efiemu/i386/loadcore64.c: likewise
11122 * efiemu/i386/loadcore32.c: likewise
11123 * efiemu/prepare64.c: likewise
11124 * efiemu/loadcore.c: likewise
11125 * efiemu/symbols.c: likewise
11126 * efiemu/mm.c: likewise
11127 * efiemu/loadcore32.c: likewise
7dd4a573 11128
111292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 11130
11131 ACPI spoofing
11132
11133 * commands/acpi.c: new file
11134 * commands/i386/pc/acpi.c: likewise
11135 * commands/efi/acpi.c: likewise
11136 * include/grub/acpi.h: likewise
11137 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11138 (acpi_mod_SOURCES): new variable
11139 (acpi_mod_CFLAGS): likewise
11140 (acpi_mod_LDFLAGS): likewise
11141 * conf/i386-efi.rmk: likewise
11142 * conf/x86_64-efi.rmk: likewise
11143
7dd4a573 111442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 11145
11146 Missing part from mmap patch
11147
11148 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11149 (grub_mmap_unregister)
11150 (grub_mmap_free_and_unregister): use grub_mmap_register
11151
7dd4a573 111522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 11153
11154 Mmap services
11155
11156 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11157 * loader/i386/linux.c (find_mmap_size): likewise
11158 (allocate_pages): likewise
11159 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11160 (grub_fill_multiboot_mmap): likewise
11161 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11162 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11163 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11164 (OPENBSD_MMAP_RESERVED): likewise
11165 * include/grub/i386/pc/memory.h: include grub/memory.h
11166 (grub_lower_mem): removed
11167 (grub_upper_mem): likewise
11168 (GRUB_MACHINE_MEMORY_ACPI): new definition
11169 (GRUB_MACHINE_MEMORY_NVS): likewise
11170 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11171 (GRUB_MACHINE_MEMORY_HOLE): likewise
11172 (grub_machine_mmap_register): likewise
11173 (grub_machine_mmap_unregister): likewise
11174 (grub_machine_get_upper): likewise
11175 (grub_machine_get_lower): likewise
11176 (grub_machine_get_post64): likewise
11177 * include/grub/i386/efi/memory.h: new file
11178 * include/grub/x86_64/efi/memory.h: likewise
11179 * include/grub/efi/memory.h: likewise
11180 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
11181 (mmap_mod_SOURCES): new variable
11182 (mmap_mod_LDFLAGS): likewise
11183 (mmap_mod_ASFLAGS): likewise
11184 * conf/i386-coreboot.rmk: likewise
11185 * conf/i386-ieee1275.rmk: likewise
11186 * conf/i386-efi.rmk: likewise
11187 * conf/x86_64-efi.rmk: likewise
11188 * include/grub/types.h (UINT_TO_PTR): new macro
11189 (PTR_TO_UINT32): likewise
11190 (PTR_TO_UINT64): likewise
11191 * include/grub/memory.h: new file
11192 * mmap/i386/pc/mmap.c: likewise
11193 * mmap/i386/pc/mmap_helper.S: likewise
11194 * mmap/i386/uppermem.c: likewise
11195 * mmap/mmap.c: likewise
11196 * mmap/efi/mmap.c: likewise
7dd4a573 11197 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 11198 grub_upper_mem
11199 * kern/i386/pc/init.c (grub_lower_mem): removed variable
11200 (grub_upper_mem): likewise
11201 (grub_machine_init): don't use grub_upper_mem,
11202 make grub_lower_mem local
11203 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
11204 grub_mmap_iterate and grub_mmap_get_upper
11205 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
11206
d558e6b5 112072009-05-02 Bean <bean123ch@gmail.com>
11208
11209 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
11210 script/sh/parser.y.
11211 (pkglib_MODULES): Add normal.mod and sh.mod.
11212 (normal_SOURCES): New variable.
11213 (normal_mod_CFLAGS): Likewise.
11214 (normal_mod_LDFLAGS): Likewise.
11215 (sh_mod_SOURCES): Likewise.
11216 (sh_mod_CFLAGS): Likewise.
11217 (sh_mod_LDFLAGS): Likewise.
11218
11219 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
11220 script/sh/lexer.c_DEPENDENCIES.
11221 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
11222 kern/rescue_reader.c and kern/rescue_parser.c.
11223 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
11224 (grub_emu_SOURCES): Change source files.
11225 (pkglib_MODULES): Remove normal.mod.
11226 (normal_SOURCES): Removed.
11227 (normal_mod_CFLAGS): Likewise.
11228 (normal_mod_LDFLAGS): Likewise.
11229 * conf/i386-coreboot.rmk: Likewise.
11230 * conf/i386-efi.rmk: Likewise.
11231 * conf/i386-ieee1276.rmk: Likewise.
11232 * conf/powerpc-ieee1275.rmk: Likewise.
11233 * conf/sparc64-ieee1275.rmk: Likewise.
11234 * conf/x86_64-efi.rmk: Likewise.
11235
11236 * include/grub/command.h (grub_command_execute): New inline function.
11237
11238 * include/grub/menu.h (grub_menu_entry): Removed commands field.
11239
11240 * include/grub/normal.h: Remove <grub/setjmp.h>.
11241 (grub_fs_module_list): Moved to normal/autofs.c.
11242 (grub_exit_env): Removed.
11243 (grub_command_execute): Likewise.
11244 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
11245 parameter script.
11246 (read_command_list): New function declaration.
11247 (read_fs_list): Likewise.
11248
11249 * include/parser.h: Include <grub/reader.h>.
11250 (grub_parser_split_cmdline): Change type of getline parameter.
11251 (grub_parser): New structure.
11252 (grub_parser_class): New variable.
11253 (grub_parser_execute): New function declaration.
11254 (grub_register_rescue_parser): Likewise.
11255 (grub_parser_register): New inline function.
11256 (grub_parser_unregister): Likewise.
11257 (grub_parser_get_current): Likewise.
11258 (grub_parser_set_current): Likewise.
11259
11260 * include/grub/reader.h: New file.
11261 * kern/reader.c: Likewise.
11262 * kern/rescue_parser.c: Likewise.
11263 * kern/rescue_reader.c: Likewise.
11264 * normal/autofs.c: Likewise.
11265 * normal/dyncmd.c: Likewise.
11266
11267 * include/grub/rescue.h: Removed.
11268 * normal/command.h: Likewise.
11269
11270 * include/grub/script.h: Moved to ...
11271 * include/grub/script_sh.h: ... Moved here.
11272 * normal/execute.c: Moved to ...
11273 * script/sh/execute.c: ... Moved here.
11274 * normal/function.c: Moved to ...
11275 * script/sh/function.c: ... Moved here.
11276 * normal/lexer.c: Moved to ...
11277 * script/sh/lexer.c: ... Moved here.
11278 * normal/parser.y: Moved to ...
11279 * script/sh/parser.y: ... Moved here.
11280 * normal/script.c: Moved to ...
11281 * script/sh/script.c: ... Moved here.
11282
11283 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
11284 <grub/reader.h>.
11285 (grub_exit_env): Removed.
11286 (fs_module_list): Moved to normal/autofs.c.
11287 (grub_file_getline): Don't handle comment here.
11288 (free_menu): Skip removed field entry->commands.
11289 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
11290 script parameter.
11291 (read_config_file): Removed nested parameter, change getline function.
11292 (grub_enter_normal_mode): Removed.
11293 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
11294 (read_command_list): Likewise.
11295 (autoload_fs_module): Moved to normal/autofs.c.
11296 (read_fs_list): Likewise.
11297 (reader_nested): New variable.
11298 (grub_normal_execute): Run parser.sh to switch to sh parser.
11299 (grub_cmd_rescue): Removed.
11300 (cmd_normal): Removed.
11301 (grub_cmd_normal): Unregister itself at the beginning. Don't register
11302 rescue command.
11303 (grub_cmdline_run): New function.
11304 (grub_normal_reader_init): Likewise.
11305 (grub_normal_read_line): Likewise.
11306 (grub_env_write_pager): Likewise.
11307 (cmdline): New variable.
11308 (grub_normal_reader): Likewise.
11309 (GRUB_MOD_INIT): Register normal reader and set as current, register
11310 pager hook, register normal command with grub_register_command_prio,
11311 so that it won't show up in command.lst.
11312 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
11313 grub_fs_autoload_hook.
11314
11315 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
11316 (grub_menu_execute_entry): Replace grub_script_execute with
11317 grub_parser_execute, change parameter to grub_command_execute.
11318
11319 * normal/menu_text.c: Remove <grub/script.h>.
11320
11321 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
11322 and <grub/parser.h>.
11323 (run): Change editor_getline to use new parser interface. Change
11324 parameter to grub_command_execute.
11325
11326 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
11327 <grub/reader.h> and <grub/parser.h>.
11328 (grub_load_normal_mode): Execute normal command.
11329 (grub_main): Call grub_register_core_commands,
11330 grub_register_rescue_parser and grub_register_rescue_reader, use
11331 grub_reader_loop to enter input loop.
11332
7dd4a573 11333 * kern/parser.c (grub_parser_split_cmdline): Change type of
11334 getline parameter.
d558e6b5 11335 (grub_parser_class): New variable.
11336 (grub_parser_execute): New function.
11337
11338 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
11339 * loader/multiboot2.c: Likewise.
11340 * loader/sparc64/ieee1275/linux.c: Likewise.
11341
11342 * util/grub-emu.c (read_command_list): New dummy function.
11343
18db813d 113442009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11345
11346 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
11347 count to 16 for CCISS and IDA.
11348
6c67de15 113492009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11350
11351 * normal/menu_text.c (grub_wait_after_message): Print a newline
11352 after waiting for user input.
11353
11354 * loader/i386/linux.c: Include `<grub/normal.h>'.
11355 (grub_cmd_linux): Improve the error message about `ask' mode, by
11356 waiting for user input so it's not missed (we can do this, since
11357 user requested interaction).
11358
d9dc87b0 113592009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 Added missing lst to grub-mkrescue
11362
11363 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
11364 and ${input_dir}/parttool.lst
11365
ac8a2baa 113662009-04-30 David S. Miller <davem@davemloft.net>
11367
ad22a610 11368 * util/hostdisk.c (device_is_wholedisk): New function.
11369 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
11370 zero only if device_is_wholedisk() returns true.
11371
6966215d 11372 * util/hostdisk.c (convert_system_partition_to_system_disk):
11373 Handle virtual disk devices named /dev/vdiskX as found on sparc
11374 and powerpc.
11375
ac8a2baa 11376 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
11377 lettered partition specifier is found, convert to numbered.
11378
979b4fb4 113792009-04-29 David S. Miller <davem@davemloft.net>
11380
e2bf39b2 11381 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
11382 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11383
3c64e104 11384 * normal/command.c: Add missing newline at end of file.
11385
979b4fb4 11386 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
11387 warnings.
11388 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
11389 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
11390 grub_ofdisk_read): Likewise, and deal similarly with the fact that
11391 ihandles have a 32-bit type but need to be stored in a "void *".
11392
136d9f82 113932009-04-28 Pavel Roskin <proski@gnu.org>
11394
9459c306 11395 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
11396 not disk. Adjust all dependencies.
2e08a26a 11397 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 11398 grub_disk_close().
11399
136d9f82 11400 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
11401 parent's partition, don't copy it by reference, as it gets freed
11402 on close.
11403
7dd4a573 114042009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 11405
11406 Preboot hooks support
11407
11408 * commands/boot.c (struct grub_preboot_t): new declaration
11409 (preboots_head): new variable
11410 (preboots_tail): likewise
11411 (grub_loader_register_preboot_hook): new function
11412 (grub_loader_unregister_preboot_hook): likewise
11413 (grub_loader_set): launch preboot hooks
11414 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
11415 (grub_loader_register_preboot_hook): new declaration
11416 (grub_loader_unregister_preboot_hook): likewise
11417
5af922b5 114182009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 Warning fix
11421
7dd4a573 11422 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 11423 calling grub_dprintf
11424
a5562c30 114252009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 Bug and warning fixes
11428
7dd4a573 11429 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 11430 declaration
11431 * commands/test.c (test_parse): fixed bug with file tests and corrected
11432 declaration of find_file
11433
4006f85c 114342009-04-26 Pavel Roskin <proski@gnu.org>
11435
11436 * Makefile.in: Don't install empty manual pages if help2man is
11437 missing. Use help2man option for output, not shell redirection.
11438
5c77c3de 114392009-04-26 David S. Miller <davem@davemloft.net>
11440
11441 * util/grub-mkdevicemap.c (make_device_map): Add missing
11442 NESTED_FUNC_ATTR to process_device().
11443
033b10a8 114442009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 Test command
11447
11448 * commands/test.c: rewritten to use bash-like test
11449
e4343593 114502009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 Parttool autoloading and improvements
11453
7dd4a573 11454 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 11455 (parttool.lst): new target
11456 * genmk.rb: generate parttool-*
11457 (CLEANFILES): add #{parttool}
11458 (PARTTOOLFILES): new variable
11459 * genparttoollist.sh: new file
7dd4a573 11460 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 11461 (grub_pcpart_type): likewise
11462 * commands/parttool.c (helpmsg): new variable
11463 (grub_cmd_parttool): output help if not enough arguments are supplied
11464 autoload modules
11465 (GRUB_MOD_INIT(parttool)): use helpmsg
11466
0d312500 114672009-04-24 David S. Miller <davem@davemloft.net>
11468
7dd4a573 11469 Avoiding opening same device multiple times in device iterator.
0d312500 11470
11471 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 11472 and use it to build a list of partitions in iterate_disk() and
0d312500 11473 iterate_partition().
11474
ac20caff 11475 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
11476 on disk->data.
11477
0dcf7495 11478 * disk/ieee1275/nand.c (grub_nand_iterate): Return
11479 grub_devalias_iterate() result instead of unconditional 0.
11480 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
11481 Also, capture hook return value, either directly or via
11482 grub_children_iterate(), and propagate to caller.
11483 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
11484 grub_children_iterate): Return value is now 'int' instead of
11485 'grub_err_t'.
11486 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
11487 like a proper iterator, stopping when hooks return non-zero.
11488 (grub_devalias_iterate): Likewise.
11489
c8c08833 114902009-04-23 David S. Miller <davem@davemloft.net>
11491
11492 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
11493
f01005a8 114942009-04-22 David S. Miller <davem@davemloft.net>
11495
11496 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
11497 is larger than address_cells, use that value for address_cells too.
11498
4e8269da 11499 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
11500 IEEE1275_MAX_PATH_LEN): Define.
11501 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
11502 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
11503 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
11504 'devtype'. Explicitly NULL terminate devalias expansion.
11505
a1447506 11506 * util/sparc64/ieee1275/misc.c: New file.
11507 * util/sparc64/ieee1275/grub-setup.c: New file.
11508 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
11509 * util/sparc64/ieee1275/grub-mkimage.c: New file.
11510 * util/sparc64/ieee1275/grub-install.in: New file.
11511 * util/ieee1275/ofpath.c: New file.
11512 * util/ieee1275/devicemap.c: New file.
11513 * util/devicemap.c: New file.
11514 * util/deviceiter.c: New file.
11515 * kern/sparc64/ieee1275/init.c: New file.
11516 * include/grub/util/ofpath.h: New file.
11517 * include/grub/util/deviceiter.h: New file.
11518 * util/grub-mkdevicemap.c: Include deviceiter.h.
11519 Implement using grub_util_emit_devicemap_entry and
11520 grub_util_iterate_devices.
11521 * conf/i386-corebook.rmk: Build util/deviceiter.c and
11522 util/devicemap.c into grub-mkdevicemap
11523 * conf/i386-efi.rmk: Likewise.
11524 * conf/i386-ieee1275.rmk: Likewise.
11525 * conf/i386-pc.rmk: Likewise.
11526 * conf/powerpc-ieee1275.rmk: Likewise.
11527 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
11528 images and installation utilities. Build kernel as image
11529 instead of as elf binary. Use common rules as much as possible.
11530
7dd4a573 115312009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 11532
11533 Correct GPT definition
11534
7dd4a573 11535 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 11536 of "attrib" member
11537
c6c5219f 115382009-04-19 Felix Zielcke <fzielcke@z-51.de>
11539
11540 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
11541
0552ff9f 115422009-04-19 David S. Miller <davem@davemloft.net>
11543
11544 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
11545 (grub_rescue_cmd_linux): Rename to...
11546 (grub_cmd_linux): and fix prototype.
11547 (grub_rescue_cmd_initrd): Rename to...
11548 (grub_cmd_initrd): and fix prototype.
11549 (cmd_linux, cmd_initrd): New.
11550 (GRUB_MOD_INIT(linux)): Use grub_register_command().
11551 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
11552
d1a282fc 115532009-04-17 Pavel Roskin <proski@gnu.org>
11554
07c5039f 11555 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
11556 format.
11557 (grub_ohci_transfer): Likewise.
11558
b012002d 11559 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
11560
1bc09c35 11561 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
11562 return without a value. Fix inconsistent indentation.
11563
e0ff9126 11564 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
11565 match struct grub_fs.
11566
d1a282fc 11567 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
11568 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
11569 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11570 * commands/lspci.c (grub_lspci_iter): Likewise.
11571
a96df3f2 115722009-04-16 Bean <bean123ch@gmail.com>
11573
11574 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
11575 value.
11576
41bb0fe9 115772009-04-15 Pavel Roskin <proski@gnu.org>
11578
11579 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
11580 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
11581 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
11582 definitions.
11583
596c6970 115842009-04-15 Felix Zielcke <fzielcke@z-51.de>
11585
11586 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 11587 that no multiple data or metadata areas are supported and `Unknown
596c6970 11588 metadata header'.
11589
7dd4a573 115902009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 11591
11592 Move loader out of the kernel
11593
11594 * kern/loader.c: moved to ...
11595 * commands/boot.c: ... moved here
11596 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
11597 * commands/boot.c (grub_cmd_boot): moved here. All users updated
11598 * include/grub/kernel.h (grub_machine_fini): export
11599 * include/grub/loader.h (grub_loader_is_loaded): update declaration
11600 (grub_loader_set): likewise
11601 (grub_loader_unset): likewise
11602 (grub_loader_boot): likewise
11603 * conf/common.rmk: new module boot.mod
11604 (pkglib_MODULES): add boot.mod
11605 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
11606 (grub_emu_SOURCES): likewise
11607 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
11608 (grub_emu_SOURCES): likewise
11609 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
11610 (grub_emu_SOURCES): likewise
11611 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
11612 (grub_emu_SOURCES): likewise
11613 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
11614 (grub_emu_SOURCES): likewise
7dd4a573 11615 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
11616 (grub_emu_SOURCES): likewise
0d5d5653 11617 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 11618 (grub_emu_SOURCES): likewise
0d5d5653 11619
7dd4a573 116202009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 11621
11622 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 11623
5999d619 11624 * kern/misc.c (grub_itoa): Removed function
11625 (grub_ltoa): likewise
11626 (grub_vsprintf): use grub_lltoa
11627
7dd4a573 116282009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 11629
11630 Restore grub-emu
11631
11632 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
11633 * conf/i386-coreboot.rmk: likewise
11634 * conf/i386-ieee1275.rmk: likewise
11635 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 11636
20318222 116372009-04-15 Felix Zielcke <fzielcke@z-51.de>
11638
11639 * INSTALL: Add that `./autogen.sh' needs to be run before
11640 `./configure.'.
11641
d05f0df3 116422009-04-14 Bean <bean123ch@gmail.com>
11643
11644 * Makefile.in (pkglib_DATA): Add handler.lst.
11645 (handler.lst): New rule.
11646
11647 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
11648 * conf/i386-coreboot.rmk: Likewise.
11649 * conf/i386-ieee1275.rmk: Likewise.
11650 * conf/i386-efi.rmk: Likewise.
11651 * conf/x86_64-efi.rmk: Likewise.
11652 * conf/powerpc-ieee1275.rmk: Likewise.
11653 * conf/sparc64-ieee1275.rmk: Likewise.
11654
11655 * genhandlerlist.sh: New file.
11656
11657 * genmk.rb: Add rules to generate handler.lst.
11658
11659 * include/grub/normal.h (grub_file_getline): New function definition.
11660 (read_handler_list): Likewise.
11661 (free_handler_list): Likewise.
11662
11663 * include/grub/term.h (grub_term_register_input): Add name parameter
11664 for auto generation of handler.lst.
11665 (grub_term_register_output): Likewise.
11666
11667 * normal/handler.c: New file.
11668
11669 * normal/main.c (get_line): Renamed to grub_file_getline.
11670 (read_config_file): Use the newly renamed grub_file_getline.
11671 (read_command_list): Likewise.
11672 (read_fs_list): Likewise.
11673 (grub_normal_execute): Call read_handler_list to parse handler.lst.
11674 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
11675
11676 * term/efi/console.c (grub_console_init): Add name parameter for auto
11677 generation of handler.lst.
11678 * term/gfxterm.c: Likewise.
11679 * term/i386/pc/at_keyboard.c: Likewise.
11680 * term/i386/pc/console.c: Likewise.
11681 * term/i386/pc/serial.c: Likewise.
11682 * term/i386/pc/vesafb.c: Likewise.
11683 * term/i386/pc/vga.c: Likewise.
11684 * term/i386/pc/vga_text.c: Likewise.
11685 * term/ieee1275/ofconsole.c: Likewise.
11686 * term/usb_keyboard.c: Likewise.
11687
33c846be 116882009-04-14 Bean <bean123ch@gmail.com>
11689
11690 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
11691 properly with null character.
11692
4484e01e 116932009-04-14 Felix Zielcke <fzielcke@z-51.de>
11694
11695 * configure: Remove.
11696 * config.h.in: Likewise.
f93d668e 11697 * stamp-h.in: Likewise.
4484e01e 11698 * DISTLIST: Likewise.
11699 * conf/common.mk: Likewise.
11700 * conf/i386-coreboot.mk: Likewise.
11701 * conf/i386-efi.mk: Likewise.
11702 * conf/i386-ieee1275.mk: Likewise.
11703 * conf/i386.mk: Likewise.
11704 * conf/i386-pc.mk: Likewise.
11705 * conf/powerpc-ieee1275.mk: Likewise.
11706 * conf/sparc64-ieee1275.mk: Likewise.
11707 * conf/x86_64-efi.mk: Likewise.
11708
11709 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
11710 develop on GRUB.
11711
7dd4a573 117122009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 11713 David S. Miller <davem@davemloft.net>
11714
11715 * util/hostdisk.c (make_device_name): Fix buffer length
11716 calculations.
11717
e25b5a8c 117182009-04-14 Felix Zielcke <fzielcke@z-51.de>
11719
11720 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
11721 <sys/param.h> and <sys/sysctl.h>.
11722 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
11723 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
11724 opening the device and reset them afterwards.
11725
1f1f580c 117262009-04-13 Pavel Roskin <proski@gnu.org>
11727
11728 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
11729 Reported by John Stanley <jpsinthemix@verizon.net>
11730
7ebc2d6b 117312009-04-13 Robert Millan <rmh@aybabtu.com>
11732
11733 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 11734 that name for menuentries when appropriate.
7ebc2d6b 11735
d8ba3667 117362009-04-13 Felix Zielcke <fzielcke@z-51.de>
11737
11738 * util/grub.d/10_freebsd.in: Add a missing `fi'.
11739
cba416eb 117402009-04-13 Robert Millan <rmh@aybabtu.com>
11741
11742 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
11743 to Linux, simply abort telling the user it's no longer supported.
11744
a547a745 117452009-04-13 Felix Zielcke <fzielcke@z-51.de>
11746
11747 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 11748 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 11749 `freebsd_loadenv' only when devices.hints exist.
11750
232a769c 117512009-04-13 Pavel Roskin <proski@gnu.org>
11752
11753 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
11754
c3012039 117552009-04-13 Felix Zielcke <fzielcke@z-51.de>
11756
11757 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
11758 partition number.
11759 (grub_drive): Likewise.
11760
234022fe 117612009-04-13 David S. Miller <davem@davemloft.net>
11762
11763 * kern/sparc64/ieee1275/ieee1275.c: New file.
11764 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
11765 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
11766 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
11767 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
11768 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
11769 grub_ieee1275_alloc_physmem): Declare new exported functions.
11770
d8e1836c 11771 * include/grub/sparc64/ieee1275/loader.h: New file.
11772 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11773 * include/grub/sparc64/kernel.h: Likewise.
11774 * loader/sparc64/ieee1275/linux.c: Likewise.
11775
96bd81ec 11776 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
11777 (grub_fstest_SOURCES): Likewise.
11778
6a4737e5 11779 * util/hostdisk.c (make_device_name): Do not make any assumptions
11780 about the length of drive names.
11781
1d7a72fd 11782 * kern/dl.c (grub_dl_load_file): Close file immediately when
11783 we are done using it.
11784
56bc2471 117852009-04-12 David S. Miller <davem@davemloft.net>
11786
11787 * kern/misc.c (grub_ltoa): Fix cast when handling negative
11788 values. Noticed by Pavel Roskin.
11789
df38d0bb 11790 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
11791 target compiler.
7dd4a573 11792
e382e93a 11793 * genmk.rb: Add more flexible image type specification, also
11794 pass --strip-unneeded to objcopy.
11795 * conf/i386-pc.rmk: Use *_FORMAT.
11796 * conf/i386-pc.mk: Rebuilt.
11797
f5dbbca9 11798 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
11799 (OFDISK_HASH_SZ): Define.
11800 (ofdisk_hash): New hash table.
11801 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
11802 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
11803 instead of device phandle which is not unique.
11804
91c88b12 11805 * kern/sparc64/ieee1275/init.c: Delete, replace with...
11806 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
11807 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
11808 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
11809 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
11810 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
11811 GRUB_KERNEL_MACHINE_DATA_END): Define.
11812 (grub_kernel_image_size, grub_total_module_size): Declare.
11813
5b5d4aa5 118142009-04-12 Pavel Roskin <proski@gnu.org>
11815
7dd4a573 11816 * configure.ac: Change the logic when we check for target tools.
11817 Do it when the target is specified and it's different from the
11818 specified value of the host.
5b5d4aa5 11819
c91e1793 118202009-04-11 Felix Zielcke <fzielcke@z-51.de>
11821
11822 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
11823 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
11824 GNU/kFreeBSD. Check if a device is a character device. Use
11825 DIOCGMEDIASIZE to get the size.
11826 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
11827 support for GNU/kFreeBSD.
11828 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
11829 is a character device instead of a block device. Add support for
11830 FreeBSD device names.
11831
11832 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
11833 is a character device instead of a block device.
11834
11835 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
11836 is a character device instead of a block device.
11837
b1ac8644 118382009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
11839
11840 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
11841 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
11842 FreeBSD. Check if a device is a character device. Use
11843 DIOCGMEDIASIZE to get the size.
11844 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
11845 support for FreeBSD.
11846 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
11847 is a character device instead of a block device. Add support for
11848 FreeBSD device names.
11849
11850 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
11851 a character device instead of a block device.
11852 (grub_util_check_char_device): New function.
11853
11854 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
11855 a character device instead of a block device.
11856
11857 * include/grub/util/getroot.h (grub_util_check_char_device): New
11858 prototype.
11859
a3f7515a 118602009-04-11 David S. Miller <davem@davemloft.net>
11861
11862 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
11863 static libgcc.
11864 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
11865 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
11866 function, if present.
11867 (__bswapdi2): Likewise.
11868
0d44993d 11869 * include/grub/sparc64/ieee1275/boot.h: New file.
11870 * boot/sparc64/ieee1275/boot.S: Likewise.
11871 * boot/sparc64/ieee1275/diskboot.S: Likewise.
11872
ed3d2bc2 11873 * kern/misc.c (grub_ltoa): New function.
11874 (grub_vsprintf): Use it to format 'long' integers.
11875
d3bfb59c 118762009-04-10 David S. Miller <davem@davemloft.net>
11877
11878 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
11879 slots are of type grub_ieee1275_cell_t.
11880 (grub_nand_read): Likewise.
11881 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
11882 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
11883 macros are used to compare values in arg/ret block of the call.
11884 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
11885 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
11886 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
11887 grub_ieee1275_instance_to_path, grub_ieee1275_write,
11888 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
11889 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
11890 grub_ieee1275_close, grub_ieee1275_set_property,
11891 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
11892 grub_ieee1275_cell_t.
11893 * kern/ieee1275/openfw.c (grub_map): Likewise.
11894 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
11895 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
11896
450e2238 11897 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
11898 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11899 (grub_devalias_iterate): Likewise.
11900
7dd4a573 119012009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 11902
11903 UFS improvements
11904
11905 * fs/ufs.c (INODE_NBLOCKS): new definition
11906 (struct grub_ufs_dirent): added fields for non-BSD dirents
11907 (grub_ufs_get_file_block): fixed double indirect handling
11908 (grub_ufs_lookup_symlink): use more robust way to determine whether
11909 symlink is inline
11910 (grub_ufs_find_file): support for non-BSD dirents
11911 (grub_ufs_dir): support for non-BSD dirents
11912
e7e6862a 119132009-04-10 Bean <bean123ch@gnail.com>
11914
11915 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
11916 attribute, otherwise the size would be wrong for i386 platform.
11917
11918 * include/grub/pci.h (grub_pci_read_word): New inline function.
11919 (grub_pci_read_byte): Likewise.
11920 (grub_pci_write): Likewise.
11921 (grub_pci_write_word): Likewise.
11922 (grub_pci_write_byte): Likewise.
11923
11924 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
11925
11926 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
11927 (find_framebuf): Scan pci to locate the frame buffer address.
11928
11929 * commands/efi/fixvideo.c: New file.
11930
11931 * commands/efi/loadbios.c: Likewise.
11932
11933 * commands/memrw.c: Likewise.
11934
11935 * util/grub-dumpbios.in: Likewise.
11936
11937 * conf/common.rmk (grub-dumpbios): New utility.
11938 (pkglib_MODULES): New module memrw.mod.
11939 (memrw_mod_SOURCE): New macro.
11940 (memrw_mod_CFLAGS): Likewise.
11941 (memrw_mod_LDFLAGS): Likewise.
11942
7dd4a573 11943 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 11944 fixvideo.mod.
11945 (loadbios_mod_SOURCE): New macro.
11946 (loadbios_mod_CFLAGS): Likewise.
11947 (loadbios_mod_LDFLAGS): Likewise.
11948 (fixvideo_mod_SOURCE): Likewise.
11949 (fixvideo_mod_CFLAGS): Likewise.
11950 (fixvideo_mod_LDFLAGS): Likewise.
11951
7dd4a573 11952 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 11953 fixvideo.mod.
11954 (loadbios_mod_SOURCE): New macro.
11955 (loadbios_mod_CFLAGS): Likewise.
11956 (loadbios_mod_LDFLAGS): Likewise.
11957 (fixvideo_mod_SOURCE): Likewise.
11958 (fixvideo_mod_CFLAGS): Likewise.
11959 (fixvideo_mod_LDFLAGS): Likewise.
11960
af63ada2 119612009-04-08 Felix Zielcke <fzielcke@z-51.de>
11962
11963 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
11964
c2cdde70 119652009-04-07 David S. Miller <davem@davemloft.net>
11966
11967 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
11968 support for R_SPARC_OLO10 relocations. Fix compile warning for
11969 R_SPARC_WDISP30 case.
ea3f72cf 11970 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 11971
761319cf 119722009-04-06 Pavel Roskin <proski@gnu.org>
11973
1007d1f5 11974 * include/grub/misc.h (ARRAY_SIZE): New macro.
11975 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
11976 New macro.
11977 * loader/i386/linux.c (allocate_pages): Use free_pages().
11978 (grub_linux_unload): Don't use free_pages().
11979 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
11980 wrong index. Treat all other modes as text modes.
11981 (grub_cmd_linux): Initialize vid_mode unconditionally to
11982 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
11983
761319cf 11984 * commands/help.c (print_command_help): Use cmd->prio, not
11985 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
11986
ea761d40 119872009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 11988
ea761d40 11989 Parttool
11990
11991 * parttool/pcpart.c: new file
11992 * commands/parttool.c: likewise
11993 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
11994 (parttool_mod_SOURCES): new variable
11995 (parttool_mod_CFLAGS): likewise
11996 (parttool_mod_LDFLAGS): likewise
11997 (pcpart_mod_SOURCES): likewise
11998 (pcpart_mod_CFLAGS): likewise
11999 (pcpart_mod_LDFLAGS): likewise
7dd4a573 12000 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 12001 and parttool/pcpart.c
12002 * conf/i386-efi.rmk: likewise
12003 * conf/i386-ieee1275.rmk: likewise
12004 * conf/i386-pc.rmk: likewise
12005 * conf/powerpc-ieee1275.rmk: likewise
12006 * conf/sparc64-ieee1275.rmk: likewise
12007 * conf/x86_64-ieee1275.rmk: likewise
12008
05aaebfb 120092009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 Support for mtime and further expandability of dir command
12012
12013 * include/grub/lib/datetime.h: moved to ...
7dd4a573 12014 * include/grub/datetime.h: ... moved here and added
05aaebfb 12015 declaration of grub_unixtime2datetime. All users updated
7dd4a573 12016 * include/grub/fs.h: new syntax for dir and mtime functions in
12017 struct grub_fs
05aaebfb 12018 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12019 and GRUB_FSHELP_FLAGS_MASK
12020 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12021 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12022 (grub_ext2_mtime): new function
12023 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12024 (grub_hfsplus_mtime): new function
12025 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12026 (GRUB_UFS_ATTR_FILE): likewise
12027 (GRUB_UFS_ATTR_LNK): likewise
12028 (struct grub_ufs_sblock): new fields mtime
12029 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12030 all users updated
12031 (grub_ufs_dir): mtime support
12032 (grub_ufs_mtime): new function
12033 * fs/affs.c (grub_affs_dir): use new dir syntax
12034 * fs/afs.c (grub_afs_dir): likewise
12035 * fs/cpio.c (grub_cpio_dir): likewise
12036 * fs/fat.c (grub_fat_find_dir): likewise
12037 * fs/hfs.c (grub_hfs_dir): likewise
12038 * fs/iso9660.c (grub_iso9660_dir): likewise
12039 * fs/jfs.c (grub_jfs_dir): likewise
12040 * fs/minix.c (grub_minix_dir): likewise
12041 * fs/ntfs.c (grub_ntfs_dir): likewise
12042 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12043 * fs/sfs.c (grub_sfs_dir): likewise
12044 * fs/xfs.c (grub_xfs_dir): likewise
12045 * util/hostfs.c (grub_hostfs_dir): likewise
12046 * lib/datetime.c: moved to ...
12047 * normal/datetime.c: ... moved here
12048 (grub_unixtime2datetime): new function
12049 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 12050 * normal/completion.c (iterate_dir): use new dir syntax
12051 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 12052 last modification time of a volume
7dd4a573 12053 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 12054 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 12055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 12056 (normal_mod_SOURCES): likewise
12057 (datetime_mod_SOURCES): Removed lib/datetime.c
12058 * conf/i386-efi.rmk: likewise
7dd4a573 12059 * conf/i386-ieee1275.rmk: likewise
05aaebfb 12060 * conf/i386-pc.rmk: likewise
12061 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12062 * conf/sparc64-ieee1275.rmk: likewise
12063 * conf/x86_64-efi.rmk: likewise
05aaebfb 12064
8a7e1a14 120652009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 12068
12069 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 12070 on grub_fat_find_dir
12071 (grub_fat_find_dir): use grub_fat_iterate_dir
12072 (grub_fat_label): likewise
12073
04186a9c 120742009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12075
7dd4a573 12076 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 12077 and command.h
12078 remove extraneous kernel_elf_HEADERS
12079
da4c0bb6 120802009-04-04 Bean <bean123ch@gnail.com>
12081
12082 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12083
12084 * util/misc.c: Likewise.
12085
54ad9555 120862009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12087
12088 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12089 instead of grub_printf.
12090
7a6bf9f2 120912009-04-03 Robert Millan <rmh@aybabtu.com>
12092
12093 * loader/i386/linux.c (grub_linux_setup_video): Fill
12094 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12095 values from `mode info' structure instead of hardcoded
12096 values.
12097
3fcc2083 120982009-04-01 Pavel Roskin <proski@gnu.org>
12099
12100 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12101 unused now.
12102 * genmk.rb: Likewise.
12103 * configure.ac: Likewise.
12104
5ec9740b 121052009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12106
12107 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12108 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12109
5270cec8 121102009-04-01 David S. Miller <davem@davemloft.net>
12111
12112 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 12113 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 12114 (grub_setjmp): Mark with 'returns_twice' attribute.
12115 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12116 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12117 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12118
9c3dd854 121192009-04-01 Robert Millan <rmh@aybabtu.com>
12120
12121 Reapply fix from 2008-07-28 which was accidentally reverted; also
12122 perform the same fix to a similar check in same function.
12123
12124 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12125 with the same number are found, just use issue a warning with
12126 grub_dprintf(), as this error has been reported to be non-fatal.
12127
0d818b7e 121282009-03-31 Pavel Roskin <proski@gnu.org>
12129
12130 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12131 for cross-compilation.
12132
95646d92 121332009-03-30 Robert Millan <rmh@aybabtu.com>
12134
12135 Fix i386-ieee1275 build.
12136
12137 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12138 Remove declaration.
12139
6a003ed1 121402009-03-30 Pavel Roskin <proski@gnu.org>
12141
12142 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12143 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12144 zero-terminated, rely only on the strlen value. Fix comparison
12145 of strings differing in length.
12146
92f33540 121472009-03-30 Robert Millan <rmh@aybabtu.com>
12148
12149 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12150 checking for abi version. Improve error messages on BIOS to notify
12151 user about `linux16' command.
12152
a8c48fd5 121532009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12154
f968172e 12155 Leak fixes
a8c48fd5 12156
f968172e 12157 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12158 in case of collision
12159 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 12160
9c323f09 121612009-03-29 Robert Millan <rmh@aybabtu.com>
12162
12163 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12164 set `vid_mode' accordingly.
12165 (grub_linux_boot): Process `vid_mode' and set video mode.
12166
ae68f423 121672009-03-29 Robert Millan <rmh@aybabtu.com>
12168
12169 * util/grub.d/10_linux.in (linux_entry): New function.
12170 Factorize generation of Linux boot entries.
12171
5709cfc4 121722009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12173
12174 Make the format of Environment Block plain text. The boot loader
12175 part is not tested well yet.
7dd4a573 12176
5709cfc4 12177 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
12178 (buffer): Removed.
12179 (envblk): Likewise.
12180 (usage): Remove "info" and "clear". Add "unset". Update the
12181 description of "set", as this does not delete variables any
12182 longer.
12183 (create_envblk_file): Complete rewrite.
12184 (open_envblk_file): Likewise.
12185 (cmd_info): Removed.
12186 (cmd_list): Likewise.
12187 (cmd_set): Likewise.
12188 (cmd_clear): Likewise.
12189 (list_variables): New function.
12190 (write_envblk): Likewise.
12191 (set_variables): Likewise.
12192 (unset_variables): Likewise.
12193 (main): Complete rewrite.
12194
12195 * commands/loadenv.c (buffer): Removed.
12196 (envblk): Likewise.
12197 (open_envblk_file): New function.
12198 (read_envblk_file): Complete rewrite.
12199 (grub_cmd_load_env): Likewise.
12200 (grub_cmd_list_env): Likewise.
12201 (struct blocklist): New struct.
12202 (free_blocklists): New function.
12203 (check_blocklists): Likewise.
12204 (write_blocklists): Likewise.
12205 (grub_cmd_save_env): Complete rewrite.
12206
12207 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
12208 a plain text signature.
12209 (GRUB_ENVBLK_MAXLEN): Removed.
12210 (struct grub_envblk): Complete rewrite.
12211 (grub_envblk_find): Removed.
12212 (grub_envblk_insert): Likewise.
12213 (grub_envblk_open): New prototype.
12214 (grub_envblk_set): Likewise.
12215 (grub_envblk_delete): Put const to VALUE.
12216 (grub_envblk_iterate): Put const to NAME and VALUE.
12217 (grub_envblk_close): New prototype.
12218 (grub_envblk_buffer): New inline function.
12219 (grub_envblk_size): Likewise.
12220
12221 * lib/envblk.c: Include grub/mm.h.
12222 (grub_env_find): Removed.
12223 (grub_envblk_open): New function.
12224 (grub_envblk_close): Likewise.
12225 (escaped_value_len): Likewise.
12226 (find_next_line): Likewise.
12227 (grub_envblk_insert): Removed.
12228 (grub_envblk_set): New function.
12229 (grub_envblk_delete): Complete rewrite.
12230 (grub_envblk_iterate): Likewise.
12231
a9368fd3 122322009-03-28 Robert Millan <rmh@aybabtu.com>
12233
12234 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
12235 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
12236 variables. Use 16-bit loader.
12237 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
12238 loader.
12239 * kern/i386/loader.S (grub_linux_boot): Rename to ...
12240 (grub_linux16_boot): ... this. Update all users.
12241 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
12242 (grub_linux_boot): ... this. Update all users.
12243
12244 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
12245 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
12246 commands to `linux16' and `initrd16'.
12247 (GRUB_MOD_FINI(linux)): Rename to ...
12248 (GRUB_MOD_FINI(linux16)): ... this.
12249
e4dd5a7e 122502009-03-24 Pavel Roskin <proski@gnu.org>
12251
12252 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
12253 not just for compilation.
12254
c04d6e05 122552009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 Move multiboot helper out of kernel
12258
12259 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
12260 `loader/i386/multiboot_helper.S'.
12261 * conf/i386-coreboot.rmk: Likewise
12262 * conf/i386-ieee1275.rmk: Likewise
12263
12264 * kern/i386/loader.S: Move multiboot helpers from here...
12265 * loader/i386/multiboot_helper.S: ...moved here
12266 * include/grub/i386/loader.h: Move declarations of multiboot
12267 helpers from here...
12268 * include/grub/i386/multiboot.h: ...moved here
12269 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
12270
42a5b3fc 122712009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12272
12273 * kern/env.c (grub_env_context_open): Added an argument to specify
12274 whether a new context inherits exported variables from current
12275 one. This is useful when making a sandbox to interpret a config
12276 file.
12277 All callers updated.
12278
12279 * include/grub/env.h (grub_env_context_open): Updated the prototype.
12280
b28bbc4e 122812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12282
12283 * kern/env.c (grub_env_context_close): Fix memory leaks.
12284
f04f02e4 122852009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12286
12287 * normal/main.c (grub_normal_execute): Added an argument
12288 BATCH to specify if an interactive interface should be provided
12289 after reading a config file.
12290 All callers updated.
12291 (read_command_list): Prevent being executed twice.
12292 (read_fs_list): Likewise.
12293
42a5b3fc 12294 * include/grub/normal.h (grub_normal_execute): Updated the
12295 prototype.
f04f02e4 12296
41473ac2 122972009-03-22 Pavel Roskin <proski@gno.org>
12298
fbc00b0c 12299 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
12300 _start.
12301 * kern/i386/pc/startup.S: Likewise.
12302 * kern/i386/efi/startup.S: Likewise.
12303 * kern/i386/ieee1275/startup.S: Likewise.
12304 * kern/i386/coreboot/startup.S: Likewise.
12305 * kern/x86_64/efi/startup.S: Likewise.
12306
41473ac2 12307 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
12308 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
12309 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
12310
2274cc8f 123112009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 Bugfixes in multiboot for bugs uncovered by solaris kernel.
12314
12315 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
12316 limit detection.
12317 Use vaddr of correct segment for entry_point.
12318
b1b797cb 123192009-03-21 Bean <bean123ch@gmail.com>
12320
12321 * commands/blocklist.c: Add include file <grub/command.h>, remove
12322 <grub/normal.h> and <grub/arg.h>.
12323 (grub_cmd_blocklist): Use the new command interface.
12324 (GRUB_MOD_INIT): Likewise.
12325 (GRUB_MOD_FINI): Likewise.
12326 * commands/boot.c: Likewise.
12327 * commands/cat.c: Likewise.
12328 * commands/cmp.c: Likewise.
12329 * commands/configfile.c: Likewise.
12330 * commands/crc.c: Likewise.
12331 * commands/echo.c: Likewise.
12332 * commands/halt.c: Likewise.
12333 * commands/handler.c: Likewise.
12334 * commands/hdparm.c: Likewise.
12335 * commands/help.c: Likewise.
12336 * commands/hexdump.c: Likewise.
12337 * commands/loadenv.c: Likewise.
12338 * commands/ls.c: Likewise.
12339 * commands/lsmmap.c: Likewise.
12340 * commands/lspci.c: Likewise.
12341 * commands/loadenv.c: Likewise.
12342 * commands/read.c: Likewise.
12343 * commands/reboot.c: Likewise.
12344 * commands/search.c: Likewise.
12345 * commands/sleep.c: Likewise.
12346 * commands/test.c: Likewise.
12347 * commands/usbtest.c: Likewise.
12348 * commands/videotest.c: Likewise.
12349 * commands/i386/cpuid.c: Likewise.
12350 * commands/i386/pc/halt.c: Likewise.
12351 * commands/i386/pc/play.c: Likewise.
12352 * commands/i386/pc/pxecmd.c: Likewise.
12353 * commands/i386/pc/vbeinfo.c: Likewise.
12354 * commands/i386/pc/vbetest.c: Likewise.
12355 * commands/ieee1275/suspend.c: Likewise.
12356 * disk/loopback.c: Likewise.
12357 * font/font_cmd.c: Likewise.
12358 * hello/hello.c: Likewise.
12359 * loader/efi/appleloader.c: Likewise.
12360 * loader/efi/chainloader.c: Likewise.
12361 * loader/i386/bsd.c: Likewise.
12362 * loader/i386/efi/linux.c: Likewise.
12363 * loader/i386/ieee1275/linux.c: Likewise.
12364 * loader/i386/linux.c: Likewise.
12365 * loader/i386/pc/chainloader.c: Likewise.
12366 * loader/i386/pc/linux.c: Likewise.
12367 * loader/powerpc/ieee1275/linux.c: Likewise.
12368 * loader/multiboot_loader.c: Likewise.
12369 * term/gfxterm.c: Likewise.
12370 * term/i386/pc/serial.c: Likewise.
12371 * term/terminfo.c: Likewise.
12372
12373 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
12374 * term/i386/pc/vga.c: Likewise.
12375 * video/readers/jpeg.c: Likewise.
12376 * video/readers/png.c: Likewise.
12377 * video/readers/tga.c: Likewise.
12378
12379 * util/grub-fstest (cmd_loopback): Removed.
12380 (cmd_blocklist): Likewise.
12381 (cmd_ls): Likewise.
12382 (grub_register_command): Likewise.
12383 (grub_unregister_command): Likewise.
12384 (execute_command): Use grub_command_find to locate command and execute
12385 it.
12386
12387 * include/grub/efi/chainloader.h: Removed.
12388 * loader/efi/chainloader_normal.c: Likewise.
12389 * loader/i386/bsd_normal.c: Likewise.
12390 * loader/i386/pc/chainloader_normal.c: Likewise.
12391 * loader/i386/pc/multiboot_normal.c: Likewise.
12392 * loader/linux_normal.c: Likewise.
12393 * loader/multiboot_loader_normal.c: Likewise.
12394 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
12395
12396 * gencmdlist.sh: Scan new registration command grub_register_extcmd
12397 and grub_register_command_p1.
12398
12399 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
12400 kern/command.c, lib/arg.c and commands/extcmd.c.
12401 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
12402 (minicmd_mod_SOURCES): New variable.
12403 (minicmd_mod_CFLAGS): Likewise.
12404 (minicmd_mod_LDFLAGS): Likewise.
12405 (extcmd_mod_SOURCES): Likewise.
12406 (extcmd_mod_CFLAGS): Likewise.
12407 (extcmd_mod_LDFLAGS): Likewise.
12408 (boot_mod_SOURCES): Removed.
12409 (boot_mod_CFLAGS): Likewise.
12410 (boot_mod_LDFLAGS): Likewise.
12411
12412 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
12413 kern/corecmd.c.
12414 (kernel_img_HEADERS): Add command.h.
12415 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
12416 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
12417 and lib/arg.c.
12418 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
12419 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
12420 remove the corresponding normal mode command.
12421 (normal_mod_SOURCES): Remove normal/arg.c.
12422 * conf/i386-coreboot.rmk: Likewise.
12423 * conf/i386-efi.rmk: Likewise.
12424 * conf/i386-ieee1275.rmk: Likewise.
12425 * conf/powerpc-ieee1275.rmk: Likewise.
12426 * conf/x86_64-efi.rmk: Likewise.
12427
12428 * include/grub/arg.h: Move from here ...
12429 * include/grub/lib/arg.h: ... to here.
12430
12431 * normal/arg.c: Move from here ...
12432 * lib/arg.c: ... to here.
12433
12434 * commands/extcmd.c: New file.
12435 * commands/minicmd.c: Likewise.
12436 * include/grub/command.h: Likewise.
12437 * include/grub/extcmd.h: Likewise.
12438 * kern/command.c: Likewise.
12439 * kern/corecmd.c: Likewise.
12440
12441 * kern/list.c (grub_list_iterate): Return int instead of void.
12442 (grub_list_insert): New function.
12443 (grub_prio_list_insert): Likewise.
12444
12445 * kern/rescue.c (grub_rescue_command): Removed.
12446 (grub_rescue_command_list): Likewise.
12447 (grub_rescue_register_command): Likewise.
12448 (grub_rescue_unregister_command): Likewise.
12449 (grub_rescue_cmd_boot): Move to minicmd.c
12450 (grub_rescue_cmd_help): Likewise.
12451 (grub_rescue_cmd_info): Likewise.
12452 (grub_rescue_cmd_boot): Likewise.
12453 (grub_rescue_cmd_testload): Likewise.
12454 (grub_rescue_cmd_dump): Likewise.
12455 (grub_rescue_cmd_rmmod): Likewise.
12456 (grub_rescue_cmd_lsmod): Likewise.
12457 (grub_rescue_cmd_exit): Likewise.
12458 (grub_rescue_print_devices): Moved to corecmd.c.
12459 (grub_rescue_print_files): Likewise.
12460 (grub_rescue_cmd_ls): Likewise.
12461 (grub_rescue_cmd_insmod): Likewise.
12462 (grub_rescue_cmd_set): Likewise.
12463 (grub_rescue_cmd_unset): Likewise.
7d074e3c 12464 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 12465 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 12466 commands, remove grub_rescue_register_command calls.
b1b797cb 12467
7d074e3c 12468 * normal/command.c (grub_register_command): Removed.
b1b797cb 12469 (grub_unregister_command): Likewise.
12470 (grub_command_find): Likewise.
12471 (grub_iterate_commands): Likewise.
12472 (rescue_command): Likewise.
12473 (export_command): Moved to corecmd.c.
12474 (set_command): Removed.
12475 (unset_command): Likewise.
12476 (insmod_command): Likewise.
12477 (rmmod_command): Likewise.
12478 (lsmod_command): Likewise.
12479 (grub_command_init): Likewise.
12480
12481 * normal/completion.c (iterate_command): Use cmd->prio to check for
12482 active command.
12483 (complete_arguments): Use grub_extcmd_t structure to find options.
12484 (grub_normal_do_completion): Change function grub_iterate_commands to
12485 grub_command_iterate.
12486
12487 * normal/execute.c (grub_script_execute_cmd): No need to parse
12488 argument here.
12489
12490 * normal/main.c (grub_dyncmd_dispatcher): New function.
12491 (read_command_list): Register unload commands as dyncmd.
12492 (grub_cmd_normal): Use new command interface, register rescue,
12493 unregister normal at entry, register normal, unregister rescue at exit.
12494
12495 * include/grub/list.h (grub_list_test_t): New type.
12496 (grub_list_iterate): Return int instead of void.
12497 (grub_list_insert): New function.
12498 (GRUB_AS_NAMED_LIST_P): New macro.
12499 (GRUB_AS_PRIO_LIST): Likewise.
12500 (GRUB_AS_PRIO_LIST_P): Likewise.
12501 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
12502 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
12503 (grub_prio_list): New structure.
12504 (grub_prio_list_insert): New function.
12505 (grub_prio_list_remove): New inline function.
12506
12507 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
12508 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
12509 (GRUB_COMMAND_FLAG_MENU): Likewise.
12510 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12511 (GRUB_COMMAND_FLAG_TITLE): Likewise.
12512 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12513 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
12514 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
12515 (grub_command): Likewise.
12516 (grub_register_command): Likewise.
12517 (grub_command_find): Likewise.
12518 (grub_iterate_commands): Likewise.
12519 (grub_command_init): Likewise.
12520 (grub_arg_parse): Likewise.
12521 (grub_arg_show_help): Likewise.
12522
12523 * include/grub/rescue.h (grub_rescue_register_command): Removed.
12524 (grub_rescue_unregister_command): Likewise.
12525
12526 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
12527 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
12528 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
12529
12530 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
12531 grub_rescue_cmd_initrd.
12532 * include/grub/i386/loader.h: Likewise.
12533 * include/grub/x86_64/loader.h: Likewise.
12534
12535 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
12536
1f4147aa 125372009-03-21 Bean <bean123ch@gmail.com>
12538
12539 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
12540 instead of stat in mingw environment.
12541
12542 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
12543
12544 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
12545
12546 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
12547 AC_CONFIG_LINKS.
12548
2156d5ba 125492009-03-21 Bean <bean123ch@gmail.com>
12550
12551 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
12552 out of range error.
12553
177b82ca 125542009-03-18 Michel Dänzer <michel@daenzer.net>
12555
12556 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
12557 checking inode flags for EXT4_EXTENTS_FLAG.
12558
14aad807 125592009-03-18 Robert Millan <rmh@aybabtu.com>
12560
12561 * loader/i386/linux.c: Include `<grub/video.h>' and
12562 `<grub/i386/pc/vbe.h>'..
12563 (grub_linux_setup_video): New function. Loosely based on the EFI one.
12564 (grub_linux32_boot): Attempt to configure video settings with
12565 grub_linux_setup_video().
12566 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
12567 to avoid grub_console_fini() which would step out of graphical mode
12568 unconditionally.
12569
8cf83a27 125702009-03-14 Robert Millan <rmh@aybabtu.com>
12571
12572 Fix build on powerpc.
12573 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
12574
40164e75 125752009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
12578 background image command.
12579
c58bc32a 125802009-03-12 Colin D Bennett <colin@gibibit.com>
12581
12582 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
12583 (grub_gfxterm_putchar): Extract pairs of identical calls to
12584 draw_cursor out of conditional blocks.
12585
5415144a 125862009-03-11 Pavel Roskin <proski@gnu.org>
12587
12588 * fs/hfs.c (grub_hfs_strncasecmp): New function.
12589 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
12590
6394042e 125912009-03-11 Robert Millan <rmh@aybabtu.com>
12592
12593 * loader/i386/multiboot_elfxx.c
12594 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
12595
b7b50e5f 125962009-03-11 Felix Zielcke <fzielcke@z-51.de>
12597
12598 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
12599 `kern/handler.c'.
12600
1ca7fc96 126012009-03-11 Robert Millan <rmh@aybabtu.com>
12602
12603 * loader/i386/multiboot.c (code_size): New variable.
12604 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 12605 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 12606 4-byte alignment to MBI and others by increasing
7d074e3c 12607 `boot_loader_name_length' appropriately.
1ca7fc96 12608
12609 * loader/i386/multiboot_elfxx.c
12610 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
12611
a83ea1d2 126122009-03-09 Felix Zielcke <fzielcke@z-51.de>
12613
12614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
12615 `fs/ext2.c'.
12616
aa9f3bff 126172009-03-08 Robert Millan <rmh@aybabtu.com>
12618
12619 Make loader/i386/linux.c usable on i386-pc again.
12620
12621 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
12622 memory to heap.
12623 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
12624 `#error' stanza.
12625
d8b3b60e 126262009-03-07 Bean <bean123ch@gmail.com>
12627
12628 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
12629 allocation.
12630
b362c9e9 126312009-03-06 Robert Millan <rmh@aybabtu.com>
12632
12633 Fix display issue on terminals with screen size other than 80x25
12634 (e.g. gfxterm with resolution higher than 640x480).
12635
12636 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 12637 position relative to the center of the terminal instead of relying
b362c9e9 12638 on a hardcoded offset.
12639
9304eef1 126402009-03-04 Robert Millan <rmh@aybabtu.com>
12641
12642 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
12643 installed.
12644
12645 * Makefile.in (host_kernel): New variable.
12646 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
12647 scripts instead of just the windows one.
12648 * configure.ac: Initialize and AC_SUBST `host_kernel'.
12649
eabc95fb 126502009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 12651
12652 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
12653 `kern/handler.c'.
12654 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12655 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12656 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12658 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12659 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12660
ceb1223c 126612009-03-04 Felix Zielcke <fzielcke@z-51.de>
12662
12663 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
12664 or if there's no space for the disk label and print the partition number on a
12665 invalid magic.
12666
4910684a 126672009-03-04 Felix Zielcke <fzielcke@z-51.de>
12668
12669 * util/misc.c: Include <time.h>.
12670 (grub_millisleep): New function.
12671
7e9ca17a 126722009-03-04 Bean <bean123ch@gmail.com>
12673
12674 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
12675 another option -mno-red-zone.
12676
12677 * commands/handler.c: Change module description.
12678
12679 * kern/handler.c: Add missing space at the end of description line.
12680
12681 * kern/list.c: Likewise.
12682
f501677c 126832009-03-03 Robert Millan <rmh@aybabtu.com>
12684
12685 Move more components to the relocation area, and fix mbi pointer
12686 handling to use the destination rather than the origin (thanks to
12687 Vladimir Serbinenko for spotting).
12688
12689 * loader/i386/multiboot.c (mbi_dest): New variable.
12690 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
12691 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
12692 relocation area.
12693
9902d047 126942009-03-01 Bean <bean123ch@gmail.com>
12695
50fb7002 12696 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 12697 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
12698 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
12699 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
12700
12701 * loader/i386/efi/linux.c (acpi_guid): New variable.
12702 (acpi_guid): Likewise.
12703 (EBDA_SEG_ADDR): New constant.
12704 (LOW_MEM_ADDR): Likewise.
12705 (FAKE_EBDA_SEG): Likewise.
12706 (fake_bios_data): New function.
12707 (grub_linux_boot): Call fake_bios_data.
12708
71b9f361 127092009-03-01 Bean <bean123ch@gmail.com>
12710
12711 * commands/terminal.c: Removed.
12712
12713 * commands/handler.c: New file.
12714
12715 * include/grub/list.h: Likewise.
12716
12717 * include/grub/handler.h: Likewise.
12718
12719 * kern/list.c: Likewise.
12720
12721 * kern/handler.c: Likewise.
12722
12723 * kern/term.h: Include header file <grub/handler.h>.
12724 (grub_term_input): Move next field to the beginning.
12725 (grub_term_output): Likewise.
12726 (grub_term_input_class): New variable.
12727 (grub_term_output_class): Likewise.
12728 (grub_term_register_input): Changed to inline function.
12729 (grub_term_register_output): Likewise.
12730 (grub_term_unregister_input): Likewise.
12731 (grub_term_unregister_output): Likewise.
12732 (grub_term_set_current_input): Likewise.
12733 (grub_term_set_current_output): Likewise.
12734 (grub_term_get_current_input): Likewise.
12735 (grub_term_get_current_output): Likewise.
12736 (grub_term_iterate_input): Removed.
12737 (grub_term_iterate_output): Likewise.
12738
12739 * kern/term.c (grub_term_list_input): Removed.
12740 (grub_term_list_output): Likewise.
12741 (grub_term_input_class): New variable.
12742 (grub_term_output_class): Likewise.
50fb7002 12743 (grub_cur_term_input): Change variable as macro.
71b9f361 12744 (grub_cur_term_output): Likewise.
12745 (grub_term_register_input): Removed.
12746 (grub_term_register_output): Likewise.
12747 (grub_term_unregister_input): Likewise.
12748 (grub_term_unregister_output): Likewise.
12749 (grub_term_set_current_input): Likewise.
12750 (grub_term_set_current_output): Likewise.
12751 (grub_term_iterate_input): Likewise.
12752 (grub_term_iterate_output): Likewise.
12753 (grub_term_get_current_input): Likewise.
12754 (grub_term_get_current_output): Likewise.
12755
12756 * util/grub-editenv.c: Include header file <grub/handler.h>.
12757 (grub_term_get_current_input): Removed.
12758 (grub_term_get_current_output): Likewise.
12759 (grub_term_input_class): New variable.
50fb7002 12760 (grub_term_output_class): Likewise.
71b9f361 12761
12762 * util/grub-fstest.c (grub_term_get_current_input): Removed.
12763 (grub_term_get_current_output): Likewise.
12764 (grub_term_input_class): New variable.
50fb7002 12765 (grub_term_output_class): Likewise.
71b9f361 12766
12767 * util/grub-probe.c (grub_term_get_current_input): Removed.
12768 (grub_term_get_current_output): Likewise.
12769 (grub_term_input_class): New variable.
50fb7002 12770 (grub_term_output_class): Likewise.
71b9f361 12771
12772 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
12773 (grub_term_get_current_output): Likewise.
12774 (grub_term_input_class): New variable.
50fb7002 12775 (grub_term_output_class): Likewise.
71b9f361 12776
12777 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
12778 (terminal_mod_SOURCES): Likewise.
12779 (terminal_mod_CFLAGS): Likewise.
12780 (terminal_mod_LDFLAGS): Likewise.
12781
12782 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
12783 handler.c.
12784 (kernel_img_SOURCES): Add list.c and handler.c.
12785 (kernel_img_HEADERS): Add list.h and handler.h.
12786
12787 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12788 handler.c.
12789 (kernel_mod_SOURCES): Add list.c and handler.c.
12790 (kernel_mod_HEADERS): Add list.h and handler.h.
12791
12792 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
12793 handler.c.
12794 (kernel_elf_SOURCES): Add list.c and handler.c.
12795 (kernel_elf_HEADERS): Add list.h and handler.h.
12796
12797 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12798 handler.c.
12799 (kernel_elf_SOURCES): Add list.c and handler.c.
12800 (kernel_elf_HEADERS): Add list.h and handler.h.
12801
12802 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
12803 handler.c.
12804 (kernel_mod_SOURCES): Add list.c and handler.c.
12805 (kernel_mod_HEADERS): Add list.h and handler.h.
12806
12807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
12808 handler.c.
12809 (kernel_elf_SOURCES): Add list.c and handler.c.
12810 (kernel_elf_HEADERS): Add list.h and handler.h.
12811
8a31787f 128122009-02-27 Robert Millan <rmh@aybabtu.com>
12813
12814 Factorize elf32 / elf64 code in Multiboot loader. This will
12815 prevent it from getting out of sync again.
12816
12817 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
12818 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
12819 grub_multiboot_load_elf64): Move from here ...
12820 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
12821 grub_multiboot_load_elf): ... to here (new file).
12822
51cd3dfc 128232009-02-27 Robert Millan <rmh@aybabtu.com>
12824
12825 * util/grub.d/10_linux.in: Rename "single-user mode" to
12826 "recovery mode".
12827
6e8c9c3a 128282009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 Don't leak in SCSI code.
12831 * disk/scsi.c (grub_scsi_close): free `scsi'.
12832
4b6bf4f9 128332009-02-27 Robert Millan <rmh@aybabtu.com>
12834
12835 * loader/i386/pc/multiboot.c: Move from here ...
12836 * loader/i386/multiboot.c: ... to here. Update all users.
12837
b9413424 128382009-02-27 Robert Millan <rmh@aybabtu.com>
12839
12840 Patch from Alexandre Bique <bique.alexandre@gmail.com>
12841 * util/i386/pc/grub-setup.c (setup): Fix directory path.
12842
50fb7002 128432009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 12844
12845 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
12846 b-tree.
12847
8cc50345 128482009-02-27 Robert Millan <rmh@aybabtu.com>
12849
12850 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
12851 `0x' qualifier as 0 when base is specified as parameter).
12852
6e09b8b7 128532009-02-24 Bean <bean123ch@gmail.com>
12854
12855 * configure.ac: Check for -mcmodel=large in x86_64 target.
12856
12857 * include/grub/efi/api.h (efi_call_10): New macro.
12858 (efi_wrap_10): New function.
12859
12860 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
12861 (GRUB_PE32_REL_BASED_HIGH): Likewise.
12862 (GRUB_PE32_REL_BASED_LOW): Likewise.
12863 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
12864 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
12865 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
12866 (GRUB_PE32_REL_BASED_SECTION): Likewise.
12867 (GRUB_PE32_REL_BASED_REL): Likewise.
12868 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
12869 (GRUB_PE32_REL_BASED_DIR64): Likewise.
12870 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
12871
12872 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
12873 issue.
12874
12875 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
12876 (efi_wrap_10): New function.
12877
12878 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
12879
12880 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
12881 MB/MBP model (NV chipset).
12882 (devdata_devs): Add devpath_5 to the list.
12883
12884 * load/i386/efi/linux.c (video_base): Remove variable.
12885 (RGB_MASK): New macro.
12886 (RGB_MAGIC): Likewise.
12887 (LINE_MIN): Likewise.
12888 (LINE_MAX): Likewise.
12889 (FBTEST_STEP): Likewise.
12890 (FBTEST_COUNT): Likewise.
12891 (fb_list): New variable.
12892 (grub_find_video_card): Remove function.
12893 (find_framebuf): New function.
12894 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
12895 line length.
12896
12897 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
12898 problem for x86_64.
12899
74b21bee 129002009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
12901
12902 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
12903
12904 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
12905 coding tool name.
12906
a455f472 129072009-02-22 Robert Millan <rmh@aybabtu.com>
12908
12909 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
12910 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
12911 in our relocation, instead of using it directly from heap. Also
12912 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
12913
6374daf3 129142009-02-21 Robert Millan <rmh@aybabtu.com>
12915
12916 Implement USB keyboard support (based on patch by Marco Gerards)
12917
12918 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
12919 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
12920 (usb_keyboard_mod_LDFLAGS): New variables.
12921
12922 * term/usb_keyboard.c: New file.
12923
8fa4ea70 129242009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 Corrected wrong declaration
12927
12928 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
12929
353976ac 129302009-02-14 Christian Franke <franke@computer.org>
12931
12932 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
12933 (grub_lspci_iter): Print class code and programming interface byte.
12934
6aa1169b 129352009-02-14 Christian Franke <franke@computer.org>
12936
12937 * gendistlist.sh: Ignore `.svn' directories.
12938
265372ca 129392009-02-14 Felix Zielcke <fzielcke@z-51.de>
12940
12941 * fs/fat.c: Add 2009 to Copyright line.
12942
9ff516f3 129432009-02-14 Christian Franke <franke@computer.org>
12944
12945 * commands/hdparm.c: New file. Provides `hdparm' command
12946 which sends ATA commands via grub_disk_ata_pass_through ().
12947
12948 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
12949
12950 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
12951 and <grub/cpu/io.h> to include/grub/ata.h.
12952 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
12953 (GRUB_CDROM_SECTOR_SIZE): Remove.
12954 (GRUB_ATA_*): Move to include/grub/ata.h.
12955 (GRUB_ATAPI_*): Likewise.
12956 (enum grub_ata_commands): Likewise.
12957 (enum grub_ata_timeout_milliseconds): Likewise.
12958 (struct grub_ata_device): Likewise.
12959 (grub_ata_regset): Likewise.
12960 (grub_ata_regget): Likewise.
12961 (grub_ata_regset2): Likewise.
12962 (grub_ata_regget2): Likewise.
12963 (grub_ata_check_ready): Likewise.
12964 (grub_ata_wait_not_busy): Remove static, exported in
12965 include/grub/ata.h.
12966 (grub_ata_wait_drq): Likewise.
12967 (grub_ata_pio_read): Likewise.
12968
12969 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
12970 function for hdparm.mod.
12971
12972 * include/grub/ata.h: New file, contains declarations from
12973 disk/ata.c.
12974 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
12975
12976 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
12977 (grub_disk_ata_pass_through): New exported variable.
12978
12979 * kern/disk.c (grub_disk_ata_pass_through): New variable.
12980
772e23da 129812009-02-13 Colin D Bennett <colin@gibibit.com>
12982
12983 Support multiple fallback entries, and provide an API to support
12984 executing default+fallback menu entries. Renamed the `terminal' menu
12985 viewer to `text'.
12986
12987 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
12988 variable declaration.
12989 (grub_menu_execute_callback): New structure declaration.
12990 (grub_menu_execute_callback_t): New typedef.
12991 (grub_menu_execute_with_fallback): New function declaration.
12992 (grub_menu_get_entry): Likewise.
12993 (grub_menu_get_timeout): Likewise.
12994 (grub_menu_set_timeout): Likewise.
12995
12996 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
12997
12998 * normal/menu.c (grub_wait_after_message): Moved to
12999 `normal/menu_text.c'.
13000 (draw_border): Likewise.
13001 (print_message): Likewise.
13002 (print_entry): Likewise.
13003 (print_entries): Likewise.
13004 (grub_menu_init_page): Likewise.
13005 (get_entry_number): Likewise.
13006 (print_timeout): Likewise.
13007 (run_menu): Likewise.
13008 (grub_menu_execute_entry): Likewise.
13009 (show_text_menu): Likewise.
13010 (get_and_remove_first_entry_number): New function.
13011 (grub_menu_execute_with_fallback): Likewise.
13012 (get_entry): Renamed to ...
13013 (grub_menu_get_entry): .. this and made it global.
13014 (get_timeout): Renamed to ...
13015 (grub_menu_get_timeout): ... this and made it global.
13016 (set_timeout): Renamed to ...
13017 (grub_menu_set_timeout): ... this and made it global.
13018 (grub_normal_terminal_menu_viewer): Renamed to ...
13019 (grub_normal_text_menu_viewer): ... this.
13020
13021 * normal/menu_text.c: New file. Extracted text-menu-specific code
13022 from normal/menu.c.
13023
13024 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13025 (normal_mod_SOURCES): Likewise.
13026
13027 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13028 (normal_mod_SOURCES): Likewise.
13029
13030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13031 (normal_mod_SOURCES): Likewise.
13032
13033 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13034 (normal_mod_SOURCES): Likewise.
13035
13036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13037 (normal_mod_SOURCES): Likewise.
13038
13039 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13040 (normal_mod_SOURCES): Likewise.
13041
13042 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13043 (normal_mod_SOURCES): Likewise.
13044
16ac430e 130452009-02-11 Robert Millan <rmh@aybabtu.com>
13046
13047 * util/grub.d/00_header.in: Update old reference to `font' command.
13048
06ff20fc 130492009-02-10 Felix Zielcke <fzielcke@z-51.de>
13050
13051 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13052
13053 Based on patch from Javier Martín.
13054
96da9407 130552009-02-09 Felix Zielcke <fzielcke@z-51.de>
13056
13057 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 13058 to avoid false positives with FAT.
96da9407 13059 (grub_fstest_SOURCES): Likewise.
13060 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13061 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13063 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13065 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13066
6dca6fe4 130672009-02-09 Felix Zielcke <fzielcke@z-51.de>
13068
06ff20fc 13069 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 13070 bpb.version_specific.fat12_or_fat16.fstype and
13071 bpb.version_specific.fat32.fstype.
13072
2550c62f 130732009-02-08 Robert Millan <rmh@aybabtu.com>
13074
be110b30 13075 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 13076
56978920 130772009-02-08 Robert Millan <rmh@aybabtu.com>
13078
13079 * Makefile.in (host_os, host_cpu): New variables.
13080 (target_os): Remove. Update all users.
13081
d64399b5 130822009-02-08 Marco Gerards <marco@gnu.org>
13083
13084 * Makefile.in (enable_grub_emu_usb): New variable.
13085 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13086 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13087 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13088 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13089 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13090 `usbtest.mod' and `usbms.mod'.
13091 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13092 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13093 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13094 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13095 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13096 variables.
13097
13098 * disk/usbms.c: New file.
13099
13100 * include/grub/usb.h: Likewise.
13101
13102 * include/grub/usbtrans.h: Likewise.
13103
13104 * include/grub/usbdesc.h: Likewise.
13105
13106 * bus/usb/usbtrans.c: Likewise.
13107
13108 * bus/usb/ohci.c: Likewise.
13109
13110 * bus/usb/uhci.c: Likewise.
13111
13112 * bus/usb/usbhub.c: Likewise.
13113
13114 * bus/usb/usb.c: Likewise.
13115
13116 * commands/usbtest.c: Likewise.
13117
13118 * util/usb.c: Likewise.
50fb7002 13119
d64399b5 13120 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13121
13122 * configure.ac: Test for libusb presence.
50fb7002 13123
d64399b5 13124 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13125
2b40d6bb 131262009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13127
13128 * kern/mm.c: Add more comments.
13129
73a4ce81 131302009-02-08 Robert Millan <rmh@aybabtu.com>
13131
13132 Patch from Javier Martín.
13133 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13134 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13135
f821ce59 131362009-02-08 Robert Millan <rmh@aybabtu.com>
13137
13138 * fs/cpio.c: Split tar functionality to ...
13139 * fs/tar.c: ... here (new file). Update all users.
13140
aebfc4b0 131412009-02-07 Robert Millan <rmh@aybabtu.com>
13142
13143 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13144 backward-incompatible features.
13145
13146 Based on patch from Javier Martín, with some adjustments.
13147
50fb7002 131482009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 13149
13150 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13151
0bb5115e 131522009-02-07 Robert Millan <rmh@aybabtu.com>
13153
13154 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13155 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13156 after the RAID stuff.
13157
38a0f8e7 131582009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13159
50fb7002 13160 Fixes problem when running vbetest command as reported by
38a0f8e7 13161 Vladimir Serbinenko <phcoder@gmail.com>.
13162
13163 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13164
3143cc1c 131652009-02-04 Felix Zielcke <fzielcke@z-51.de>
13166
13167 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13168 /dev/md/NpN style mdraid devices.
13169
9cba6fce 131702009-02-03 Felix Zielcke <fzielcke@z-51.de>
13171
13172 * util/unifont2pff.rb: Remove.
13173
e507a2c1 131742009-02-03 Felix Zielcke <fzielcke@z-51.de>
13175
13176 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
13177 `#'.
13178
d2c2b4cd 131792009-02-03 Felix Zielcke <fzielcke@z-51.de>
13180
13181 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
13182 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13183 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13184 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13186 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13187 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13188
b4315fb0 131892009-02-02 Christian Franke <franke@computer.org>
13190
13191 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
13192
de3aa260 131932009-02-01 Felix Zielcke <fzielcke@z-51.de>
13194
7c3ff286 13195 * INSTALL: Note that we now require at least autoconf 2.59 and
13196 that LZO is optional.
de3aa260 13197
825a182b 131982009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13199
13200 Base on patch on bug #24154 created by Tomas Tintera
13201 <trosos@seznam.cz>.
13202
13203 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
13204
a69ef770 132052009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13206
7c3ff286 13207 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 13208 <bero@arklinux.org>.
13209
13210 * normal/parser.y (script_init): Add missing semicolon.
13211
6fa42fa6 132122009-01-31 Colin D Bennett <colin@gibibit.com>
13213
7c3ff286 13214 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 13215 (free_menu_entry_classes): Added.
13216 (grub_normal_menu_addentry): Added class property handling.
13217 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
13218 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
13219
13220 * normal/menu_viewer.c: New file.
13221
13222 * normal/menu.c (run_menu_entry): Renamed to ...
13223 (grub_menu_execute_entry): ... this and made it as global.
13224 (grub_menu_run): Renamed to ...
13225 (show_text_menu): ... this and made it local.
13226 (show_text_menu): Adapt to new function names.
13227 (grub_normal_terminal_menu_viewer): New global variable.
13228
13229 * include/grub/menu.h: New file.
13230
13231 * include/grub/menu_viewer.h: New file.
13232
13233 * include/grub/normal.h: Added include to grub/menu.h.
13234 (grub_menu_entry): Moved to include/grub/menu.h.
13235 (grub_menu_entry_t): Likewise.
13236 (grub_menu): Likewise.
13237 (grub_menu_t): Likewise.
13238 (grub_normal_terminal_menu_viewer): Added.
13239 (grub_menu_execute_entry): Likewise.
13240 (grub_menu_run): Removed.
13241
13242 * DISTLIST: Added include/grub/menu.h.
13243 Added include/grub/menu_viewer.h.
13244 Added normal/menu_viewer.c.
13245
132462009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
13247
13248 * normal/execute.c (grub_script_execute_menuentry): Changed to use
13249 arglist for menutitle arguments.
13250
13251 * normal/main.c (grub_normal_menu_addentry): Likewise.
13252
13253 * normal/parser.y (menuentry): Likewise.
13254
13255 * normal/script.c (grub_script_create_cmdmenu): Likewise.
13256
13257 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
13258 (grub_script_create_cmdmenu): Likewise.
13259
13260 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
13261
13262 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
13263 changes.
13264
13265 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
13266
13267 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
13268
13269 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
13270
13271 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13272
13273 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13274
13275 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13276
56192c23 132772009-01-30 Christian Franke <franke@computer.org>
13278
13279 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
13280 in option help text.
13281
d72521b3 132822009-01-27 Pavel Roskin <proski@gnu.org>
13283
13284 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
13285
994b5e84 132862009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13287
13288 * commands/lsmmap.c: Add include to grub/machine/memory.h.
13289
13290 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
13291
13292 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
13293 unregister function.
13294
6a7eab2c 132952009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13296
13297 * disk/scsi.c (grub_scsi_read): Fix sign problem.
13298
13299 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
13300
13301 * util/grub-mkfont.c (usage): Fix typo.
13302
13303 * util/elf/grub-mkimage.c (load_modules): Fix warning.
13304
1806b56e 133052009-01-26 Daniel Mierswa <impulze@impulze.org>
13306
3fb18f09 13307 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
13308
336e1fb9 13309 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
13310
1806b56e 13311 * kern/misc.c (grub_strcasecmp): New function.
13312 (grub_strcasecmp): Use grub_size_t instead of int for length.
13313 Fix return value.
13314 * include/grub/misc.h: Update function prototypes.
13315
580b2a0f 133162009-01-26 Robert Millan <rmh@aybabtu.com>
13317
13318 * configure.ac: Fix cross-compilation check.
ef257b36 13319
d31c24f1 133202009-01-22 Christian Franke <franke@computer.org>
13321
13322 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
13323 (precision) digit string. Allow `.format2' without `format1' (width).
13324 Limit input chars for `%s' output to `format2' if specified. This is
13325 compatible with standard printf ().
13326
3138b44c 133272009-01-22 Christian Franke <franke@computer.org>
13328
13329 * disk/ata.c (grub_ata_wait_status): Replace by ...
13330 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
13331 other status bits may be invalid while BSY is asserted.
13332 (grub_ata_check_ready): New function.
13333 (grub_ata_cmd): Removed.
13334 (grub_ata_wait_drq): New function.
13335 (grub_ata_strncpy): Remove inline.
13336 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
13337 and error check now done by grub_ata_wait_drq ().
13338 (grub_ata_pio_write): Likewise.
13339 (grub_atapi_identify): Set DEV before check for !BSY. Use
13340 grub_ata_wait_drq () to wait for data.
13341 (grub_ata_device_initialize): Add status register check to
13342 detect missing SATA slave devices. Add debug messages.
13343 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
13344 (grub_atapi_packet): Set DEV before check for !BSY. Replace
13345 transfer loop by grub_ata_pio_write ().
13346 (grub_ata_identify): Set DEV before check for !BSY. Use
13347 grub_ata_wait_drq () to wait for data.
ef257b36 13348 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 13349 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
13350 read/write in one loop. Fix invalid command on write. Fix incomplete
13351 command on (size % batch) == 0. Add missing error check after write of
13352 last block. Add debug messages.
13353 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
13354
59a64ef6 133552009-01-19 Christian Franke <franke@computer.org>
13356
13357 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
13358 (GRUB_ATAPI_IREASON_*): Likewise.
13359 (grub_ata_pio_write): Fix timeout error return.
13360 (grub_atapi_identify): Add grub_ata_wait () after cmd.
13361 (grub_atapi_wait_drq): New function.
13362 (grub_atapi_packet): New parameter `size'.
13363 Use grub_atapi_wait_drq () and direct write instead of
13364 grub_ata_pio_write ().
13365 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
13366 reads the number of bytes requested by the device for each DRQ
13367 assertion.
13368 (grub_atapi_write): Remove old implementation, return not
13369 implemented instead.
13370
1cfe20b3 133712009-01-19 Christian Franke <franke@computer.org>
13372
13373 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
13374 of 512 to calculate data size.
13375 (grub_scsi_read12): Likewise.
13376 (grub_scsi_write10): Likewise.
13377 (grub_scsi_write12): Likewise.
13378 (grub_scsi_read): Adjust size according to blocksize.
13379 Add checks for invalid blocksize and unaligned transfer.
13380
bee5fe5d 133812009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
13382
13383 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
13384
ef257b36 13385 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 13386 width glyphs.
13387
3e643f8c 133882009-01-19 Robert Millan <rmh@aybabtu.com>
13389
13390 * config.guess: Update to latest version from config git.
13391 * config.sub: Likewise.
13392
4fa80998 133932009-01-17 Felix Zielcke <fzielcke@z-51.de>
13394
13395 * Makefile.in: Change font compilation to use new grub-mkfont instead
13396 of java version.
13397
13398 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
13399 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13400 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13401 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13402 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13403 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13404 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13405 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13406 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13407
7086085b 134082009-01-16 Christian Franke <franke@computer.org>
13409
13410 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
13411 (enum grub_ata_timeout_milliseconds): New enum.
13412 (grub_ata_wait_status): Add parameter milliseconds.
13413 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
13414 recovery from timed-out commands.
13415 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
13416 return grub_errno instead of REG_ERROR.
13417 (grub_ata_pio_write): Add parameter milliseconds.
13418 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
13419 Pass milliseconds to grub_ata_wait_status () and
13420 grub_ata_pio_read ().
13421 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
13422 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
13423 grub_ata_wait_status (). Fix IDENTIFY timeout check.
13424 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
13425 It is not suitable for device detection, because DEV bit is ignored,
13426 the command may run too long, and not all devices set the signature
13427 properly.
13428 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
13429 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
13430 Fix device selection, DEV bit must be set first to address the registers
13431 of the correct device.
13432 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
13433 grub_ata_pio_read/write ().
13434 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
13435 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
13436
4a412913 134372009-01-13 Carles Pina i Estany <carles@pina.cat>
13438
13439 * util/grub-editenv.c (main): Use fseeko(), not fseek().
13440
7795c55e 134412009-01-13 Bean <bean123ch@gmail.com>
d913988c 13442
13443 * util/grub-mkfont.c (write_font): forget to remove some debug code.
13444
7795c55e 134452009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 13446
13447 * Makefile.in: (enable_grub_mkfont): New variable.
13448 (freetype_cflags): Likewise.
13449 (freetype_libs): Likewise.
13450
13451 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
13452 (grub_mkfont_SOURCES): New variable.
13453 (grub_mkfont_CFLAGS): Likewise.
13454 (grub_mkfont_LDFLAGS): Likewise.
13455
13456 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
13457 library if `--enable-grub-mkfont' is requested.
13458 (enable_grub_mkfont): New variable.
13459 (freetype_cflags): Likewise.
13460 (freetype_libs): Likewise.
13461
13462 * util/grub-mkfont.c: New file.
13463
093af1fe 134642009-01-12 Christian Franke <franke@computer.org>
13465
13466 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
13467 mode check. Fix setting of compat_use[].
13468
f36cc108 134692009-01-10 Robert Millan <rmh@aybabtu.com>
13470
13471 Update a few copyright years which we forgot to do in 2008 (only for
13472 files whose changes made in 2008 were copyright-significant)
13473
13474 * Makefile.in: Add 2008 to Copyright line.
13475 * disk/ieee1275/ofdisk.c: Likewise.
13476 * disk/efi/efidisk.c: Likewise.
13477 * kern/dl.c: Likewise.
13478 * kern/sparc64/ieee1275/init.c: Likewise.
13479 * kern/mm.c: Likewise.
13480 * kern/efi/mm.c: Likewise.
13481 * boot/i386/pc/boot.S: Likewise.
13482 * genfslist.sh: Likewise.
13483 * fs/iso9660.c: Likewise.
13484 * fs/hfs.c: Likewise.
13485 * fs/jfs.c: Likewise.
13486 * fs/minix.c: Likewise.
13487 * fs/ufs.c: Likewise.
13488 * gensymlist.sh.in: Likewise.
13489 * genkernsyms.sh.in: Likewise.
13490 * include/grub/misc.h: Likewise.
13491 * include/grub/types.h: Likewise.
13492 * include/grub/symbol.h: Likewise.
13493 * include/grub/elf.h: Likewise.
13494 * include/grub/kernel.h: Likewise.
13495 * include/grub/disk.h: Likewise.
13496 * include/grub/dl.h: Likewise.
13497 * include/grub/i386/linux.h: Likewise.
13498 * include/grub/i386/pc/biosdisk.h: Likewise.
13499 * include/grub/efi/api.h: Likewise.
13500 * include/grub/efi/pe32.h: Likewise.
13501 * include/grub/util/misc.h: Likewise.
13502 * normal/execute.c: Likewise.
13503 * normal/arg.c: Likewise.
13504 * normal/completion.c: Likewise.
13505 * normal/lexer.c: Likewise.
13506 * normal/parser.y: Likewise.
13507 * normal/misc.c: Likewise.
13508 * commands/i386/pc/vbeinfo.c: Likewise.
13509 * commands/hexdump.c: Likewise.
13510 * commands/terminal.c: Likewise.
13511 * commands/ls.c: Likewise.
13512 * commands/help.c: Likewise.
13513 * partmap/pc.c: Likewise.
13514 * loader/efi/chainloader.c: Likewise.
13515 * loader/multiboot_loader.c: Likewise.
13516 * loader/i386/pc/multiboot2.c: Likewise.
13517 * term/efi/console.c: Likewise.
13518 * term/i386/pc/serial.c: Likewise.
13519 * util/lvm.c: Likewise.
13520 * util/console.c: Likewise.
13521 * util/i386/efi/grub-mkimage.c: Likewise.
13522 * util/raid.c: Likewise.
13523
7f02114b 135242009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
13525
13526 * commands/videotest.c: Removed include to grub/machine/memory.h.
13527
13528 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
13529 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
13530 (video_mod_SOURCES): Removed.
13531 (video_mod_CFLAGS): Likewise.
13532 (video_mod_LDFLAGS): Likewise.
13533 (gfxterm_mod_SOURCES): Likewise.
13534 (gfxterm_mod_CFLAGS): Likewise.
13535 (gfxterm_mod_LDFLAGS): Likewise.
13536 (videotest_mod_SOURCES): Likewise.
13537 (videotest_mod_CFLAGS): Likewise.
13538 (videotest_mod_LDFLAGS): Likewise.
13539 (bitmap_mod_SOURCES): Likewise.
13540 (bitmap_mod_CFLAGS): Likewise.
13541 (bitmap_mod_LDFLAGS): Likewise.
13542 (tga_mod_SOURCES): Likewise.
13543 (tga_mod_CFLAGS): Likewise.
13544 (tga_mod_LDFLAGS): Likewise.
13545 (jpeg_mod_SOURCES): Likewise.
13546 (jpeg_mod_CFLAGS): Likewise.
13547 (jpeg_mod_LDFLAGS): Likewise.
13548 (png_mod_SOURCES): Likewise.
13549 (png_mod_CFLAGS): Likewise.
13550 (png_mod_LDFLAGS): Likewise.
13551
13552 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
13553 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
13554 (video_mod_SOURCES): Added.
13555 (video_mod_CFLAGS): Likewise.
13556 (video_mod_LDFLAGS): Likewise.
13557 (videotest_mod_SOURCES): Likewise.
13558 (videotest_mod_CFLAGS): Likewise.
13559 (videotest_mod_LDFLAGS): Likewise.
13560 (bitmap_mod_SOURCES): Likewise.
13561 (bitmap_mod_CFLAGS): Likewise.
13562 (bitmap_mod_LDFLAGS): Likewise.
13563 (tga_mod_SOURCES): Likewise.
13564 (tga_mod_CFLAGS): Likewise.
13565 (tga_mod_LDFLAGS): Likewise.
13566 (jpeg_mod_SOURCES): Likewise.
13567 (jpeg_mod_CFLAGS): Likewise.
13568 (jpeg_mod_LDFLAGS): Likewise.
13569 (png_mod_SOURCES): Likewise.
13570 (png_mod_CFLAGS): Likewise.
13571 (png_mod_LDFLAGS): Likewise.
13572 (gfxterm_mod_SOURCES): Likewise.
13573 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 13574 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 13575
13576 * term/gfxterm.c: Removed include to grub/machine/memory.h,
13577 grub/machine/console.h.
13578
644fff97 135792009-01-04 Jerone Young <jerone@gmail.com>
13580
13581 Make on screen instructions clearer
13582
13583 Based on patch created by Jidanni <jidanni@jidanni.org>
13584
13585 * normal/menu.c: print clearer instructions on the screen
13586
1e901a75 135872009-01-02 Colin D Bennett <colin@gibibit.com>
13588
13589 New font engine.
34c44600 13590
1e901a75 13591 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
13592 build system and fixed gfxterm.c to work with different sized fonts.
13593
13594 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 13595
1e901a75 13596 * configure: Re-generated.
34c44600 13597
1e901a75 13598 * DISTLIST: Removed font/manager.c.
13599 Added font/font.c.
13600 Added font/font_cmd.c.
34c44600 13601
1e901a75 13602 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
13603 compilation.
34c44600 13604
1e901a75 13605 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 13606
13607 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 13608
13609 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 13610
1e901a75 13611 * normal/menu.c: Likewise.
34c44600 13612
1e901a75 13613 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
13614 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 13615
1e901a75 13616 * include/grub/font.h: Replaced with new file.
34c44600 13617
1e901a75 13618 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
13619 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
13620 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
13621 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
13622 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 13623 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 13624 fg_red, fg_green, fg_blue, fg_alpha.
13625 (grub_video_adapter): Removed blit_glyph.
34c44600 13626 (grub_video_blit_glyph): Removed.
13627
1e901a75 13628 * font/manager.c: Removed file.
34c44600 13629
13630 * font/font.c: New file.
13631
1e901a75 13632 * font/font_cmd.c: Likewise.
34c44600 13633
1e901a75 13634 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 13635
1e901a75 13636 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
13637 (grub_video_vbe_map_rgba): Likewise.
13638 (grub_video_vbe_unmap_color_int): Likewise.
13639 (grub_video_vbe_blit_glyph): Removed.
13640 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 13641
1e901a75 13642 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
13643 (get_pixel): Likewise.
34c44600 13644 (set_pixel): Likewise.
13645
1e901a75 13646 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 13647
1e901a75 13648 * term/gfxterm.c: Adapted to new font engine.
34c44600 13649
1e901a75 13650 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 13651
1e901a75 13652 * term/i386/pc/vga.c: Likewise.
34c44600 13653
1e901a75 13654 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 13655
1e901a75 13656 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 13657
1e901a75 13658 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 13659
1e901a75 13660 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 13661
1e901a75 13662 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 13663
1e901a75 13664 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 13665
1e901a75 13666 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 13667
1e901a75 13668 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 13669
1e901a75 13670 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13671
13672 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 13673
1e901a75 13674 * util/grub-mkconfig_lib.in: Changed font extension.
13675
278922e8 136762008-12-28 Felix Zielcke <fzielcke@z-51.de>
13677
13678 * util/getroot.c (grub_util_get_grub_dev): Add support for
13679 /dev/md/dNNpNN style partitionable mdraid devices.
13680
3ced05cf 136812008-12-12 Alex Smith <alex@alex-smith.me.uk>
13682
13683 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
13684 at a time limit of the PXE TFTP API correctly.
13685 (grub_pxefs_close): Likewise.
13686
7fd0ee30 136872008-11-29 Robert Millan <rmh@aybabtu.com>
13688
34c44600 13689 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 13690 grub_ata_device_initialize() calls.
13691
34c44600 136922008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 13693
13694 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
13695 iteration failed.
13696 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
13697
89313780 136982008-11-28 Robert Millan <rmh@aybabtu.com>
13699
13700 Fix build on powerpc-ieee1275. Based on patch created by
13701 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
13702 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13703 `kern/ieee1275/mmap.c'.
13704 * include/grub/powerpc/ieee1275/memory.h: New file.
13705
15257703 13706 Provide grub-install on coreboot.
13707 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
13708 (grub_install_SOURCES): New variable.
13709 * util/i386/pc/grub-install.in: Add a few condition checks to make it
13710 usable on coreboot.
13711
9fc5388a 137122008-11-25 Felix Zielcke <fzielcke@z-51.de>
13713
13714 * util/grub-fstest.c (grub_term_get_current_input): Change return type
13715 to `grub_term_input_t'.
13716 (grub_term_get_current_output): Change return type to
13717 `grub_term_output_t'.
13718
bc3a2f31 137192008-11-22 Robert Millan <rmh@aybabtu.com>
13720
34c44600 13721 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 13722 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
13723 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
13724 grub_vga_text_cls().
13725
80fc88f2 13726 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 13727 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 13728
cbf36fd3 13729 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
13730 to 0x200000 (avoids trouble with some OFW implementations, and matches
13731 with the one in Yaboot).
13732 Reported by Manoel Abranches
13733
73e8e268 137342008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 13735
13736 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
13737 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
13738
73e8e268 13739 * util/grub-mkconfig_lib.in (grub_warn): New function.
13740 (convert_system_path_to_grub_path): Use grub_warn() when issuing
13741 warnings, to obtain consistent formatting.
13742 * util/grub.d/00_header.in: Likewise.
13743 * util/update-grub_lib.in: Likewise.
13744
e94045a1 13745 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 13746 Move comment text to `#error' stanza.
e94045a1 13747
79d29fd7 13748 Harmonize ieee1275's grub_available_iterate() with the generic
13749 grub_machine_mmap_iterate() interface (fixes a recently-introduced
13750 build problem on i386-ieee1275):
13751 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
13752 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
13753 parameter `type'. Update all users of this function.
13754 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
13755 `kern/ieee1275/mmap.c'.
13756 * kern/ieee1275/init.c
13757 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
13758 with ...
13759 (grub_machine_mmap_iterate): ... this.
13760 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
13761 return type to `grub_err_t'. Update all implementations of this
13762 function prototype.
13763 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
13764 Likewise.
13765
60d6b16e 13766 Add `lsmmap' command (lists firmware-provided memory map):
13767 * commands/lsmmap.c: New file.
13768 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
13769 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
13770 variables.
13771 * conf/powerpc-ieee1275.rmk: Likewise.
13772 * conf/i386-coreboot.rmk: Likewise.
13773 * conf/i386-ieee1275.rmk: Likewise.
13774
ebaaf49b 137752008-11-19 Robert Millan <rmh@aybabtu.com>
13776
13777 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 13778 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
13779 constraints to initrd allocation (based on code from
13780 loader/i386/pc/linux.c). Without them, initrd was allocated too high
13781 for Linux to find it.
ebaaf49b 13782
dfab719f 137832008-11-14 Robert Millan <rmh@aybabtu.com>
13784
13785 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
13786 order to cope with duplicate slashes.
13787
10fc3eb9 137882008-11-14 Robert Millan <rmh@aybabtu.com>
13789
13790 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
13791 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
13792 don't want to mess with lower memory, because it is used in the Linux
13793 loader.
13794
13795 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 13796 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 13797 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
13798 is in our heap (probably as a result of it being corrupted during
2f2a3442 13799 decompression). Add #error instance with comment to explain why this
13800 loader isn't currently usable on PC/BIOS.
10fc3eb9 13801
e2e07847 138022008-11-14 Robert Millan <rmh@aybabtu.com>
13803
13804 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 13805 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 13806
fe8e8d69 138072008-11-12 Robert Millan <rmh@aybabtu.com>
13808
13809 Make loader/i386/linux.c buildable on i386-pc (although disabled).
13810
13811 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
13812 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
13813 from here ...
13814 * include/grub/i386/pc/memory.h: ... to here.
13815
976b07d0 138162008-11-12 Robert Millan <rmh@aybabtu.com>
13817
13818 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
13819 split).
13820
13821 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
13822 (grub_console_cur_color, grub_console_real_putchar)
13823 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13824 (grub_console_setcolorstate, grub_console_setcolor)
13825 (grub_console_getcolor): Move from here ...
13826 * include/grub/i386/vga_common.h: ... to here (new file).
13827
13828 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
13829 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
13830 `<grub/i386/io.h>'.
13831 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
13832 `<grub/i386/vga_common.h>'.
13833
76679cd3 138342008-11-12 Robert Millan <rmh@aybabtu.com>
13835
13836 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
13837 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
13838 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
13839 variables.
13840 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13841 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
13842
13843 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
13844 grub_console_init() with call to grub_vga_text_init().
13845 (grub_machine_fini): Replace call to
13846 grub_console_fini() with call to grub_vga_text_fini() and
13847 grub_at_keyboard_fini().
13848
13849 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
13850 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
13851 (grub_console_setcolorstate, grub_console_setcolor)
13852 (grub_console_getcolor): New function prototypes.
13853
13854 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
13855 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
13856 (grub_vga_text_setcursor): Static-ize.
13857 (grub_vga_text_term): New structure.
13858 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
13859
13860 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
13861 (grub_console_cur_color, grub_console_standard_color)
13862 (grub_console_normal_color, grub_console_highlight_color)
13863 (map_char, grub_console_putchar, grub_console_getcharwidth)
13864 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
13865 (grub_console_getcolor): Move from here ...
13866 * term/i386/vga_common.c: ... to here (same function names).
13867
95b841d3 138682008-11-12 Robert Millan <rmh@aybabtu.com>
13869
13870 Use newly-added Multiboot support in coreboot.
13871
13872 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
13873 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
13874
13875 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
13876 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
13877 (codestart): Store the MBI in `startup_multiboot_info' when we're
13878 being loaded using Multiboot.
13879
13880 * kern/i386/coreboot/init.c (grub_machine_init): Move
13881 grub_at_keyboard_init() call to beginning of function (useful for
13882 debugging). Call grub_machine_mmap_init() before attempting to use
13883 grub_machine_mmap_iterate().
13884 (grub_lower_mem, grub_upper_mem): Move from here ...
13885 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
13886 here (new file).
13887
13888 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
13889 function prototype.
13890
761ca975 138912008-11-12 Robert Millan <rmh@aybabtu.com>
13892
13893 Fix a regression introduced by the at_keyboard.mod split. Because
13894 some terminals are default on some platforms and non-default on
13895 others, the first terminal being registered determines which is
13896 going to be default.
13897
13898 * kern/term.c (grub_term_register_input): If this is the first
13899 terminal being registered, set it as the current one.
13900 (grub_term_register_output): Likewise.
13901
13902 * term/efi/console.c (grub_console_init): Do not call
13903 grub_term_set_current_output() or grub_term_set_current_input().
13904 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
13905 * term/i386/pc/console.c (grub_console_init): Likewise.
13906 (grub_console_fini): Do not call grub_term_set_current_input()
13907 (but leave grub_term_set_current_output() to restore text mode).
13908
6c529df7 139092008-11-10 Robert Millan <rmh@aybabtu.com>
13910
13911 * util/grub.d/00_header.in: Add backward compatibility check for
13912 versions of terminal.mod that don't understand `terminal_input' or
13913 `terminal_output'.
13914
132e4113 139152008-11-09 Robert Millan <rmh@aybabtu.com>
13916
13917 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
13918 `terminal_input' / `terminal_output', not `terminal'.
13919
ac293d50 139202008-11-08 Robert Millan <rmh@aybabtu.com>
13921
13922 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 13923 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 13924
0025933a 139252008-11-08 Robert Millan <rmh@aybabtu.com>
13926
13927 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 13928 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 13929 members. Update all users.
13930 * util/console.c (grub_ncurses_term): Split in ...
13931 (grub_ncurses_term_input): ... this, and ...
13932 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 13933 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 13934
37c86336 139352008-11-08 Robert Millan <rmh@aybabtu.com>
13936
13937 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
13938 (PKGDATA): Add $(pkgdata_SRCDIR).
13939 (pkglib_BUILDDIR): New variable.
13940 (pkgdata_SRCDIR): New variable.
13941 (build_env.mk): New target.
13942 (include_DATA): New variable.
13943 (install-local): Install $(include_DATA) files in $(includedir).
13944
b6c15a2d 139452008-11-07 Pavel Roskin <proski@gnu.org>
13946
d99d46f1 13947 * gendistlist.sh: Use C locale for sorting to ensure consistent
13948 output on all systems.
13949
b6c15a2d 13950 * util/grub.d/00_header.in: Remove incorrect space before
13951 "serial".
13952
c32ee8c9 139532008-11-07 Robert Millan <rmh@aybabtu.com>
13954
13955 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
13956 per specification.
13957 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
13958 * loader/multiboot_loader.c (find_multi_boot2_header): New function
13959 (based on find_multi_boot1_header).
13960 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
13961 using find_multi_boot2_header(), and abort if neither Multiboot or
13962 Multiboot headers were found.
13963
651c29b7 139642008-11-07 Robert Millan <rmh@aybabtu.com>
13965
13966 Modularize at_keyboard.mod:
13967
13968 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
13969 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13970 (at_keyboard_mod_LDFLAGS): New variables.
13971
13972 Actual terminal split:
13973
13974 * include/grub/term.h (struct grub_term): Split in ...
13975 (struct grub_term_input): ... this, and ...
13976 (struct grub_term_output): ... this. Update all users.
13977 (grub_term_set_current): Split in ...
13978 (grub_term_set_current_input): ... this, and ...
13979 (grub_term_set_current_output): ... this.
13980 (grub_term_get_current): Split in ...
13981 (grub_term_get_current_input): ... this, and ...
13982 (grub_term_get_current_output): ... this.
13983 (grub_term_register): Split in ...
13984 (grub_term_register_input): ... this, and ...
13985 (grub_term_register_output): ... this.
13986 (grub_term_unregister): Split in ...
13987 (grub_term_unregister_input): ... this, and ...
13988 (grub_term_unregister_output): ... this.
13989 (grub_term_iterate): Split in ...
13990 (grub_term_iterate_input): ... this, and ...
13991 (grub_term_iterate_output): ... this.
13992
13993 * kern/term.c (grub_term_list): Split in ...
13994 (grub_term_list_input): ... this, and ...
13995 (grub_term_list_output): ... this. Update all users.
13996 (grub_cur_term): Split in ...
13997 (grub_cur_term_input): ... this, and ...
13998 (grub_cur_term_output): ... this. Update all users.
13999 (grub_term_set_current): Split in ...
14000 (grub_term_set_current_input): ... this, and ...
14001 (grub_term_set_current_output): ... this.
14002 (grub_term_get_current): Split in ...
14003 (grub_term_get_current_input): ... this, and ...
14004 (grub_term_get_current_output): ... this.
14005 (grub_term_register): Split in ...
14006 (grub_term_register_input): ... this, and ...
14007 (grub_term_register_output): ... this.
14008 (grub_term_unregister): Split in ...
14009 (grub_term_unregister_input): ... this, and ...
14010 (grub_term_unregister_output): ... this.
14011 (grub_term_iterate): Split in ...
14012 (grub_term_iterate_input): ... this, and ...
14013 (grub_term_iterate_output): ... this.
14014
14015 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14016 a check for input and one for output (and only attempt to get keys
14017 from user when input works).
14018
14019 * util/grub-probe.c (grub_term_get_current): Split in ...
14020 (grub_term_get_current_input): ... this, and ...
14021 (grub_term_get_current_output): ... this.
14022 * util/grub-fstest.c: Likewise.
14023 * util/i386/pc/grub-setup.c: Likewise.
14024 * util/grub-editenv.c: Likewise.
14025
14026 Portability adjustments:
14027
14028 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14029 `term/i386/pc/at_keyboard.c'.
14030 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14031 grub_keyboard_controller_init() (now handled by terminal .init).
14032 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14033 grub_at_keyboard_init().
14034 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14035 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14036 at_keyboard.mod via input terminal interface).
14037 * include/grub/i386/coreboot/console.h: Convert into a stub for
14038 `<grub/i386/pc/console.h>'.
14039
14040 Migrate full terminals to new API:
14041
14042 * term/efi/console.c (grub_console_term): Split into ...
14043 (grub_console_term_input): ... this, and ...
14044 (grub_console_term_output): ... this. Update all users.
14045 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14046 (grub_ofconsole_init): Split into ...
14047 (grub_ofconsole_init_input): ... this, and ...
14048 (grub_ofconsole_init_output): ... this.
14049 (grub_ofconsole_term): Split into ...
14050 (grub_ofconsole_term_input): ... this, and ...
14051 (grub_ofconsole_term_output): ... this. Update all users.
14052 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14053 (grub_serial_term_input): ... this, and ...
14054 (grub_serial_term_output): ... this. Update all users.
14055 * term/i386/pc/console.c (grub_console_term): Split into ...
14056 (grub_console_term_input): ... this, and ...
14057 (grub_console_term_output): ... this. Update all users.
14058 (grub_console_term_input): Only enable it on PC/BIOS platform.
14059 (grub_console_init): Remove grub_keyboard_controller_init() call.
14060
14061 Migrate input terminals to new API:
14062
14063 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14064 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14065 i386-specific anyway).
14066 (grub_console_checkkey): Rename to ...
14067 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14068 users.
14069 (grub_keyboard_controller_orig): New variable.
14070 (grub_console_getkey): Rename to ...
14071 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14072 users.
14073 (grub_keyboard_controller_init): Static-ize. Save original
14074 controller value so that it can be restored ...
14075 (grub_keyboard_controller_fini): ... here (new function).
14076 (grub_at_keyboard_term): New structure.
14077 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14078 functions.
14079
14080 Migrate output terminals to new API:
14081
14082 * term/i386/pc/vga.c (grub_vga_term): Change type to
14083 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14084 members. Update all users.
14085 * term/gfxterm.c (grub_video_term): Change type to
14086 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14087 members. Update all users.
14088 * include/grub/i386/pc/console.h (grub_console_checkkey)
14089 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14090 etc).
14091
14092 Migrate `terminal' command and userland tools to new API:
14093
14094 * commands/terminal.c (grub_cmd_terminal): Split into ...
14095 (grub_cmd_terminal_input): ... this, and ...
14096 (grub_cmd_terminal_output): ... this.
14097 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14098 `terminal_input' and `terminal_output'.
14099 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14100 `terminal_input' / `terminal_output' API.
14101 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14102 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14103 provided ${GRUB_TERMINAL}, convert it).
14104
96e5d876 141052008-11-04 Robert Millan <rmh@aybabtu.com>
14106
14107 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14108 for FreeBSD.
14109 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14110
556f3775 141112008-11-03 Bean <bean123ch@gmail.com>
14112
14113 * kern/elf.c (grub_elf32_load): Revert to previous code.
14114 (grub_elf64_load): Likewise.
14115
14116 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14117
926b9823 141182008-11-01 Robert Millan <rmh@aybabtu.com>
14119
14120 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14121 (TARGET_CPPFLAGS): Likewise.
14122 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14123
1432e958 141242008-11-01 Carles Pina i Estany <carles@pina.cat>
14125
14126 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14127
dba3f844 141282008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 14129
14130 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14131 addition of objects until the code is not going to be able to fail.
14132
dba3f844 141332008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 14134
14135 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14136 (add a missing NULL check, and correct them by moving the pointer
14137 operations after the actual check).
14138
7ab28c21 141392008-10-29 Robert Millan <rmh@aybabtu.com>
14140
14141 * util/i386/pc/grub-install.in: Handle empty string as output from
14142 make_system_path_relative_to_its_root().
14143
1b7748eb 141442008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14145
14146 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14147 circular metadata worst case scenario. If the metadata is circular
14148 then copy the wrap in place.
14149 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14150 project lib/format_text/layout.h
14151 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14152
c9618ab2 141532008-10-03 Felix Zielcke <fzielcke@z-51.de>
14154
7a36edca 14155 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 14156
bf981c62 141572008-10-03 Felix Zielcke <fzielcke@z-51.de>
14158
14159 * util/update-grub_lib.in: Mention filename in warning message.
14160
6d994591 141612008-09-29 Felix Zielcke <fzielcke@z-51.de>
14162
14163 * NEWS: Update for rename of update-grub to grub-mkconfig.
14164
18ade780 141652008-09-29 Felix Zielcke <fzielcke@z-51.de>
14166
14167 * util/update-grub_lib.in: Copy to ...
14168 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 14169 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 14170 * util/update-grub.in: Rename to ...
14171 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14172 option. Add `--output' option to allow users to specify the generated
14173 configuration file. Default to stdout.
14174 (update_grub_dir): Rename to ...
14175 (grub_mkconfig_dir): ... this.
14176 (grub_cfg): Default to an empty string.
14177 * conf/common.rmk (update-grub): Rename to ...
14178 (grub-mkconfig): ... this.
14179 (update-grub_lib): Copy to ...
14180 (grub-mkconfig_lib): ... this.
14181 (update-grub_SCRIPTS): Copy to ...
14182 (grub-mkconfig_SCRIPTS): ... this. Update all users.
14183 (update-grub_DATA): Rename to ...
14184 (grub-mkconfig_DATA): ... this.
14185
556ce6ac 141862008-09-28 Robert Millan <rmh@aybabtu.com>
14187
14188 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
14189 to `modified'. Add the real `created' field.
14190 (grub_iso9660_uuid): Use `modified' rather than `created' for
14191 constructing the UUID.
14192
141932008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 14194
14195 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
14196 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
14197
92274e85 141982008-09-28 Bean <bean123ch@gmail.com>
14199
14200 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
14201 Thanks to Christian Franke for finding this bug.
14202
add6f17a 142032008-09-25 Robert Millan <rmh@aybabtu.com>
14204
14205 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
14206 instances of grub_util_get_disk_name() (see previous commit).
14207
d2a367b8 142082008-09-25 Robert Millan <rmh@aybabtu.com>
14209
14210 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
14211 `util/i386/get_disk_name.c'.
14212 * conf/i386-efi.rmk: Likewise.
14213 * conf/x86_64-efi.rmk: Likewise.
14214 * conf/i386-coreboot.rmk: Likewise.
14215 * conf/i386-ieee1275.rmk: Likewise.
14216 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
14217 `util/ieee1275/get_disk_name.c'.
14218 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
14219 * util/ieee1275/get_disk_name.c: Remove file.
14220 * util/i386/get_disk_name.c: Remove file.
14221 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
14222 "hd%d" for device.map entries, rather than using
14223 grub_util_get_disk_name().
14224
81a06771 142252008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 14226
14227 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
14228 warning.
14229 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
14230
5a004279 142312008-09-24 Carles Pina i Estany <carles@pina.cat>
14232
14233 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
14234 Changed to 0x5100.
14235 (GRUB_TERM_PPAGE): Changed to 0x4900.
14236
397093d3 142372008-09-24 Robert Millan <rmh@aybabtu.com>
14238
14239 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
14240 macros (they were i386-pc specific).
14241 * include/grub/sparc64/ieee1275/console.h: Likewise.
14242 * include/grub/efi/console.h: Likewise.
14243
a91b6c7c 142442008-09-22 Bean <bean123ch@gmail.com>
14245
14246 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
14247 resident and in attribute list.
14248
14249 * include/grub/ntfs.h (BMP_LEN): Removed.
14250
c40fd116 142512008-09-22 Bean <bean123ch@gmail.com>
14252
81a06771 14253 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 14254 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
14255
14256 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
14257 error occurs, as grub_disk_open will call grub_disk_close, which will
14258 call p->close (scsi).
14259
81a06771 142602008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 14261
14262 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
14263 (AC_PREREQ): Bumped to 2.59.
14264 (AC_TRY_COMPILE): Replace obsolete macro with ...
14265 (AC_COMPILE_IFELSE): ... this.
14266 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
14267 (AC_LINK_IFELSE): ... this.
14268
5dc43410 142692008-09-21 Felix Zielcke <fzielcke@z-51.de>
14270
14271 * autogen.sh: Add a call to `gendistlist.sh'.
14272
9035dce4 142732008-09-19 Christian Franke <franke@computer.org>
14274
14275 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
14276 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
14277 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
14278 Export __enable_execute_stack() to modules.
14279 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
14280 New function.
14281
7fd75377 142822008-09-09 Felix Zielcke <fzielcke@z-51.de>
14283
040030b3 14284 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
14285 Sort the list.
14286
142872008-09-09 Felix Zielcke <fzielcke@z-51.de>
14288
14289 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 14290 #include <grub/util/hostdisk.h>.
14291
89d5ffcf 142922008-09-08 Robert Millan <rmh@aybabtu.com>
14293
14294 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
14295 segments when their filesz is zero (grub_file_read() interprets
81a06771 14296 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 14297 Use `lowest_segment' rather than 0 for calculating the current
14298 segment load address.
14299
40da438f 143002008-09-08 Robert Millan <rmh@aybabtu.com>
14301
14302 * util/hostdisk.c (open_device): Replace a grub_util_info() call
14303 with grub_dprintf("hostdisk", ...), as it was so verbose that it
14304 clobbered useful information.
14305
ddbf5556 143062008-09-08 Robert Millan <rmh@aybabtu.com>
14307
14308 * include/grub/util/biosdisk.h: Move to ...
14309 * include/grub/util/hostdisk.h: ... here. Update all users.
14310 * util/biosdisk.c: Move to ...
14311 * util/hostdisk.c: ... here. Update all users.
14312
783d0f48 143132008-09-07 Robert Millan <rmh@aybabtu.com>
14314
14315 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
14316 variables.
14317 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
14318 and length can be stored directly in the `mbi->mmap_addr' and
14319 `mbi->mmap_length' struct fields.
14320
548e2ea5 143212008-09-07 Robert Millan <rmh@aybabtu.com>
14322
14323 * conf/i386.rmk: New file. Provides declaration for building
14324 `cpuid.mod'.
14325 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
14326 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
14327 variables.
14328 Include `conf/i386.mk'.
14329 * conf/i386-efi.rmk: Likewise.
14330 * conf/x86_64-efi.rmk: Likewise.
14331 * conf/i386-coreboot.rmk: Likewise.
14332 * conf/i386-ieee1275.rmk: Likewise.
14333
0ea85a37 143342008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
14335
14336 Based on patch created by Colin D Bennett <colin@gibibit.com>.
14337 Adds optimization support for BGR based modes.
14338
14339 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
14340 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14341 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14342 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14343 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14344 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14345 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14346 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14347 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14348 (grub_video_i386_vbeblit_index_index): Likewise.
14349 (grub_video_i386_vbeblit_replace_directN): Added.
14350 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14351 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14352 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14353 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14354 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14355 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 14356 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 14357 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14358 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14359 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14360 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14361 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14362 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14363
14364 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
14365 (grub_video_i386_vbefill_R8G8B8): Likewise.
14366 (grub_video_i386_vbefill_index): Likewise.
14367 (grub_video_i386_vbefill_direct32): Added.
14368 (grub_video_i386_vbefill_direct24): Likewise.
14369 (grub_video_i386_vbefill_direct16): Likewise.
14370 (grub_video_i386_vbefill_direct8): Likewise.
14371
81a06771 14372 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 14373 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
14374 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
14375 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
14376 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
14377 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 14378
0ea85a37 14379 * video/video.c (grub_video_get_blit_format): Updated to use new
14380 blit formats. Added handling for 16 bit color modes.
81a06771 14381
14382 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 14383 fillers.
14384 (common_blitter): Updated to use new blitters.
14385
14386 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
14387 Removed.
14388 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14389 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14390 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14391 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14392 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14393 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14394 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14395 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14396 (grub_video_i386_vbeblit_index_index): Likewise.
14397 (grub_video_i386_vbeblit_replace_directN): Added.
14398 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14399 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14400 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14401 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14402 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14403 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14404 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14405 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14406 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14407 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14408 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14409 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14410 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 14411
0ea85a37 14412 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
14413 (grub_video_i386_vbefill_R8G8B8): Likewise.
14414 (grub_video_i386_vbefill_index): Likewise.
14415 (grub_video_i386_vbefill_direct32): Added.
14416 (grub_video_i386_vbefill_direct24): Likewise.
14417 (grub_video_i386_vbefill_direct16): Likewise.
14418 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 14419
0ea85a37 14420 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
14421 types.
81a06771 14422
0ea85a37 14423 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
14424 types.
81a06771 14425
0ea85a37 14426 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
14427 blitter types.
81a06771 14428
0ea85a37 14429 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
14430 types.
14431
e8a83df6 144322008-09-06 Felix Zielcke <fzielcke@z-51.de>
14433
14434 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
14435 RAID level 1.
14436
6bcd8ee5 144372008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 14438
6bcd8ee5 14439 * fs/iso9660.c (grub_iso9660_date): New structure.
14440 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
14441 (grub_iso9660_uuid): New function.
c375ae58 14442
59261157 144432008-09-05 Bean <bean123ch@gmail.com>
14444
14445 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
14446
14447 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
14448 insensitive bit for names in Win32 and Win32 & DOS namespace.
14449
14450 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
14451
14452 * include/grub/types.h (LONG_MAX): Likewise.
14453
58b6645a 144542008-09-04 Felix Zielcke <fzielcke@z-51.de>
14455
4ee55921 14456 * util/getroot.c: Include <config.h>.
14457 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
14458 add support for /dev/md/N devices and handle LVM double dash escaping.
14459
144602008-09-04 Felix Zielcke <fzielcke@z-51.de>
14461
14462 * config.guess: Update to latest version from config git.
14463 * config.sub: Likewise.
58b6645a 14464
9124f65d 144652008-09-03 Robert Millan <rmh@aybabtu.com>
14466
14467 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
14468 `disk->total_sectors'.
14469
81a06771 144702008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 14471
14472 * include/grub/normal.h: Fixed incorrect comment for
14473 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
14474
81a06771 144752008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 14476
14477 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
14478 values with defines.
14479
14480 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
14481 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
14482 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
14483 (GRUB_VBE_MODEATTR_COLOR): Likewise.
14484 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
14485 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
14486 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
14487 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
14488 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
14489 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
14490 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
14491 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
14492 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
14493 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
14494 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
14495 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
14496 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
14497 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
14498 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
14499
93d5cbf8 145002008-08-31 Robert Millan <rmh@aybabtu.com>
14501
14502 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
14503 declaration.
14504 (grub_multiboot): Fix a few warnings.
14505
21751d50 145062008-08-31 Robert Millan <rmh@aybabtu.com>
14507
14508 * loader/i386/pc/multiboot.c: Update comment not to say that
14509 boot_device support is unimplemented.
14510
e27a75c5 145112008-08-31 Robert Millan <rmh@aybabtu.com>
14512
14513 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
14514 or memory map support are unimplemented.
14515
81a06771 145162008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 14517
14518 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
14519
81a06771 145202008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 14521
14522 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
14523 total video memory in 'vbeinfo' output; show color format details for
14524 each video mode.
14525
7c5d8d95 145262008-08-30 Pavel Roskin <proski@gnu.org>
14527
14528 * util/genmoddep.c: Remove for real this time.
14529 * DISTLIST: Remove util/genmoddep.c.
14530
4cebd25a 145312008-08-30 Robert Millan <rmh@aybabtu.com>
14532
14533 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
14534 as required by Multiboot spec (it was already 4-byte aligned, but
14535 only by chance).
14536
b497a269 145372008-08-29 Pavel Roskin <proski@gnu.org>
14538
e3925185 14539 * kern/powerpc/ieee1275/crt0.S: Rename to ...
14540 * kern/powerpc/ieee1275/startup.S: ... this.
14541 * conf/powerpc-ieee1275.rmk: Adjust for the above.
14542 * DISTLIST: Likewise.
14543
b497a269 14544 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
14545 grub/cpu/kernel.h. Add start label for consistency with other
14546 platforms. Add grub_prefix immediately after start. Add jump
14547 to the code after grub_prefix.
14548 * include/grub/powerpc/kernel.h: Provide valid values for
14549 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
14550
6e5a42fe 145512008-08-29 Bean <bean123ch@gmail.com>
14552
14553 * configure.ac: Change host_os to cygwin for mingw.
14554 (asprintf): New check for function.
14555
14556 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
14557 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
14558
14559 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 14560 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 14561 sync, sleep and grub_util_get_disk_size for mingw.
14562
14563 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
14564 to get size in mingw.
14565 (open_device): Use flag O_BINARY if it's defined.
14566 (find_root_device): Add dummy code for mingw.
14567
14568 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
14569 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
14570 (get_scsi_disk_name): Return 0 for mingw.
14571
14572 * util/hostfs.c: #include <grub/util/misc.h>.
14573 (grub_hostfs_open): Use "rb" flag to open file, use
14574 grub_util_get_disk_size to get disk size for mingw.
14575
14576 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
14577 (asprintf): New function if HAVE_ASPRINTF is not set.
14578 (sync): New function for mingw.
14579 (sleep): Likewise.
14580 (grub_util_get_disk_size): Likewise.
14581
ab3f2673 145822008-08-28 Pavel Roskin <proski@gnu.org>
14583
14584 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14585 kern/time.c.
14586
1c282483 145872008-08-28 Robert Millan <rmh@aybabtu.com>
14588
14589 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
14590
678e849c 145912008-08-28 Robert Millan <rmh@aybabtu.com>
14592
14593 Change find_grub_drive() syntax so it doesn't prevent it from
14594 detecting NULL names as errors.
14595
14596 * util/biosdisk.c (find_grub_drive): Move free slot search code
14597 from here ...
14598 (find_free_slot): ... to here.
14599 (read_device_map): Use find_free_slot() to search for free slots.
14600
965c75ca 146012008-08-27 Marco Gerards <marco@gnu.org>
14602
14603 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
14604 (scsi_mod_SOURCES): New variable.
14605 (scsi_mod_CFLAGS): Likewise
14606 (scsi_mod_LDFLAGS): Likewise.
14607
14608 * disk/scsi.c: New file.
14609
14610 * include/grub/scsi.h: Likewise.
14611
14612 * include/grub/scsicmd.h: Likewise.
14613
14614 * disk/ata.c: Include <grub/scsi.h>.
14615 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
14616 instead.
14617 (grub_ata_iterate): Skip ATAPI devices.
14618 (grub_ata_open): Only handle ATAPI devices.
14619 (struct grub_atapi_read): Removed.
14620 (grub_atapi_readsector): Likewise.
14621 (grub_ata_read): No longer handle ATAPI devices.
14622 (grub_ata_write): Likewise.
14623 (grub_atapi_iterate): New function.
14624 (grub_atapi_read): Likewise.
14625 (grub_atapi_write): Likewise.
14626 (grub_atapi_open): Likewise.
14627 (grub_atapi_close): Likewise.
14628 (grub_atapi_dev): New variable.
14629 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
14630 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
14631
14632 * include/grub/disk.h (enum grub_disk_dev_id): Add
14633 `GRUB_DISK_DEVICE_SCSI_ID'.
14634
c07ae501 146352008-08-26 Robert Millan <rmh@aybabtu.com>
14636
14637 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
14638 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
14639 descriptive.
14640
5ed20adc 146412008-08-23 Bean <bean123ch@gmail.com>
14642
14643 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
14644 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14645 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
14646 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
14647 dm_nv.mod.
14648 (raid5rec_mod_SOURCES): New macro.
14649 (raid5rec_mod_CFLAGS): Likewise.
14650 (raid5rec_mod_LDFLAGS): Likewise.
14651 (raid6rec_mod_SOURCES): Likewise.
14652 (raid6rec_mod_CFLAGS): Likewise.
14653 (raid6rec_mod_LDFLAGS): Likewise.
14654 (mdraid_mod_SOURCES): Likewise.
14655 (mdraid_mod_CFLAGS): Likewise.
14656 (mdraid_mod_LDFLAGS): Likewise.
14657 (dm_nv_mod_SOURCES): Likewise.
14658 (dm_nv_mod_CFLAGS): Likewise.
14659 (dm_nv_mod_LDFLAGS): Likewise.
14660
14661 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
14662 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
14663 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14664
14665 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
14666 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
14667
14668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14669
14670 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14671
14672 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14673
14674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14675
14676 * disk/raid5_recover.c: New file.
14677
14678 * disk/raid6_recover.c: Likewise.
14679
14680 * disk/mdraid_linux.c: Likewise.
14681
14682 * disk/dmraid_nvidia.c: Likewise.
14683
14684 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
14685 ULONG_MAX.
14686
14687 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
14688 calculate the size of raid device.
14689 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
14690 different layout of raid5.
14691 (grub_raid_scan_device): Remove code specific to mdraid.
14692 (grub_raid_list): New variable.
14693 (free_array): New function.
14694 (grub_raid_register): Likewise.
14695 (grub_raid_unregister): Likewise.
14696 (grub_raid_rescan): Likewise.
14697 (GRUB_MOD_INIT): Don't iterate device here.
14698 (GRUB_MOD_FINI): Use free_array to release resource.
14699
14700 * include/grub/raid.h: Remove macro and structure specific to mdraid.
14701 (grub_raid5_recover_func_t): New function variable type.
14702 (grub_raid6_recover_func_t): Likewise.
14703 (grub_raid5_recover_func): New variable.
14704 (grub_raid6_recover_func): Likewise.
14705 (grub_raid_register): New function.
14706 (grub_raid_unregister): Likewise.
14707 (grub_raid_rescan): Likewise.
14708 (grub_raid_block_xor): Likewise.
14709
14710 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
14711 (CMD_CRC): New macro.
14712 (part): Removed.
14713 (read_file): Handle device as well as file.
14714 (cmd_crc): New function.
14715 (fstest): Handle multiple disks.
14716 (options): Remove part, raw and long, add root and diskcount.
14717 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 14718 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 14719 add handling for the new options, support multiple disks.
14720
14721 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
14722
29c18915 147232008-08-23 Bean <bean123ch@gmail.com>
14724
14725 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
14726
14727 * genfslist.sh: Ignore kernel.mod.
14728
14729 * genpartmaplist.sh: Likewise.
14730
8415f261 147312008-08-23 Robert Millan <rmh@aybabtu.com>
14732
14733 * util/getroot.c (find_root_device): Skip anything that starts with
14734 a dot, not just directories. This avoids things like /dev/.tmp.md0.
14735
d5a7dc5b 147362008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 14737
d5a7dc5b 14738 * util/update-grub.in (GRUB_GFXMODE): Export variable.
14739 * util/grub.d/00_header.in: Allow the administrator to change default
14740 gfxmode via ${GRUB_GFXMODE}.
14741
380cfbb4 147422008-08-21 Felix Zielcke <fzielcke@z-51.de>
14743
14744 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
14745
c9baafe7 147462008-08-21 Robert Millan <rmh@aybabtu.com>
14747
14748 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
14749 loader.
14750 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
14751 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
14752
e290bef2 147532008-08-20 Carles Pina i Estany <carles@pina.cat>
14754
14755 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
14756 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
14757
f9dbfc96 147582008-08-19 Robert Millan <rmh@aybabtu.com>
14759
14760 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
14761 (struct grub_virtual_screen): Remove `cursor_color'.
14762 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
14763 initialization.
14764 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
14765
dd6bd6ab 147662008-08-18 Robert Millan <rmh@aybabtu.com>
14767
14768 Unify (identical) linux_normal.c files.
14769 * loader/i386/efi/linux_normal.c: Move from here ...
14770 * loader/linux_normal.c: ... to here. Update all users.
14771 * loader/i386/pc/linux_normal.c: Delete. Update all users.
14772 * loader/i386/ieee1275/linux_normal.c: Likewise.
14773
7f42f83e 147742008-08-18 Robert Millan <rmh@aybabtu.com>
14775
14776 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
14777 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
14778 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
14779 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
14780 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
14781 New macros.
14782 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
14783 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
14784 (GRUB_LINUX_CL_END_OFFSET): ... to here.
14785 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
14786 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
14787 (GRUB_EFI_CL_END_OFFSET): Rename to ...
14788 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
14789 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
14790 Initialize `params->video_cursor_x' and `params->video_cursor_y'
14791 portably using grub_getxy().
14792 Replace `-EFI' with `-bzImage' in boot message.
14793
38487ddb 147942008-08-17 Robert Millan <rmh@aybabtu.com>
14795
14796 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
14797
deceb3ec 147982008-08-17 Robert Millan <rmh@aybabtu.com>
14799
14800 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
14801
14802 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
14803 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
14804 (grub_machine_mmap_iterate): New function declaration.
14805 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
14806 structure.
14807 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
14808 macros.
14809
14810 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
14811 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
14812 Move e820 parsing from here ...
14813 * kern/i386/pc/mmap.c: New file.
14814 (grub_machine_mmap_iterate): ... to here.
14815
14816 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
14817 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
14818 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
14819 (grub_available_iterate): Redeclare to return `void', and redeclare
14820 its hook to use grub_uint64_t as addr and size parameters, and rename
14821 to ...
14822 (grub_machine_mmap_iterate): ... this. Update all users.
14823
14824 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
14825 to make it more readable. Rename to ...
14826 (grub_machine_mmap_iterate): ... this.
14827
14828 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
14829 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
14830 (grub_multiboot): Allocate an extra region after the payload, and fill
14831 it with a Multiboot memory map. Adjust a.out loader to calculate size
14832 with the extra space.
14833 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
14834 with the extra space.
14835
f8aa0f43 148362008-08-17 Carles Pina i Estany <carles@pina.cat>
14837
9807deb9 14838 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 14839
605f5bb6 148402008-08-17 Felix Zielcke <fzielcke@z-51.de>
14841
14842 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
14843 mdate-sh to the list `find' searches for.
14844 * DISTLIST: Regenerated.
14845
210db6c6 148462008-08-16 Felix Zielcke <fzielcke@z-51.de>
14847
14848 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
14849 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 14850 genmoddep.awk, gensymlist.sh.in.
14851 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 14852 * DISTLIST: Regenerated.
48cdbfd4 14853 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 14854
1082b929 148552008-08-16 Robert Millan <rmh@aybabtu.com>
14856
14857 * disk/raid.c (grub_raid_init): Handle/report errors set by
14858 grub_device_iterate().
14859 * disk/lvm.c (grub_lvm_init): Likewise.
14860
42ce5170 148612008-08-15 Bean <bean123ch@gmail.com>
14862
14863 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14864 and datehook.mod.
14865 (datetime_mod_SOURCES): New macro.
14866 (datetime_mod_CFLAGS): Likewise.
14867 (datetime_mod_LDFLAGS): Likewise.
14868 (date_mod_SOURCES): Likewise.
14869 (date_mod_CFLAGS): Likewise.
14870 (date_mod_LDFLAGS): Likewise.
14871 (datehook_mod_SOURCES): Likewise.
14872 (datehook_mod_CFLAGS): Likewise.
14873 (datehook_mod_LDFLAGS): Likewise.
14874
14875 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14876 and datehook.mod.
14877 (datetime_mod_SOURCES): New macro.
14878 (datetime_mod_CFLAGS): Likewise.
14879 (datetime_mod_LDFLAGS): Likewise.
14880 (date_mod_SOURCES): Likewise.
14881 (date_mod_CFLAGS): Likewise.
14882 (date_mod_LDFLAGS): Likewise.
14883 (datehook_mod_SOURCES): Likewise.
14884 (datehook_mod_CFLAGS): Likewise.
14885 (datehook_mod_LDFLAGS): Likewise.
14886
14887 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14888 and datehook.mod.
14889 (datetime_mod_SOURCES): New macro.
14890 (datetime_mod_CFLAGS): Likewise.
14891 (datetime_mod_LDFLAGS): Likewise.
14892 (date_mod_SOURCES): Likewise.
14893 (date_mod_CFLAGS): Likewise.
14894 (date_mod_LDFLAGS): Likewise.
14895 (datehook_mod_SOURCES): Likewise.
14896 (datehook_mod_CFLAGS): Likewise.
14897 (datehook_mod_LDFLAGS): Likewise.
14898
14899 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14900 and datehook.mod.
14901 (datetime_mod_SOURCES): New macro.
14902 (datetime_mod_CFLAGS): Likewise.
14903 (datetime_mod_LDFLAGS): Likewise.
14904 (date_mod_SOURCES): Likewise.
14905 (date_mod_CFLAGS): Likewise.
14906 (date_mod_LDFLAGS): Likewise.
14907 (datehook_mod_SOURCES): Likewise.
14908 (datehook_mod_CFLAGS): Likewise.
14909 (datehook_mod_LDFLAGS): Likewise.
14910
14911 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
14912 and datehook.mod.
14913 (datetime_mod_SOURCES): New macro.
14914 (datetime_mod_CFLAGS): Likewise.
14915 (datetime_mod_LDFLAGS): Likewise.
14916 (date_mod_SOURCES): Likewise.
14917 (date_mod_CFLAGS): Likewise.
14918 (date_mod_LDFLAGS): Likewise.
14919 (datehook_mod_SOURCES): Likewise.
14920 (datehook_mod_CFLAGS): Likewise.
14921 (datehook_mod_LDFLAGS): Likewise.
14922
14923 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
14924
14925 * commands/date.c: New file.
14926
14927 * hook/datehook.c: Likewise.
14928
14929 * include/grub/lib/datetime.h: Likewise.
14930
14931 * include/grub/i386/cmos.h: Likewise.
14932
14933 * lib/datetime.c: Likewise.
14934
14935 * lib/i386/datetime.c: Likewise.
14936
14937 * lib/efi/datetime.c: Likewise.
14938
0e9242da 149392008-08-14 Robert Millan <rmh@aybabtu.com>
14940
14941 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
14942 (grub_mkelfimage_SOURCES): New variable.
14943 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
14944
14945 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
14946 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
14947 * conf/powerpc-ieee1275.rmk: Likewise.
14948 * conf/i386-ieee1275.rmk: Likewise.
14949
14950 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
14951 * kern/i386/coreboot/init.c: Likewise.
14952
14953 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
14954 with `<grub/cpu/kernel.h>'.
14955 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
14956 to ...
14957 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
14958 * kern/i386/coreboot/startup.S: Likewise.
14959
14960 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
14961 (GRUB_MOD_GAP): Remove.
14962 * include/grub/powerpc/kernel.h: New file.
14963 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
14964 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
14965 * include/grub/i386/kernel.h: New file.
14966 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
14967 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
14968 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
14969
14970 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
14971 `grub-mkelfimage'.
14972 Use --directory when invoking grub_mkimage.
14973
14974 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
14975 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
14976 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
14977 and GRUB_KERNEL_CPU_PREFIX.
14978
b86408f8 149792008-08-14 Felix Zielcke <fzielcke@z-51.de>
14980
d5e619ca 14981 * include/grub/err.h (grub_err_printf): New function prototype.
14982 * util/misc.c (grub_err_printf): New function.
14983 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
14984 grub_printf.
14985 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 14986
7161f0e0 149872008-08-13 Robert Millan <rmh@aybabtu.com>
14988
14989 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
14990
a1967522 149912008-08-13 Robert Millan <rmh@aybabtu.com>
14992
14993 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
14994 boot entry.
14995
371458b5 149962008-08-12 Robert Millan <rmh@aybabtu.com>
14997
14998 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
14999 of the relocation code from here ...
15000 (grub_multiboot): ... to here.
15001 (forward_relocator, backward_relocator): Move from here ...
15002 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15003 (grub_multiboot_backward_relocator): ... to here.
15004 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15005 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15006 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15007 (grub_multiboot_forward_relocator_end)
15008 (grub_multiboot_backward_relocator)
15009 (grub_multiboot_backward_relocator_end): New variables.
15010
05f9452b 150112008-08-12 Bean <bean123ch@gmail.com>
15012
15013 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15014
20024ab0 150152008-08-11 Robert Millan <rmh@aybabtu.com>
15016
15017 * kern/i386/linuxbios/startup.S: Move from here ...
15018 * kern/i386/coreboot/startup.S: ... to here.
15019
15020 * kern/i386/linuxbios/init.c: Move from here ...
15021 * kern/i386/coreboot/init.c: ... to here.
15022
15023 * kern/i386/linuxbios/table.c: Move from here ...
15024 * kern/i386/coreboot/mmap.c: ... to here.
15025
15026 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15027
e352e9cd 150282008-08-11 Robert Millan <rmh@aybabtu.com>
15029
15030 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15031 errors. Leave it to the upper layer to handle them.
15032
2d05bc6a 150332008-08-09 Christian Franke <franke@computer.org>
15034
15035 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15036 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15037 Install `grub.d/10_windows' only on Cygwin.
15038 * configure.ac: Add subst of `target_os'.
15039 Check `target_os' also before setting TARGET_OBJ2ELF.
15040 Add `--enable-grub-pe2elf'.
15041
042bd419 150422008-08-08 Robert Millan <rmh@aybabtu.com>
15043
15044 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15045 (grub_last_time): Change type to grub_uint64_t.
15046 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15047 (grub_disk_close): Likewise.
15048
15049 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15050 (run_menu): Migrate code from to using grub_get_time_ms().
15051
15052 * util/misc.c (grub_get_time_ms): New function.
15053
7f280db5 150542008-08-08 Marco Gerards <marco@gnu.org>
15055
15056 * disk/ata.c (grub_ata_regget): Change return type to
15057 `grub_uint8_t'.
15058 (grub_ata_regget2): Likewise.
15059 (grub_ata_wait_status): New function.
15060 (grub_ata_wait_busy): Removed function, updated all users to use
15061 `grub_ata_wait_status'.
15062 (grub_ata_wait_drq): Likewise.
15063 (grub_ata_cmd): New function.
15064 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15065 error handling.
15066 (grub_ata_pio_write): Add error handling.
15067 (grub_atapi_identify): Likewise.
15068 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15069 handling.
15070 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15071 handling. Actually use the detected registers. Reorder the
15072 detection logic such that it is easier to read.
15073 (grub_ata_pciinit): Do not assign the same ID to each controller.
15074 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15075 handling.
15076 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15077
15078 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15079
1fbc5e66 150802008-08-08 Marco Gerards <marco@gnu.org>
15081
15082 * NEWS: Update.
15083
819ce6c0 150842008-08-07 Bean <bean123ch@gmail.com>
15085
15086 * include/grub/x86_64/pci.h: New file.
15087
5c41d44d 150882008-08-07 Christian Franke <franke@computer.org>
15089
15090 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15091 (TIMER2_GATE): Likewise.
15092 (grub_pit_wait): Add enable/disable of the timer2 gate
15093 bit of port 0x61. This fixes a possible infinite loop.
15094
5ebc275d 150952008-08-07 Bean <bean123ch@gmail.com>
15096
15097 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15098 kern/i386/tsc.c and kern/i386/pit.c.
15099
15100 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15101 x86_64 platform.
15102
15103 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15104 <grub/i386/tsc.h>.
15105
15106 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15107
e383b3d0 151082008-08-07 Bean <bean123ch@gmail.com>
15109
15110 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15111
15112 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15113
15114 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15115 multiple inclusion. Add #include <grub/types.h>.
15116
1cbb58ac 151172008-08-06 Christian Franke <franke@computer.org>
15118
15119 * conf/common.rmk: Build and install `10_windows'.
15120 * util/grub.d/10_windows.in: New script.
15121
337f5a1e 151222008-08-06 Pavel Roskin <proski@gnu.org>
15123
15124 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15125
057bc4ac 151262008-08-06 Robert Millan <rmh@aybabtu.com>
15127
15128 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15129 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15130
2b99f123 151312008-08-06 Bean <bean123ch@gmail.com>
15132
15133 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15134 (grub_pxefs_fs_int): Remove dummy definition.
15135 (grub_pxefs_open): Use data->block_size to store the current block
15136 size setting.
15137 (grub_pxefs_read): Use block size stored in data->block_size. As the
15138 value of grub_pxe_blksize can be changed after the file is opened.
15139
9f0234cb 151402008-08-06 Bean <bean123ch@gmail.com>
15141
15142 * fs/i386/pc/pxe.c (curr_file): new variable.
15143 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15144 require the dummy internal file system anymore.
15145 (grub_pxefs_read): Removed.
15146 (grub_pxefs_close): Likewise.
15147 (grub_pxefs_fs_int): Likewise.
15148 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15149 connection when we switch file.
15150 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15151
a55d42e0 151522008-08-06 Robert Millan <rmh@aybabtu.com>
15153
15154 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15155 `halt.mod'.
15156 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15157 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15158
15159 * kern/i386/halt.c: New file.
15160 * kern/i386/reboot.c: Likewise.
15161 * include/grub/i386/reboot.h: Likewise.
15162 * include/grub/i386/halt.h: Likewise.
15163
15164 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15165 Include `<grub/cpu/halt.h>'.
15166 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15167 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15168
15169 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15170 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15171 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15172 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15173 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
15174 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
15175 from here ...
15176 * include/grub/i386/at_keyboard.h: ... to here.
15177
24371d26 151782008-08-05 Robert Millan <rmh@aybabtu.com>
15179
15180 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
15181 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
15182 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
15183 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15184 `kern/generic/millisleep.c'.
15185
15186 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
15187 instead of grub_get_rtc().
15188 (grub_tsc_init): Initialize `tsc_boot_time'.
15189
15190 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
15191 (grub_machine_init): Use grub_tsc_init() rather than
15192 installing an RTC-based handler via grub_install_get_time_ms().
15193
15194 * kern/i386/pit.c: New file.
15195 * include/grub/i386/pit.h: Likewise.
15196
9e7007b3 151972008-08-05 Bean <bean123ch@gmail.com>
15198
15199 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
15200
15201 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
15202 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
15203 (pxe_mod_SOURCES): New macro.
15204 (pxe_mod_CFLAGS): Likewise.
15205 (pxe_mod_LDFLAGS): Likewise.
15206 (pxecmd_mod_SOURCES): Likewise.
15207 (pxecmd_mod_CFLAGS): Likewise.
15208 (pxecmd_mod_LDFLAGS): Likewise.
15209
15210 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
15211 (grub_pxe_call): Likewise.
15212
15213 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
15214
15215 * commands/i386/pc/pxecmd.c: New file.
15216
9f0234cb 15217 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 15218
15219 * include/grub/i386/pc/pxe.h: Likewise.
15220
6977d49f 152212008-08-05 Bean <bean123ch@gmail.com>
15222
15223 * util/console.c (grub_console_cur_color): New variable.
15224 (grub_console_standard_color): Likewise.
15225 (grub_console_normal_color): Likewise.
15226 (grub_console_highlight_color): Likewise.
15227 (color_map): Likewise.
15228 (use_color): Likewise.
15229 (NUM_COLORS): New macro.
15230 (grub_ncurses_setcolorstate): Handle color properly.
15231 (grub_ncurses_setcolor): Don't change color here, just remember the
15232 settings, color will be set in grub_ncurses_setcolorstate.
15233 (grub_ncurses_getcolor): New function.
15234 (grub_ncurses_init): Initialize color pairs.
15235 (grub_ncurses_term): New member grub_ncurses_getcolor.
15236
9c2ff3ee 152372008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 15238
9c2ff3ee 15239 High resolution timer support. Implemented for x86 CPUs using TSC.
15240 Extracted generic grub_millisleep() so it's linked in only as needed.
15241 This requires a Pentium compatible CPU; if the RDTSC instruction is
15242 not supported, then it falls back on the generic grub_get_time_ms()
15243 implementation that uses the machine's RTC.
15244
15245 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
15246 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15247 `kern/generic/millisleep.c'.
15248
15249 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
15250 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
15251
15252 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
15253 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
15254
15255 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15256
15257 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15258 `kern/generic/millisleep.c'.
15259
15260 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15261
15262 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
15263
15264 * kern/generic/rtc_get_time_ms.c: New file.
15265
15266 * kern/generic/millisleep.c: New file.
337f5a1e 15267
9c2ff3ee 15268 * kern/misc.c: Don't include
15269 <kern/time.h> anymore.
15270 (grub_millisleep_generic): Removed.
15271
15272 * commands/sleep.c (grub_interruptible_millisleep): Uses
15273 grub_get_time_ms() instead of grub_get_rtc().
15274
15275 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
15276 function.
15277 (grub_cpu_is_cpuid_supported): New inline function.
15278 (grub_cpu_is_tsc_supported): New inline function.
15279 (grub_tsc_init): New function prototype.
15280 (grub_tsc_get_time_ms): New function prototype.
15281
15282 * kern/i386/tsc.c (grub_get_time_ms): New file.
15283
15284 * include/grub/time.h: Include <grub/types.h.
15285 (grub_millisleep_generic): Removed.
15286 (grub_get_time_ms): New prototype.
15287 (grub_install_get_time_ms): New prototype.
15288 (grub_rtc_get_time_ms): New prototype.
15289
15290 * kern/time.c (grub_get_time_ms): New function.
15291 (grub_install_get_time_ms): New function.
15292
15293 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
15294 <grub/time.h> anymore.
15295 (grub_millisleep): Removed.
15296 (grub_machine_init): Call grub_tsc_init.
15297
15298 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
15299 get_time_ms() implementation.
15300
15301 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
15302 (ieee1275_get_time_ms): New function.
15303 (grub_machine_init): Install get_time_ms() implementation.
15304
15305 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
15306 (grub_machine_init): Call grub_tsc_init().
15307 (grub_millisleep): Removed.
bf06a93f 15308
9c2ff3ee 15309 * kern/ieee1275/init.c (grub_millisleep): Removed.
15310 (grub_machine_init): Install ieee1275_get_time_ms()
15311 implementation.
15312 (ieee1275_get_time_ms): New function.
15313 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
15314 real work.
15315
9ec92aaf 153162008-08-05 Marco Gerards <marco@gnu.org>
15317
15318 * disk/ata.c: Include <grub/pci.h>.
15319 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
15320 (grub_ata_initialize): Rewritten.
15321 (grub_ata_device_initialize): New function.
15322
8d23f507 153232008-08-04 Pavel Roskin <proski@gnu.org>
15324
15325 * kern/main.c: Include grub/mm.h.
15326
5e15ee3d 153272008-08-04 Robert Millan <rmh@aybabtu.com>
15328
15329 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
15330 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
15331 corruption problem).
15332
a9053f8f 153332008-08-04 Robert Millan <rmh@aybabtu.com>
15334
15335 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
15336 warnings introduced in my last commit.
15337
dd19c7d7 153382008-08-03 Robert Millan <rmh@aybabtu.com>
15339
15340 Make PCI available on all i386 architectures.
15341
15342 * include/grub/i386/pc/pci.h: Move from here ...
15343 * include/grub/i386/pci.h: ... to here.
15344
15345 * include/grub/i386/pc/pci.h: Remove.
15346 * include/grub/i386/efi/pci.h: Remove.
15347 * include/grub/x86_64/efi/pci.h: Remove.
15348
15349 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
15350 `<grub/cpu/pci.h>'.
15351
15352 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
15353 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
15354 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
15355
15356 * conf/i386-ieee1275.rmk: Likewise.
15357
e14a6184 153582008-08-03 Robert Millan <rmh@aybabtu.com>
15359
15360 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
15361 (grub_console_setcursor): Make it possible to set cursor off.
15362
52768e37 153632008-08-03 Robert Millan <rmh@aybabtu.com>
15364
15365 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
15366 of modules instead of assuming which platform provides what.
15367 * util/update-grub.in: Likewise.
15368
2d52f57f 153692008-08-03 Robert Millan <rmh@aybabtu.com>
15370
15371 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
15372 instead of `grub_install_dos_part' to determine whether a drive needs
15373 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 15374 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 15375
2a5cd121 153762008-08-02 Robert Millan <rmh@aybabtu.com>
15377
15378 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
15379
93808428 153802008-08-02 Robert Millan <rmh@aybabtu.com>
15381
15382 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
15383 of informational grub_dprintf() calls.
15384
3bd0a12a 153852008-08-02 Robert Millan <rmh@aybabtu.com>
15386
15387 * disk/memdisk.c (memdisk_size): Don't initialize.
15388 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
15389
15390 * include/grub/i386/pc/kernel.h
15391 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
15392 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
15393 (grub_memdisk_image_size, grub_arch_memdisk_addr)
15394 (grub_arch_memdisk_size): Remove.
15395
15396 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
15397 field (was only used to transfer a constant). Add `type' field to
15398 support multiple module types.
15399 (grub_module_iterate): New function.
15400
15401 * kern/device.c (grub_device_open): Do not hide error messages
15402 when grub_disk_open() fails. Use grub_print_error() instead.
15403
15404 * kern/i386/pc/init.c (grub_arch_modules_addr)
15405 (grub_arch_memdisk_size): Remove functions.
15406 (grub_arch_modules_addr): Return the module address in high memory
15407 (now that it isn't copied anymore).
15408
15409 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
15410 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
15411 decompression routine (grub_total_module_size already includes that
15412 now). Don't copy modules back to low memory.
15413
15414 * kern/main.c: Include `<grub/mm.h>'.
15415 (grub_load_modules): Split out (and use) ...
15416 (grub_module_iterate): ... this function, which iterates through
15417 module objects and runs a hook.
15418 Comment out grub_mm_init_region() call, as it would cause non-ELF
15419 modules to be overwritten.
15420
15421 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
15422 the memdisk image in its own region, make it part of the module list.
15423 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
15424 (main): Parse --memdisk|-m option, and pass user-provided path as
15425 parameter to generate_image().
15426 (add_segments): Pass `memdisk_path' down to load_modules().
15427 (load_modules): Embed memdisk image in module section when requested.
15428 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
15429 `header.type' instead of `header.offset'.
15430
15431 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
15432 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
15433 (memdisk_mod_LDFLAGS): New variables.
15434 * conf/i386-coreboot.rmk: Likewise.
15435 * conf/i386-ieee1275.rmk: Likewise.
15436
a927cc73 154372008-08-02 Robert Millan <rmh@aybabtu.com>
15438
15439 * loader/i386/pc/multiboot.c (playground, forward_relocator)
15440 (backward_relocator): New variables. Used to allocate and relocate
15441 the payload, respectively.
15442 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 15443 address, install the appropriate relocator code in each bound of
a927cc73 15444 the payload, and set the entry point such that
15445 grub_multiboot_real_boot() will jump to one of them.
15446
15447 * kern/i386/loader.S (grub_multiboot_payload_size)
15448 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15449 (grub_multiboot_payload_entry_offset): New variables.
15450 (grub_multiboot_real_boot): Set cpu context to what the relocator
15451 expects, and jump to the relocator instead of the payload.
15452
15453 * include/grub/i386/loader.h (grub_multiboot_payload_size)
15454 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15455 (grub_multiboot_payload_entry_offset): Export.
15456
b15d8a0c 154572008-08-01 Bean <bean123ch@gmail.com>
15458
15459 * normal/menu_entry.c (editor_getline): Don't return the original
15460 string as result, as it will be released by lexer once it has done
15461 using it.
15462
cdfb3d22 154632008-08-01 Robert Millan <rmh@aybabtu.com>
15464
15465 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
15466 within menuentries, not before them.
15467 util/grub.d/10_hurd.in: Likewise.
15468
9175e93d 154692008-08-01 Bean <bean123ch@gmail.com>
15470
15471 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
15472 (bufio_mod_SOURCES): New macro.
15473 (bufio_mod_CFLAGS): Likewise.
15474 (bufio_mod_LDFLAGS): Likewise.
15475
15476 * include/grub/bufio.h: New file.
15477
15478 * io/bufio.c: Likewise.
15479
15480 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
15481 (grub_video_reader_png): Use grub_buffile_open to open file.
15482
15483 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
15484 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
15485
15486 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
15487 (grub_video_reader_tga): Use grub_buffile_open to open file.
15488
15489 * font/manager.c: Include <grub/bufio.h>.
15490 (add_font): Use grub_buffile_open to open file.
15491
3d8383e7 154922008-07-31 Robert Millan <rmh@aybabtu.com>
15493
15494 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
15495 ELF segments, use a macro for arbitrarily accessing any of them instead
15496 of preparing a pointer that allows access to one at a time.
15497 (grub_multiboot_load_elf64): Likewise.
15498
16e641b6 154992008-07-31 Bean <bean123ch@gmail.com>
15500
15501 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
15502 GRUB_KERNEL_MACHINE_DATA_END.
15503
59198b72 155042008-07-30 Robert Millan <rmh@aybabtu.com>
15505
15506 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
15507 Increase from 0x50 to 0x60.
15508 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
15509 use UUIDs to identify the root drive for them. If that's not
15510 possible, abort.
15511 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
15512 check, for cross-disk installs.
15513
ae88bca3 155142008-07-30 Robert Millan <rmh@aybabtu.com>
15515
15516 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
15517 is non-empty, use it to set the `prefix' environment variable instead
15518 of the usual approach.
15519 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
15520 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
15521 environment variable instead of dummy make_install_device().
15522
15523 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
15524 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 15525 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 15526
15527 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
15528 New variable reference.
15529 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
15530 New macro. Defines offset of `grub_prefix' within startup.S (relative
15531 to `start').
15532 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
15533 section within startup.S (relative to `start').
15534 * include/grub/i386/coreboot/kernel.h: Likewise.
15535
15536 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
15537 Overwrite grub_prefix with its contents, at the beginning of the
15538 first segment.
15539 (main): Understand -p|--prefix.
15540
14f41dd1 155412008-07-30 Robert Millan <rmh@aybabtu.com>
15542
15543 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
15544
4ca049a3 155452008-07-30 Robert Millan <rmh@aybabtu.com>
15546
15547 * term/i386/pc/vga_text.c (grub_console_cls): Use
15548 grub_console_gotoxy() to go back to beginning of the screen.
15549 Found by Patrick Georgi <patrick.georgi@coresystems.de>
15550
2921d337 155512008-07-29 Christian Franke <franke@computer.org>
15552
15553 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15554 Add conversion of emulated mount points on Cygwin.
15555
b609876d 155562008-07-29 Christian Franke <franke@computer.org>
15557
15558 * util/update-grub.in: Add a check for admin
15559 group on Cygwin.
15560 Remove old `grub.cfg.new' before creation.
15561 Add `-f' to `mv' to handle the different filesystem
15562 semantics of Windows.
15563
e93e4679 155642008-07-29 Bean <bean123ch@gmail.com>
15565
15566 * normal/main.c (get_line): Fix buffer overflow bug.
15567
41694fd0 155682008-07-28 Robert Millan <rmh@aybabtu.com>
15569
15570 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
15571 (struct grub_apple_header): New struct. Describes the layout of
15572 the partmap header.
15573 (apple_partition_map_iterate): Check the header magic as well as the
15574 partition magic (which was already being checked).
15575
cfd0b4e6 155762008-07-28 Pavel Roskin <proski@gnu.org>
15577
15578 * genmk.rb: Add a warning to the beginning of the output that
15579 it's a generated file and should not be edited.
15580
93cce016 155812008-07-28 Robert Millan <rmh@aybabtu.com>
15582
15583 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15584 with the same number are found, just use issue a warning with
15585 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 15586
cd1df915 155872008-07-27 Robert Millan <rmh@aybabtu.com>
15588
15589 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
15590 information.
15591
b70a8427 155922008-07-27 Bean <bean123ch@gmail.com>
15593
15594 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
15595 (grub_fat_find_dir): Ignore case when comparing filename.
15596
8f5e379f 155972008-07-27 Bean <bean123ch@gmail.com>
15598
15599 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
15600 smallino, as it's more descriptive, and i8count can be confused with
15601 the other field count.
15602 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
15603 inode type.
15604
a85cd5a0 156052008-07-27 Bean <bean123ch@gmail.com>
15606
15607 * commands/crc.c: New file.
15608
15609 * lib/crc.c: Likewise.
15610
15611 * include/grub/lib/crc.h: Likewise.
15612
15613 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
15614
15615 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
15616 (hexdump): Move this function to ...
15617
15618 * lib/hexdump.c: ... here.
15619
15620 * include/grub/hexdump.h: Renamed to ...
15621
15622 * include/grub/lib/hexdump.h: ... this.
15623
15624 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
15625
15626 * util/grub-editenv.c: Likewise.
15627
15628 * include/envblk.h: Renamed to ...
15629
15630 * include/lib/envblk.h: ... this.
15631
15632 * util/envblk.c: Renamed to ...
15633
15634 * lib/envblk.c: ... this.
15635
15636 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
15637 lib/hexdump.c.
15638 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
15639 (pkglib_MODULES): Add crc.mod.
15640 (hexdump_mod_SOURCES): Add lib/hexdump.c.
15641 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
15642 (crc_mod_SOURCES): New macro.
15643 (crc_mod_CFLAGS): Likewise.
15644 (crc_mod_LDFLAGS): Likewise.
15645
15646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
15647
15648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15649
15650 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15651
15652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15653
15654 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15655
c298def0 156562008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 15657
15658 * commands/help.c: Include <grub/term.h>.
15659 (TERM_WIDTH): Removed. Updated all users.
15660
cc349fb3 156612008-07-27 Pavel Roskin <proski@gnu.org>
15662
15663 * util/getroot.c (find_root_device): Rephrase a comment to avoid
15664 spurious warnings about a comment within a comment.
15665
9051607e 156662008-07-25 Robert Millan <rmh@aybabtu.com>
15667
15668 * util/getroot.c (find_root_device): Skip devices that match
15669 /dev/dm-[0-9]. This lets the real device be found for any type of
15670 abstraction (LVM, EVMS, RAID..).
15671 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
15672 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
15673 device is found first, find_root_device() will now skip it.
15674
01453bfc 156752008-07-24 Pavel Roskin <proski@gnu.org>
15676
15677 * include/grub/types.h: Use __builtin_bswap32() and
15678 __builtin_bswap64() with gcc 4.3 and newer.
15679
6af9849f 156802008-07-24 Christian Franke <franke@computer.org>
15681
3a0fa256 15682 * util/i386/pc/grub-install.in: If `--debug' is specified,
15683 pass `--verbose' to grub-setup.
15684 Abort script if make_system_path_relative_to_its_root() fails.
15685
7810e747 156862008-07-24 Bean <bean123ch@gmail.com>
15687
15688 * configure.ac: Fixed a bug caused by the previous cygwin patch,
15689 variable `target_platform' should be `platform'.
15690
42290e17 156912008-07-24 Bean <bean123ch@gmail.com>
15692
51cc5193 15693 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 15694 (grub_png_init_fixed_block): New function.
15695 (grub_png_decode_image_data): Handle fixed huffman code compression.
15696
2a8a80e4 156972008-07-24 Bean <bean123ch@gmail.com>
15698
15699 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
15700 (grub_pe2elf_SOURCES): New macro.
15701 (CLEANFILES): Add grub-pe2elf.
15702
15703 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
15704 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
15705 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
15706 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
15707 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
15708 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
15709 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
15710 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
15711 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
15712 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
15713 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
15714 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
15715 (GRUB_PE32_DT_FUNCTION): Likewise.
15716 (GRUB_PE32_REL_I386_DIR32): Likewise.
15717 (GRUB_PE32_REL_I386_REL32): Likewise.
15718 (grub_pe32_symbol): New structure.
15719 (grub_pe32_reloc): Likewise.
15720
15721 * util/grub-pe2elf.c: New file.
15722
15723 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
15724 start symbol in non pc platform.
15725
15726 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
15727
15728 The following patches are from Christian Franke.
15729
15730 * include/grub/dl.h: Remove .previous, gas supports this only
15731 for ELF format.
15732
15733 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
15734 Remove .type, gas supports this only for ELF format.
15735
15736 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
15737 nullbytes in symbol table. This fixes an infinite loop if table is
15738 zero filled.
15739
15740 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
15741 TARGET_IMG_LDFLAGS and EXEEXT.
15742
15743 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
15744 TARGET_IMG_LDFLAGS_AC.
15745 (grub_CHECK_STACK_ARG_PROBE): New function.
15746
15747 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
15748
15749 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
15750
15751 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
15752 to set TARGET_IMG_LD* accordingly.
15753 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
15754 Add call to grub_CHECK_STACK_ARG_PROBE.
15755 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
15756
15757 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
15758
15759 * genmk.rb: Add EXEEXT to CLEANFILES.
15760
12ccdb75 157612008-07-23 Robert Millan <rmh@aybabtu.com>
15762
15763 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
15764 define the codes for arrows and lines used for the menu).
15765 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
15766 as well.
15767
15768 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
15769 fonts, because the latter are too slow.
15770
18eeaf04 157712008-07-21 Bean <bean123ch@gmail.com>
15772
15773 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
15774 a20. Run keyboard test last, as it will cause macbook to halt.
15775
b095e2ad 157762008-07-18 Pavel Roskin <proski@gnu.org>
15777
15778 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
15779 load foreign architecture modules correctly anyway. Keep
15780 support for loading host architecture modules, whether we
15781 compile them or not.
15782
737feb35 157832008-07-17 Pavel Roskin <proski@gnu.org>
15784
3f4ce737 15785 * configure.ac: Use -m32 or -m64 regardless of whether we had to
15786 change target_cpu. The compiler default can mismatch target_cpu
15787 in any case.
15788
4ad2d049 15789 * disk/efi/efidisk.c: Fix format warnings on x86_64.
15790 * kern/efi/efi.c: Likewise.
15791
f6130a12 15792 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
15793 target compiler is functional.
15794 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
15795 are set up.
15796
58393a2d 15797 * configure.ac: Default to efi platform for x86_64-apple. Allow
15798 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
15799 adjustments from the rest, only do them if target is not
15800 explicitly given. Merge other adjustments with the final sanity
15801 check. Remove an extraneous check for supported CPU. Be
15802 specific which CPU and which platform is not supported.
15803
737feb35 15804 * configure.ac: Default to pc platform for x86_64.
15805
546f966a 158062008-07-17 Robert Millan <rmh@aybabtu.com>
15807
15808 Partial LinuxBIOS -> Coreboot rename.
15809
15810 * conf/i386-linuxbios.rmk: Renamed to ...
15811 * conf/i386-coreboot.rmk: ... this.
15812 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
15813 * configure.ac: Accept "coreboot" as input platform (but maintain
15814 compatibility with "linuxbios").
15815 * include/grub/i386/linuxbios: Renamed to ...
15816 * include/grub/i386/coreboot: ... this.
15817
20011694 158182008-07-17 Bean <bean123ch@gmail.com>
15819
15820 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 15821 (appleldr_mod_SOURCE): New variable.
20011694 15822 (appleldr_mod_CFLAGS): Likewise.
15823 (appleldr_mod_LDFLAGS): Likewise.
15824 (pci_mod_SOURCES): Likewise.
15825 (pci_mod_CFLAGS): Likewise.
15826 (pci_mod_LDFLAGS): Likewise.
15827 (lspci_mod_SOURCES): Likewise.
15828 (lspci_mod_CFLAGS): Likewise.
15829 (lspci_mod_LDFLAGS): Likewise.
15830
15831 * conf/x86_64-efi.rmk: New file.
15832
15833 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
15834 macro.
15835 (grub_efidisk_write): Likewise.
15836
15837 * include/efi/api.h (efi_call_0): New macro.
15838 (efi_call_1): Likewise.
15839 (efi_call_2): Likewise.
15840 (efi_call_3): Likewise.
15841 (efi_call_4): Likewise.
15842 (efi_call_5): Likewise.
15843 (efi_call_6): Likewise.
15844
15845 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
15846 grub_rescue_cmd_chainloader.
15847
15848 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
15849 (grub_pe32_optional_header): Change some fields based on i386 or
15850 x86_64 platform.
15851 (GRUB_PE32_PE32_MAGIC): Likewise.
15852
15853 * include/grub/efi/uga_draw.h: New file.
15854
15855 * include/grub/elf.h (STN_ABS): New constant.
15856 (R_X86_64_NONE): Relocation constant for x86_64.
15857 (R_X86_64_64): Likewise.
15858 (R_X86_64_PC32): Likewise.
15859 (R_X86_64_GOT32): Likewise.
15860 (R_X86_64_PLT32): Likewise.
15861 (R_X86_64_COPY): Likewise.
15862 (R_X86_64_GLOB_DAT): Likewise.
15863 (R_X86_64_JUMP_SLOT): Likewise.
15864 (R_X86_64_RELATIVE): Likewise.
15865 (R_X86_64_GOTPCREL): Likewise.
15866 (R_X86_64_32): Likewise.
15867 (R_X86_64_32S): Likewise.
15868 (R_X86_64_16): Likewise.
15869 (R_X86_64_PC16): Likewise.
15870 (R_X86_64_8): Likewise.
15871 (R_X86_64_PC8): Likewise.
15872
15873 * include/grub/i386/efi/pci.h: New file.
15874
15875 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
15876 Change it value based on platform.
15877 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
15878 (GRUB_E820_RAM): Likewise.
15879 (GRUB_E820_RESERVED): Likewise.
15880 (GRUB_E820_ACPI): Likewise.
15881 (GRUB_E820_NVS): Likewise.
15882 (GRUB_E820_EXEC_CODE): Likewise.
15883 (GRUB_E820_MAX_ENTRY): Likewise.
15884 (grub_e820_mmap): New structure.
15885 (linux_kernel_header): Change the efi field according to different
15886 kernel version, also field from linux_kernel_header.
15887
15888 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
15889
15890 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
15891 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
15892 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
15893 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
15894 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
15895 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
15896 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
15897 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
15898 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
15899 (GRUB_PCI_ADDR_IO_MASK): Likewise.
15900
15901 * include/grub/x86_64/efi/kernel.h: New file.
15902
15903 * include/grub/x86_64/efi/loader.h: Likewise.
15904
15905 * include/grub/x86_64/efi/machine.h: Likewise.
15906
15907 * include/grub/x86_64/efi/pci.h: Likewise.
15908
15909 * include/grub/x86_64/efi/time.h: Likewise.
15910
15911 * include/grub/x86_64/linux.h: Likewise.
15912
15913 * include/grub/x86_64/setjmp.h: Likewise.
15914
15915 * include/grub/x86_64/time.h: Likewise.
15916
15917 * include/grub/x86_64/types.h: Likewise.
15918
15919 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
15920 GRUB_TARGET_SIZEOF_VOID_P.
15921
15922 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
15923 (grub_efi_locate_handle): Likewise.
15924 (grub_efi_open_protocol): Likewise.
15925 (grub_efi_set_text_mode): Likewise.
15926 (grub_efi_stall): Likewise.
15927 (grub_exit): Likewise.
15928 (grub_reboot): Likewise.
15929 (grub_halt): Likewise.
15930 (grub_efi_exit_boot_services): Likewise.
15931 (grub_get_rtc): Likewise.
15932
15933 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
15934 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
15935 (grub_efi_allocate_pages): Wrap efi calls.
15936 (grub_efi_free_pages): Wrap efi calls.
15937 (grub_efi_get_memory_map): Wrap efi calls.
15938
15939 * kern/x86_64/dl.c: New file.
15940
15941 * kern/x86_64/efi/callwrap.S: Likewise.
15942
15943 * kern/x86_64/efi/startup.S: Likewise.
15944
15945 * loader/efi/appleloader.c: Likewise.
15946
15947 * loader/efi/chainloader.c (cmdline): New variable.
15948 (grub_chainloader_unload): Wrap efi calls.
15949 (grub_chainloader_boot): Likewise.
15950 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
15951 command line.
15952
15953 * loader/efi/chainloader_normal.c (chainloader_command):
15954 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
15955 command line.
15956
15957 * loader/i386/efi/linux.c (allocate_pages): Change allocation
15958 method.
15959 (grub_e820_add_region): New function.
15960 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
15961 booting.
15962 (grub_find_video_card): New function.
15963 (grub_linux_setup_video): New function.
15964 (grub_rescue_cmd_linux): Probe for video information.
15965
15966 * normal/x86_64/setjmp.S: New file.
15967
15968 * term/efi/console.c (map_char): New function.
15969 (grub_console_putchar): Map unicode char.
15970 (grub_console_checkkey): Wrap efi calls.
15971 (grub_console_getkey): Likewise.
15972 (grub_console_getwh): Likewise.
15973 (grub_console_gotoxy): Likewise.
15974 (grub_console_cls): Likewise.
15975 (grub_console_setcolorstate): Likewise.
15976 (grub_console_setcursor): Likewise.
15977
15978 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
15979
59652a20 159802008-07-16 Pavel Roskin <proski@gnu.org>
15981
ef294055 15982 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
15983 format strings.
15984
59652a20 15985 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
15986 pointer, not an integer. This fixes a warning and prevents
15987 precision loss on 64-bit systems.
15988 (relocate_addresses): Remove unneeded cast.
15989
afc3b5d7 159902008-07-15 Pavel Roskin <proski@gnu.org>
15991
506b2b3e 15992 * kern/i386/ieee1275/init.c: Include grub/cache.h.
15993
62ead89c 15994 * term/ieee1275/ofconsole.c: Disable code unused on i386.
15995
c4cd51d7 15996 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
15997 Fix comparison between signed and unsigned.
15998
0d3d8f28 15999 * include/grub/i386/ieee1275/console.h: Declare
16000 grub_console_init() and grub_console_fini().
16001
8804b286 16002 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16003 It's empty and unused.
16004
ee01cf35 16005 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16006 beginning to avoid warnings with some compilers.
16007
afc3b5d7 16008 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16009 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16010
e4e8eaa5 160112008-07-14 Pavel Roskin <proski@gnu.org>
16012
407aceb4 16013 * kern/env.c (grub_register_variable_hook): Don't copy empty
16014 string, it leaks memory. Pass "" to grub_env_set(), it should
16015 handle constant strings.
16016
e4e8eaa5 16017 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16018 * commands/cmp.c (grub_cmd_cmp): Likewise.
16019 * kern/dl.c (grub_dl_flush_cache): Likewise.
16020 (grub_dl_load_core): Likewise.
16021 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16022 (grub_elf64_load_phdrs): Likewise.
16023
d4e2dad3 160242008-07-13 Pavel Roskin <proski@gnu.org>
16025
16026 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16027 between signed and unsigned.
16028 (LzmaEnc_Finish): Fix warning about an unused parameter.
16029
aa24b516 160302008-07-13 Bean <bean123ch@gmail.com>
16031
16032 * Makefile.in (enable_lzo): New rule.
16033
16034 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16035
16036 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16037
16038 * boot/i386/pc/lnxboot.S: #include <config.h>.
16039
16040 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 16041 its value according to the compression algorithm used, lzo or lzma.
aa24b516 16042
16043 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16044 compression algorithm according to configure macro.
16045
16046 * kern/i386/pc/startup.S (codestart): Likewise.
16047
16048 * kern/i386/pc/lzma_decode.S: New file.
16049
16050 * include/grub/lib/LzFind.h: Likewise.
16051
16052 * include/grub/lib/LzHash.h: Likewise.
16053
16054 * include/grub/lib/LzmaDec.h: Likewise.
16055
16056 * include/grub/lib/LzmaEnc.h: Likewise.
16057
16058 * include/grub/lib/LzmaTypes.h: Likewise.
16059
16060 * lib/LzFind.c: Likewise.
16061
16062 * lib/LzmaDec.c: Likewise.
16063
16064 * lib/LzmaEnc.c: Likewise.
16065
4ae821ac 160662008-07-13 Bean <bean123ch@gmail.com>
16067
16068 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16069 (grub_ext4_extent_header): New structure.
16070 (grub_ext4_extent): Likewise.
16071 (grub_ext4_extent_idx): Likewise.
16072 (grub_ext4_find_leaf): New function.
16073 (grub_ext2_read_block): Handle extents.
16074
9a745147 160752008-07-12 Robert Millan <rmh@aybabtu.com>
16076
16077 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16078
d49a4cf6 160792008-07-11 Robert Millan <rmh@aybabtu.com>
16080
16081 * util/grub.d/40_custom.in: New file. Example on how to add custom
16082 entries to /etc/grub.d.
16083 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16084 40_custom (implicitly, by merging all the grub.d rules).
16085
947414b4 160862008-07-11 Pavel Roskin <proski@gnu.org>
16087
0059cf6f 16088 * commands/read.c (grub_getline): Fix invalid memory access.
16089 Don't add newline to the variable value.
16090
947414b4 16091 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16092 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16093 (serial_hw_get_port): Check validity of the port number.
16094 (grub_cmd_serial): Check return value of serial_hw_get_port().
16095
62a02d00 160962008-07-07 Pavel Roskin <proski@gnu.org>
16097
16098 * boot/i386/pc/diskboot.S (notification_string): Replace
16099 "Loading kernel" with just "loading". This is shorter, less
16100 confusing and saves a few bytes for possible future changes.
16101
3e5581b0 161022008-07-05 Pavel Roskin <proski@gnu.org>
16103
ea387a48 16104 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16105 size for ATAPI devices, they are undefined. Output sector
16106 number in decimal form.
16107
3e5581b0 16108 * disk/ata.c: Use named constants for status bits.
16109
fdecb8fd 161102008-07-04 Pavel Roskin <proski@gnu.org>
16111
bcd35b90 16112 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16113 grub_addr_t before casting it to the void pointer to fix a
16114 warning. Non-addressable regions are discarded earlier.
16115 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16116 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16117 (check_signature): Don't shadow table_header.
16118 (grub_linuxbios_table_iterate): Cast numeric constants to
16119 grub_linuxbios_table_header_t.
16120 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16121 grub_stop().
16122
af58ab3d 16123 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16124 prevent warnings.
16125
1759aa57 16126 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16127 pointer, which can cause warnings. Support 64-bit addresses.
16128
fdecb8fd 16129 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16130 of sizeof(long). This fixes PowerPC image generation on x86_64.
16131
8516d2a8 161322008-07-04 Robert Millan <rmh@aybabtu.com>
16133
16134 This fixes a performance issue when pc & gpt partmap iterators
16135 didn't abort iteration even after our hook found what it was
fe987087 16136 looking for (often causing expensive probes of non-existent drives).
8516d2a8 16137
16138 Some callers relied on previous buggy behaviour, since they would
34c44600 16139 raise an error when their own hooks caused early abortion of its
8516d2a8 16140 iteration.
16141
16142 * kern/device.c (grub_device_open): Improve error message.
16143 * disk/lvm.c (grub_lvm_open): Likewise.
16144 * disk/raid.c (grub_raid_open): Likewise.
16145
16146 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16147 when hook requests it, independently of grub_errno.
16148 (pc_partition_map_probe): Do not fail when find_func() caused
16149 early abortion of pc_partition_map_iterate().
16150
16151 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16152 when hook requests it, independently of grub_errno.
16153 (gpt_partition_map_probe): Do not fail when find_func() caused
16154 early abortion of gpt_partition_map_iterate().
16155
16156 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16157 when hook requests it, independently of grub_errno. Do not fail when
16158 part_map_iterate_hook() caused early abortion of p->iterate().
16159
16160 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16161 when grub_partition_iterate() returned with non-zero.
16162
277d0de9 161632008-07-03 Pavel Roskin <proski@gnu.org>
16164
16165 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16166 like we do in grub_ata_pio_read().
16167 (grub_ata_readwrite): Always write individual sectors. Fix the
16168 sector count for the remainder.
16169 (grub_ata_write): Enable writing to ATA devices. Correctly
16170 report error for ATAPI devices.
16171
d4c9b428 161722008-07-02 Pavel Roskin <proski@gnu.org>
16173
e43fc690 16174 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
16175 warning.
16176
f707af42 16177 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
16178 for every read sector, we already increment it for the whole
16179 batch. This fixes reading more than 256 sectors at once.
16180
11e16b15 16181 * util/grub-editenv.c (cmd_info): Cast argument to long
16182 explicitly. ptrdiff_t reduces to int on i386.
16183
cbabfdd4 16184 * util/grub-editenv.c (main): Be specific which parameter is
16185 missing.
16186
b8fbce0a 16187 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
16188 (memdisk): Make memdisk_orig_addr a pointer.
16189
c9c8e606 16190 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
16191 for file offsets, use grub_off_t instead. Fix printf format
16192 warnings.
16193
ca62e598 16194 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
16195 there. Real unexpected warnings should not drown in the noise
16196 about known problems.
16197
ce8d1766 16198 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
16199 grub_disk_addr_t for memory addresses.
16200
00c7a56a 16201 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
16202 explicitly to fix a warning.
16203
08d3ef09 16204 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
16205
cb71ba20 16206 * Makefile.in (MODULE_LDFLAGS): New variable.
16207 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
16208 the linker accepts --build-id=none.
16209 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
16210 MODULE_LDFLAGS.
16211 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
16212
d4c9b428 16213 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
16214 those in Linux XFS code. Provide a way to access 64-bit parent
16215 inode.
16216 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
16217 the end of struct grub_xfs_dir_header.
16218
d4156eee 162192008-07-02 Bean <bean123ch@gmail.com>
16220
16221 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
16222 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16223 and GRUB_IEEE1275_FLAG_NO_ANSI.
16224
16225 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
16226 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16227 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
16228
16229 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
16230 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
16231
16232 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
16233 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
16234
16235 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
16236 esc sequence on non ANSI terminal.
16237 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
16238
16239 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
16240 beginning of file.
16241
2270f77b 162422008-07-02 Bean <bean123ch@gmail.com>
16243
16244 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
16245 (grub_editenv_SOURCES): New variable.
16246 (pkglib_MODULES): Add loadenv.mod.
16247 (loadenv_mod_SOURCES): New variable.
16248 (loadenv_mod_CFLAGS): Likewise.
16249 (loadenv_mod_LDFLAGS): Likewise.
16250
16251 * include/grub/envblk.h: New file.
16252
16253 * util/envblk.c: New file.
16254
16255 * util/grub-editenv.c: New file.
16256
16257 * commands/loadenv.c: New file.
16258
0e9e51ec 162592008-07-01 Pavel Roskin <proski@gnu.org>
16260
d89b7634 16261 * include/multiboot2.h (struct multiboot_tag_module): Use char,
16262 not unsigned char. This fixes warnings and is consistent with
16263 other tags.
16264
bf1835b1 16265 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
16266
8222a04b 16267 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
16268
6a42d99d 16269 * term/tparm.c (analyze): Always set *popcount.
16270
10b159d1 16271 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
16272 cast to fix a warning.
16273
b8789f6c 16274 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
16275 cast to suppress a warning.
16276
29d7e38a 16277 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
16278 grub_fshelp_read_file() expects.
16279
f341f669 16280 * fs/fat.c: Fix UUID calculation on big-endian systems. We
16281 write uuid as a 32-bit value in CPU byte order, so declare and
16282 use it as such.
16283
0e9e51ec 16284 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
16285 long if the format specifier expects it.
16286 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
16287 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16288 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
16289 long to fix a warning.
16290 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
16291 grub_dprintf() arguments to fix warnings.
16292
3aefa857 162932008-06-30 Pavel Roskin <proski@gnu.org>
16294
56c7668b 16295 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
16296 install_bsd_part immediately before core.img is embedded or
16297 modified on disk. This fixes core.img verification if core.img
16298 cannot be embedded.
16299
3aefa857 16300 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
16301 core_path to calculate the blocklist.
16302 Patch from Javier Martín <lordhabbit@gmail.com>
16303
5444088d 163042008-06-29 Robert Millan <rmh@aybabtu.com>
16305
16306 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
16307 block to disk block.
16308 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
16309 Patch from Niels Böhm <bitbucket@arcor.de>
16310
674835c8 163112008-06-29 Robert Millan <rmh@aybabtu.com>
16312
16313 * util/update-grub_lib.in (font_path): Search for fonts in
16314 /boot/grub first, which is more likely to be readable (we aren't
16315 deciding where fonts live, just looking for them).
16316
f527dbc8 163172008-06-26 Pavel Roskin <proski@gnu.org>
16318
6c2d8df6 16319 * util/biosdisk.c (read_device_map): Don't leave dead map
16320 entries for devices failing stat() check.
16321
f527dbc8 16322 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
16323 core_path_dev for the core.img path on the target device.
16324
aebe3d13 163252008-06-26 Robert Millan <rmh@aybabtu.com>
16326
16327 * disk/fs_uuid.c: New file.
16328 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
16329 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
16330 (fs_uuid_mod_LDFLAGS): New variables.
16331 * include/grub/disk.h (grub_disk_dev_id): Add
16332 `GRUB_DISK_DEVICE_UUID_ID'.
16333 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
16334 implement iterate().
16335
37aaf354 163362008-06-26 Robert Millan <rmh@aybabtu.com>
16337
16338 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
16339 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
16340 Linux image includes no initrd.
16341
25ff262a 163422008-06-21 Javier Martín <lordhabbit@gmail.com>
16343
16344 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
16345 call to resolve the core image location that effectively appended the
16346 name twice.
16347
76a2bd44 163482008-06-21 Robert Millan <rmh@aybabtu.com>
16349
16350 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
16351 call from here ...
16352
16353 * util/grub.d/10_hurd.in: ... to here ...
16354 * util/grub.d/10_linux.in: ... and here.
16355
650e1c79 163562008-06-19 Robert Millan <rmh@aybabtu.com>
16357
fe987087 16358 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 16359 after it has been set by grub_machine_set_prefix().
16360
6ce63911 163612008-06-19 Robert Millan <rmh@aybabtu.com>
16362
16363 * commands/search.c (search_label, search_fs_uuid, search_file): Print
16364 search result when not saving to variable, not the other way around.
16365 When saving to variable, abort iteration as soon as a match is found.
16366
73940cec 163672008-06-19 Robert Millan <rmh@aybabtu.com>
16368
16369 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
16370 check for partition that provides /boot/grub. Its logic is flawed,
16371 as it prevents prepare_grub_to_access_device() from being called
16372 multiple times.
16373
3c62a39d 163742008-06-19 Robert Millan <rmh@aybabtu.com>
16375
16376 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
16377 "insmod" command directly when abstraction modules are needed,
fe987087 16378 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 16379 since it had already been processed).
16380
47395a42 163812008-06-19 Pavel Roskin <proski@gnu.org>
16382
16383 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
16384 changed. This is needed in case GRUB_LIBDIR changes.
16385 * conf/i386-ieee1275.rmk: Likewise.
16386 * conf/i386-linuxbios.rmk: Likewise.
16387 * conf/i386-pc.rmk: Likewise.
16388 * conf/powerpc-ieee1275.rmk: Likewise.
16389
a145ac2d 163902008-06-18 Pavel Roskin <proski@gnu.org>
16391
16392 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
16393 kernel_elf_symlist.c to symlist.c for consistency with other
16394 architectures. Update all users.
16395 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16396
7847c51e 163972008-06-18 Robert Millan <rmh@aybabtu.com>
16398
16399 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
16400 it in prefix.
16401
16402 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
16403 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
16404 a RAID device, run setup() for all members independently on whether
16405 LVM abstraction is being used.
16406 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
16407 If grub-mkimage has set `*install_dos_part == -2', don't override this
16408 value.
16409 Perform *install_dos_part adjustments independently on whether
16410 we're embedding or not.
16411 Clarify error message when image is too big for embedding.
16412 Remove duplicate *install_dos_part stanza.
16413
b23e5644 164142008-06-17 Robert Millan <rmh@aybabtu.com>
16415
16416 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
16417 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
16418 variables.
16419 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
16420 values in grub_ofconsole_normal_color and
16421 grub_ofconsole_highlight_color (they're not directly related to
16422 background and foreground).
16423 (grub_ofconsole_setcolorstate): Extract background and foreground
16424 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
16425
0aac2f79 164262008-06-17 Robert Millan <rmh@aybabtu.com>
16427
16428 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
16429 /boot/grub for the check in last commit, not /boot (they could be
16430 different partitions).
16431
3cca7ef3 164322008-06-16 Robert Millan <rmh@aybabtu.com>
16433
16434 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
16435 asked to setup access for the same partition that provides /boot,
16436 don't bother using UUIDs since our root already has the value we
16437 want.
16438
347396d8 164392008-06-16 Robert Millan <rmh@aybabtu.com>
16440
16441 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
16442 I2O devices.
16443 Patch from Sven Mueller <sven@debian.org>.
16444
991477f8 164452008-06-16 Robert Millan <rmh@aybabtu.com>
16446
16447 * util/update-grub.in: Check for $EUID instead of $UID.
16448 Reported by Vincent Zweije.
16449
d31a32a1 164502008-06-16 Bean <bean123ch@gmail.com>
16451
fe987087 16452 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 16453 (grub_ext2_read_block): Likewise.
16454 (grub_ext2_read_inode): Likewise.
16455 (grub_ext2_mount): Likewise.
16456 (grub_ext2_close): Likewise.
16457 (grub_ext3_get_journal): Removed.
16458
fe987087 16459 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 16460 (grub_reiserfs_read_symlink): Likewise.
16461 (grub_reiserfs_mount): Likewise.
16462 (grub_reiserfs_open): Likewise.
16463 (grub_reiserfs_read): Likewise.
16464 (grub_reiserfs_close): Likewise.
16465 (grub_reiserfs_get_journal): Removed.
16466
16467 * fs/fshelp.c (grub_fshelp_read): Removed.
16468 (grub_fshelp_map_block): Likewise.
16469
16470 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
16471 (grub_fshelp_journal): Likewise.
16472 (grub_fshelp_read): Likewise.
16473 (grub_fshelp_map_block): Likewise.
16474
3540a760 164752008-06-16 Pavel Roskin <proski@gnu.org>
16476
16477 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
16478 floating point anymore.
16479 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
16480
95614c84 164812008-06-15 Pavel Roskin <proski@gnu.org>
16482
16483 * commands/ls.c (grub_ls_list_files): Use integer calculations
16484 for human readable format, avoid floating point use.
16485 * kern/misc.c (grub_ftoa): Remove.
16486 (grub_vsprintf): Remove floating point support.
16487
50465dd6 164882008-06-15 Robert Millan <rmh@aybabtu.com>
16489
fe6b695a 16490 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 16491 devices.
16492 Reported by Max Vozeler.
16493
a9207284 164942008-06-15 Robert Millan <rmh@aybabtu.com>
16495
16496 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
16497 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
16498 skipped later.
16499 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
16500 the beginning of the prefix.
16501
16502 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
16503 It is assumed that if we have a memdisk, grub-mkimage has set
16504 grub_prefix to include the "(memdisk)" drive in it.
16505
a7cbd45a 165062008-06-15 Robert Millan <rmh@aybabtu.com>
16507
16508 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
16509 Initialize keyboard controller after registering the terminal, so that
16510 grub_printf() can be called from grub_keyboard_controller_init().
16511
21cf716a 165122008-06-15 Robert Millan <rmh@aybabtu.com>
16513
16514 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
16515 extent-btree which is written as big endian on disk.
16516 Reported by Alain Greppin <al@chilibi.org>.
16517
23a64d8e 165182008-06-14 Robert Millan <rmh@aybabtu.com>
16519
16520 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
16521 * util/i386/pc/grub-install.in (modules): Likewise.
16522
d687651c 165232008-06-13 Pavel Roskin <proski@gnu.org>
16524
16525 * commands/ls.c (grub_ls_list_files): Fix format warnings.
16526
dfe9ddd4 165272008-06-13 Bean <bean123ch@gmail.com>
16528
16529 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
16530
16531 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
16532
16533 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
16534 to indicate sparse block.
16535
16ae7781 165362008-06-12 Pavel Roskin <proski@gnu.org>
16537
e6d1a308 16538 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
16539 number, grub_fshelp_read() does it for us.
16540
16ae7781 16541 * fs/fshelp.c (grub_fshelp_read): New function. Implement
16542 linear disk read with journal translation.
16543 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
16544 * include/grub/fshelp.h: Declare grub_fshelp_read().
16545
40fd3a2b 165462008-06-09 Pavel Roskin <proski@gnu.org>
16547
16548 * fs/minix.c (grub_minix_mount): Handle error reading
16549 superblock.
16550
f5679726 165512008-06-08 Robert Millan <rmh@aybabtu.com>
16552
16553 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
16554 don't append the RAID prefix afterwards.
16555 Reported by Clint Adams.
16556
ce525529 165572008-06-08 Robert Millan <rmh@aybabtu.com>
16558
16559 Based on description from Pavel:
16560 * kern/disk.c (grub_disk_check_range): Rename to ...
16561 (grub_disk_adjust_range): ... this. Add a comment explaining the
16562 tasks performed by this function.
16563
ad4936a0 165642008-06-08 Robert Millan <rmh@aybabtu.com>
16565
16566 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
16567 `num_serial' (for consistency with other variables).
16568 (struct grub_ntfs_data): Add `uuid' member.
16569 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
16570 (grub_ntfs_uuid): New function.
16571 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
16572
dc20b0f9 165732008-06-07 Pavel Roskin <proski@gnu.org>
16574
16575 * util/biosdisk.c (open_device): Revert last change to the
16576 function, it broke installation. The sector needs to be
16577 different dependent on which device is opened.
16578
c5e3cfba 165792008-06-06 Robert Millan <rmh@aybabtu.com>
16580
16581 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
16582 rest of GRUB, and breakage doesn't happen if its value were modified.
16583
16584 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16585 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
16586 a constant (same value).
16587 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
16588 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
16589
26a1f8c4 165902008-06-06 Robert Millan <rmh@aybabtu.com>
16591
16592 * util/biosdisk.c (open_device): Do not modify sector offset when
16593 accessing a partition. kern/disk.c already handles this for us.
16594
25d6b327 165952008-06-06 Robert Millan <rmh@aybabtu.com>
16596
16597 * util/grub-emu.c (grub_machine_init): Move code in this function from
16598 here ...
16599 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
16600 segfault in case grub_printf() is called).
16601
16602 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
16603 grub_probe. Update all users not to explicitly add it again.
16604 (grub_device): New variable; contains corresponding device for grubdir.
16605 (fs_module, partmap_module, devabstraction_module): Pass
16606 `--device ${grub_device}' to grub_probe to avoid traversing /dev
16607 every time.
16608
9ece62fb 166092008-06-05 Robert Millan <rmh@aybabtu.com>
16610
16611 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
16612 is found, print it (same layout as with labels).
16613
1ad36d37 166142008-06-04 Robert Millan <rmh@aybabtu.com>
16615
16616 * util/biosdisk.c (get_drive): Rename to ...
16617 (find_grub_drive): ... this. Update all users.
16618
16619 (get_os_disk): Rename to ...
16620 (convert_system_partition_to_system_disk): ... this. Update all users.
16621
16622 (find_drive): Rename to ...
16623 (find_system_device): ... this. Update all users.
16624
e6a30859 166252008-06-04 Robert Millan <rmh@aybabtu.com>
16626
16627 * util/biosdisk.c (get_os_disk): Handle IDA devices.
16628 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16629 (make_device_map): Likewise.
16630
00c108a4 166312008-06-01 Robert Millan <rmh@aybabtu.com>
16632
16633 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
16634 before dereferencing it.
16635
16636 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
16637 union with fat12/fat16-specific ones. Add some new fields, including
16638 `num_serial' for both versions.
16639 (struct grub_fat_data): Add `uuid' member.
16640 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
16641 names. Initialize `data->uuid' using `num_serial'.
16642 (grub_fat_uuid): New function.
16643 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
16644
16645 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
16646 (grub_reiserfs_uuid): New function.
16647 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
16648 member.
16649
16650 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
16651 (grub_xfs_uuid): New function.
16652 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
16653
1385c5bb 166542008-06-01 Robert Millan <rmh@aybabtu.com>
16655
16656 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
16657 code that is backward compatible with pre-uuid search command.
16658
c682dfd7 166592008-05-31 Robert Millan <rmh@aybabtu.com>
16660
16661 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
16662 floppies after everything else, to ensure floppy drive isn't accessed
16663 unnecessarily (patch from Bean).
16664
b7db5d47 166652008-05-31 Robert Millan <rmh@aybabtu.com>
16666
16667 * commands/search.c (search_label, search_fs_uuid, search_file): Do
16668 not print device names when we were asked to set a variable.
16669
6e037aa9 166702008-05-31 Robert Millan <rmh@aybabtu.com>
16671
16672 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
16673 using "cursor-on" and "cursor-off" commands (understood at least by
16674 the Open Firmware flavour on OLPC).
16675
41305bc8 166762008-05-31 Michael Gorven <michael@gorven.za.net>
16677
16678 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
16679 on and off sequences.
16680
69ba137e 166812008-05-31 Robert Millan <rmh@aybabtu.com>
16682
16683 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
16684 * util/update-grub.in: Likewise.
16685
520ae21b 166862008-05-30 Pavel Roskin <proski@gnu.org>
16687
16688 * util/biosdisk.c (linux_find_partition): Simplify logic and
16689 make the code more universal. Keep special processing for
16690 devfs, but use a simple rule for all other devices. If the
16691 device ends with a number, append 'p' and the partition number.
16692 Otherwise, append only the partition number.
16693
5786569b 166942008-05-30 Robert Millan <rmh@aybabtu.com>
16695
16696 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
16697 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
16698 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
16699 the `root' parameter to Linux.
16700
51500452 167012008-05-30 Robert Millan <rmh@aybabtu.com>
16702
16703 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
16704 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
16705 --fs_uuid with --fs-uuid.
16706 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
16707 all filesystems support them).
16708
811d3878 167092008-05-30 Robert Millan <rmh@aybabtu.com>
16710
16711 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 16712 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 16713
cab63c95 167142008-05-30 Robert Millan <rmh@aybabtu.com>
16715
16716 * util/grub.d/00_header.in: Remove obsolete comment referencing
16717 convert_system_path_to_grub_path().
16718 * util/update-grub.in: Likewise.
16719 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
16720 (convert_system_path_to_grub_path): Add a warning message explaining
16721 that this function is deprecated. Rely on is_path_readable_by_grub()
16722 for the readability checks.
16723 (font_path): Use is_path_readable_by_grub() for the readability
16724 check rather than convert_system_path_to_grub_path().
16725
972e2f7a 167262008-05-30 Robert Millan <rmh@aybabtu.com>
16727
16728 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
16729 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
16730 converting it first.
16731 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
16732 grub.cfg for access to font file, and afterwards call it again to set
16733 the root device.
16734
62191274 167352008-05-30 Robert Millan <rmh@aybabtu.com>
16736
16737 * commands/search.c (options): Add --fs_uuid option.
16738 (search_fs_uuid): New function.
16739 (grub_cmd_search): Fix --set argument passing.
16740 Use search_fs_uuid() when requested via --fs_uuid.
16741 (grub_search_init): Update help message.
16742 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
16743 and redeclare it as an array of 16-bit words.
16744 (grub_ext2_uuid): New function.
16745 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
16746 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
16747 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
16748 (GRUB_DEVICE_BOOT_UUID): New variables.
16749 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
16750 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
16751 whenever possible.
16752 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
16753 just assume `root' variable has the right value.
16754 * util/grub.d/10_linux.in: Likewise.
16755 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
16756 via PRINT_FS_UUID.
16757 (main): Recognise `-t fs_uuid' argument.
16758
01b73ec8 167592008-05-30 Robert Millan <rmh@aybabtu.com>
16760
16761 * util/biosdisk.c (map): Redefine structure to hold information
16762 about GRUB drive name.
fe6b695a 16763 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 16764 drive names.
16765 (call_hook): Remove.
16766 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
16767 member. Assume drive has partitions.
16768 (grub_util_biosdisk_open): Access device names via `.device' struct
16769 member.
16770 (open_device): Likewise.
16771 (find_drive): Likewise.
16772 (read_device_map): Adjust map[] usage to match the new struct
16773 definition. Don't check for duplicates (still possible, but not cheap
16774 anymore).
16775 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
16776 (make_device_name): Remove assumption of BIOS-like drive names.
16777
22f16596 167782008-05-30 Pavel Roskin <proski@gnu.org>
16779
16780 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
16781 compiling execute.c doesn't need grub_script.tab.h anymore.
16782 (normal/command.c_DEPENDENCIES): Likewise.
16783 (normal/function.c_DEPENDENCIES): Likewise.
16784 * conf/i386-ieee1275.rmk: Likewise.
16785 * conf/i386-linuxbios.rmk: Likewise.
16786 * conf/i386-pc.rmk: Likewise.
16787 * conf/powerpc-ieee1275.rmk: Likewise.
16788 * conf/sparc64-ieee1275.rmk: Likewise.
16789
528ad8f2 167902008-05-29 Pavel Roskin <proski@gnu.org>
16791
d1dff95d 16792 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
16793 when scanning metadata for volume group name.
16794
528ad8f2 16795 * include/grub/script.h: Don't include grub_script.tab.h. It's
16796 a generated file, which may only be included from the files with
16797 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
16798 use union YYSTYPE, as the later allows forward declaration.
16799 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
16800
47248e08 168012008-05-29 Robert Millan <rmh@aybabtu.com>
16802
16803 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
16804 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
16805 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
16806 (grub_console_checkkey): Add grub_dprintf() call to report unknown
16807 scan codes.
16808
ee632529 168092008-05-29 Robert Millan <rmh@aybabtu.com>
16810
16811 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
16812 control key combinations.
16813
eee96e08 168142008-05-29 Robert Millan <rmh@aybabtu.com>
16815
16816 * util/powerpc/ieee1275/grub-install.in: Move from here ...
16817 * util/ieee1275/grub-install.in: ... to here.
16818 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
16819 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
16820 (grub_install_SOURCES): Likewise.
16821
da9a6a94 168222008-05-29 Robert Millan <rmh@aybabtu.com>
16823
16824 * fs/affs.c: Update copyright year.
16825 * fs/ext2.c: Likewise.
16826 * fs/fshelp.c: Likewise.
16827 * fs/hfsplus.c: Likewise.
16828 * fs/ntfs.c: Likewise.
16829 * fs/xfs.c: Likewise.
16830 * include/grub/fshelp.h: Likewise.
16831 * util/grub-mkdevicemap.c: Likewise.
16832
12e65f3a 168332008-05-28 Robert Millan <rmh@aybabtu.com>
16834
16835 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
16836 might need to be fatfs to support some firmware implementations
16837 (e.g. OFW or EFI).
16838
23023641 168392008-05-28 Robert Millan <rmh@aybabtu.com>
16840
16841 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
16842 devices.
16843 * util/grub-mkdevicemap.c (get_mmc_disk_name)
16844 (make_device_map): Likewise.
16845
887d2619 168462008-05-20 Bean <bean123ch@gmail.com>
16847
16848 * fs/fshelp.c (grub_fshelp_map_block): New function.
16849 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
16850 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
16851
16852 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
16853 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
16854 (grub_fshelp_journal): New structure.
16855 (grub_fshelp_map_block): New function prototype.
16856 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
16857 (grub_fshelp_map_block): Likewise.
16858
16859 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
16860 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
16861 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
16862 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
16863 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
16864 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
16865 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
16866 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
16867 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
16868 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
16869 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
16870 (grub_ext2_sblock): New members for journal support.
16871 (grub_ext3_journal_header): New structure.
16872 (grub_ext3_journal_revoke_header): Likewise.
16873 (grub_ext3_journal_block_tag): Likewise.
16874 (grub_ext3_journal_sblock): Likewise.
16875 (grub_fshelp_node): New members logfile and journal.
16876 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
16877 grub_fshelp_map_block to get real block number.
16878 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
16879 number.
16880 (grub_ext2_read_inode): Likewise.
16881 (grub_ext3_get_journal): New function.
16882 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
16883 (grub_ext2_close): Release memory used by journal.
16884
16885 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
16886 (REISERFS_MAGIC_DESC_BLOCK): New macro.
16887 (grub_reiserfs_transaction_header): Renamed to
16888 grub_reiserfs_description_block, replace field data with real_blocks.
16889 (grub_reiserfs_commit_block): New structure.
16890 (grub_reiserfs_data): New member journal.
16891 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
16892 number.
16893 (grub_reiserfs_read_symlink): Likewise.
16894 (grub_reiserfs_iterate_dir): Likewise.
16895 (grub_reiserfs_open): Likewise.
16896 (grub_reiserfs_read): Likewise.
16897 (grub_reiserfs_get_journal): New function.
16898 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
16899 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
16900 using grub_reiserfs_get_journal.
16901 (grub_reiserfs_close): Release memory used by journal.
16902
16903 * fs/affs.c (grub_affs_read_block): Change block type to
16904 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
16905
16906 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
16907
16908 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
16909
16910 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
16911
16912 * fs/udf.c (grub_udf_read_block): Change block type to
16913 grub_disk_addr_t. Use type cast to avoid warning.
16914
16915 * fs/xfs.c (grub_xfs_read_block): Likewise.
16916
b7c6bed5 169172008-05-16 Christian Franke <franke@computer.org>
16918
16919 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
16920 to ensure that break with ESC will always work.
16921 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
16922 Remove ESC from keyboard queue.
16923
eedf167f 169242008-05-16 Christian Franke <franke@computer.org>
16925
16926 * util/biosdisk.c: [__CYGWIN__] Add includes.
16927 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
16928 (get_os_disk): Move variable declarations to OS specific
16929 parts to avoid warning.
16930 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
16931 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
16932 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
16933 Cygwin.
16934 * util/getroot.c: [__CYGWIN__] Add includes.
16935 (strip_extra_slashes): Fix "/" case.
16936 [__CYGWIN__] (get_win32_path): New function.
16937 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
16938 [__CYGWIN__] (find_root_device): Disable.
16939 [__CYGWIN__] (get_bootsec_serial): New function.
16940 [__CYGWIN__] (find_cygwin_root_device): Likewise.
16941 [__linux__] (grub_guess_root_device): Add early returns to simplify
16942 structure.
16943 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
16944 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
16945 check for Linux only.
16946
a079699e 169472008-05-15 Bean <bean123ch@gmail.com>
16948
16949 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
16950 keyboard hang problem in apple's intel mac.
16951
1cf4059a 169522008-05-09 Robert Millan <rmh@aybabtu.com>
16953
16954 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
16955 devices.
16956 * util/grub-mkdevicemap.c (get_virtio_disk_name)
16957 (make_device_map): Likewise.
16958 Reported by Aurelien Jarno <aurel32@debian.org>
16959
ed759390 169602008-05-07 Ian Campbell <ijc@hellion.org.uk>
16961
16962 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
16963 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
16964 (make_device_map): Output entries for xvd type disks.
16965
b56c4eaa 169662008-05-07 Robert Millan <rmh@aybabtu.com>
16967
16968 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
16969 devices.
16970 * util/grub-mkdevicemap.c (get_cciss_disk_name)
16971 (make_device_map): Likewise.
16972 Reported by Roland Dreier <rdreier@cisco.com>
16973
7f8866ed 169742008-05-07 Robert Millan <rmh@aybabtu.com>
16975
16976 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
16977 grub_strstr() call. Correct a few mistakes in failure path handling.
16978
b0346e0f 169792008-05-06 Robert Millan <rmh@aybabtu.com>
16980
16981 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16982 Do not print a trailing slash (therefore, the root directory is an
16983 empty string).
16984 (convert_system_path_to_grub_path): Do not remove trailing slash
16985 from make_system_path_relative_to_its_root() output.
16986
16987 * util/i386/pc/grub-install.in: Add trailing slash to output from
16988 make_system_path_relative_to_its_root().
16989
6cf12cbd 169902008-05-06 Robert Millan <rmh@aybabtu.com>
16991
16992 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
16993 ensures that output lines aren't intermangled with those sent to
16994 stderr (via grub_util_info()).
16995 * util/grub-probe.c (grub_refresh): Likewise.
16996 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
16997
0fbb3117 169982008-05-05 Christian Franke <franke@computer.org>
16999
17000 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17001 Add Cygwin device names.
17002 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17003 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17004 (check_device): Return error instead of success on empty name.
17005 (make_device_map): Move label inside linux specific code to
17006 prevent compiler warning.
17007
8124cdb7 170082008-04-30 Robert Millan <rmh@aybabtu.com>
17009
17010 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17011 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17012 first boot option.
17013 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17014
094c01d0 170152008-04-29 Robert Millan <rmh@aybabtu.com>
17016
17017 * docs/grub.cfg: New file (example GRUB configuration).
17018
f4b1fc02 170192008-04-26 Robert Millan <rmh@aybabtu.com>
17020
329ce2a5 17021 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17022 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17023 and `disk/ieee1275/nand.c'.
f4b1fc02 17024
25f16ec1 170252008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 17026
25f16ec1 17027 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17028 i386-linuxbios.
17029
17030 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17031 change the buffer size to 4096 for cdrom device.
17032
17033 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17034 and nand.mod.
17035 (_linux_mod_SOURCES): New variable.
17036 (_linux_mod_CFLAGS): Likewise.
17037 (_linux_mod_LDFLAGS): Likewise.
17038 (linux_mod_SOURCES): Likewise.
17039 (linux_mod_CFLAGS): Likewise.
17040 (linux_mod_LDFLAGS): Likewise.
17041 (nand_mod_SOURCES): Likewise.
17042 (nand_mod_CFLAGS): Likewise.
17043 (nand_mod_LDFLAGS): Likewise.
17044
17045 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17046 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17047 type property. (nand device in olpc don't have this property)
17048
17049 * include/grub/disk.h (grub_disk_dev_id): New macro
17050 GRUB_DISK_DEVICE_NAND_ID.
17051
17052 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17053 function prototype.
17054 (grub_rescue_cmd_initrd): Likewise.
17055
17056 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17057 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17058 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 17059
25f16ec1 17060 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17061 GRUB_MACHINE_IEEE1275 is defined.
17062
17063 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17064 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17065
17066 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17067 on nested function heap_init.
17068 (grub_upper_mem): New variable for i386-ieee1275.
17069 (grub_get_extended_memory): New function for i386-ieee1275.
17070 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17071
17072 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17073 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17074 property.
f19dbdb7 17075
25f16ec1 17076 * loader/i386/ieee1275/linux.c: New file.
17077
17078 * loader/i386/ieee1275/linux_normal.c: New file.
17079
17080 * disk/ieee1275/nand.c: New file.
17081
e89d61e9 170822008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17083
17084 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17085 value.
17086 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17087
602566f6 170882008-04-18 Robert Millan <rmh@aybabtu.com>
17089
17090 Restructures early code path on ieee1275 to unify grub_main() as
17091 the first C function that is executed in every platform.
17092
17093 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17094 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17095 cmain().
17096 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17097 * kern/ieee1275/cmain.c (cmain): Rename to ...
17098 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17099 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17100 at the beginning.
17101
57490c2b 171022008-04-18 Robert Millan <rmh@aybabtu.com>
17103
17104 * util/update-grub.in: Fix syntax error when setting
17105 `GRUB_PRELOAD_MODULES'.
17106 Reported by Stephane Chazelas <stephane@artesyncp.com>
17107
1977517d 171082008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17109
17110 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17111 section into account, newer toolchains generate unique build ids
17112 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 17113 we want build ids to be preserved
1977517d 17114 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17115 far from other sections don't cause the raw binary images grow
17116 size
17117
bfb1f1a2 171182008-04-15 Robert Millan <rmh@aybabtu.com>
17119
17120 * disk/lvm.c: Update copyright year.
17121 * kern/misc.c: Likewise.
17122
01979850 171232008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17124
17125 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 17126 there is no memory left for physical volume name.
01979850 17127
0a1150e2 171282008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17129
17130 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17131 volume name mapping to support bigger than 9 character names properly.
17132
82ead3fe 171332008-04-13 Robert Millan <rmh@aybabtu.com>
17134
17135 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17136 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17137
e54a72f5 171382008-04-13 Christian Franke <franke@computer.org>
17139
17140 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17141 to create a floppy emulation boot CD when non emulation mode
17142 does not work.
17143 Enable Joliet CD filesystem extension.
17144
9fe86034 171452008-04-13 Robert Millan <rmh@aybabtu.com>
17146
17147 * kern/misc.c (grub_strncat): Fix off-by-one error.
17148 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17149
17150 * kern/env.c (grub_env_context_close): Clear current context, not
17151 previous one.
17152 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17153
17154 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17155
7ceeee39 171562008-04-13 Robert Millan <rmh@aybabtu.com>
17157
17158 Improve robustness when handling LVM.
17159
17160 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 17161 (and leave `*p' unmodified).
7ceeee39 17162 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17163 through it.
17164 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17165 iterating through it.
17166 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17167 through it.
fe6b695a 17168 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 17169 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17170 Don't assume `vg->pvs != NULL' when iterating through it.
17171
58cd3d85 171722008-04-13 Robert Millan <rmh@aybabtu.com>
17173
17174 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
17175 * genmk.rb (partmap): New variable.
17176 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
17177 (#{partmap}): New target rule.
17178 * genpartmaplist.sh: New file.
17179 * Makefile.in (pkglib_DATA): Add partmap.lst.
17180 (partmap.lst): New target rule.
17181 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
17182 modules (including all partition maps), instead of preloading them.
17183
78b51059 171842007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
17185
17186 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
17187 `linux-boot-prober' (if installed) to detect other operating
17188 systems which are installed on the computer and add them to
17189 the boot menu.
17190 * conf/common.rmk: Build and install 30_os-prober.
17191
a91627b4 171922008-04-12 Robert Millan <rmh@aybabtu.com>
17193
17194 * kern/powerpc/ieee1275/init.c: Move from here ...
17195 * kern/ieee1275/init.c: ... to here. Update all users.
17196
17197 * kern/powerpc/ieee1275/cmain.c: Move from here ...
17198 * kern/ieee1275/cmain.c: ... to here. Update all users.
17199
17200 * kern/powerpc/ieee1275/openfw.c: Move from here ...
17201 * kern/ieee1275/openfw.c: ... to here. Update all users.
17202
17203 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
17204 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
17205
322562ea 172062008-04-10 Pavel Roskin <proski@gnu.org>
17207
17208 * configure.ac: Always use "_cv_" in cache variables for
17209 compatibility with Autoconf 2.62.
17210
a02a73c5 172112008-04-07 Robert Millan <rmh@aybabtu.com>
17212
17213 Revert grub/machine/init.h addition by Pavel (since it breaks on
17214 i386-ieee1275 and others):
17215 * util/i386/pc/misc.c: Remove grub/machine/init.h.
17216 * util/powerpc/ieee1275/misc.c: Likewise.
17217
25c024b1 172182008-04-07 Robert Millan <rmh@aybabtu.com>
17219
17220 * util/grub-probe.c (probe): Improve error message.
17221
3cbd2f98 172222008-04-07 Robert Millan <rmh@aybabtu.com>
17223
17224 * util/biosdisk.c (read_device_map): Skip devices that don't exist
17225 (this prevents the presence of a bogus entry from ruining the whole
17226 thing).
17227
87a297bf 172282008-04-06 Pavel Roskin <proski@gnu.org>
17229
36747a62 17230 * util/biosdisk.c: Include grub/util/biosdisk.h.
17231 * util/grub-fstest.c (execute_command): Make static.
17232 * util/grub-mkdevicemap.c (check_device): Likewise.
17233 * util/i386/pc/misc.c: Include grub/machine/init.h.
17234 * util/powerpc/ieee1275/misc.c: Likewise.
17235 * util/lvm.c: Include grub/util/lvm.h.
17236 * util/misc.c: Include grub/kernel.h, grub/misc.h and
17237 grub/cache.h.
17238 * util/raid.c: Include grub/util/raid.h.
17239 (grub_util_getdiskname): Make static.
17240
87a297bf 17241 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
17242 grub_hostfs_fini(), as they are called from grub_init_all() and
17243 grub_fini_all() respectively. This fixes an infinite loop in
17244 grub-fstest due to double registration of hostfs.
17245 Reported by Christian Franke <Christian.Franke@t-online.de>
17246
f6ce7629 172472008-04-05 Pavel Roskin <proski@gnu.org>
17248
17249 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
17250 all 8 functions. Otherwise, probe function 0 only.
17251
070e49e4 172522008-04-04 Pavel Roskin <proski@gnu.org>
17253
8b088a4c 17254 * commands/lspci.c (grub_lspci_iter): Print the bus number
17255 correctly.
17256
4f657021 17257 * commands/lspci.c (grub_pci_classes): Fix typos.
17258 (grub_lspci_iter): Don't print func twice. Print vendor ID
17259 before device ID, as it's normally done.
17260
070e49e4 17261 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17262 Fix signedness warnings.
17263 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
17264 Likewise.
17265 * util/ieee1275/get_disk_name.c: Include config.h so that
17266 _GNU_SOURCE is defined and getline() is declared. Mark an
17267 unused argument as such. Fix a signedness warning.
17268
ba7328dc 172692008-04-02 Pavel Roskin <proski@gnu.org>
17270
26887f22 17271 * genkernsyms.sh.in: Use more robust assignments for CC and
17272 srcdir. Quote srcdir.
17273 * gensymlist.sh.in: Likewise. Assert at the compile time that
17274 the symbol table is not empty.
17275
ba7328dc 17276 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
17277 * fs/cpio.c (grub_cpio_read): Likewise.
17278
0f582c6b 172792008-04-01 Pavel Roskin <proski@gnu.org>
17280
4b6e1995 17281 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
17282 * disk/host.c (grub_host_open): Likewise.
17283 * disk/loopback.c (grub_loopback_open): Likewise.
17284 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
17285 disk->id as in disk/host.c, not a multi-character constant.
17286
828a2768 17287 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
17288 later is obsolete, potentially dangerous and sets a bad example.
17289 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
17290 * util/misc.c (grub_util_get_image_size): Likewise.
17291
2bb4fb47 17292 * disk/loopback.c (options): Improve help for "--partitions".
17293
0f582c6b 17294 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
17295 options to align them with the short options, e.g. "echo -e".
17296
a33224e0 172972008-03-31 Bean <bean123ch@gmail.com>
17298
17299 * video/reader/png.c (grub_png_data): New member is_16bit and
17300 image_data.
17301 (grub_png_decode_image_header): Detect 16 bit png image.
17302 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
17303 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
17304 (grub_video_reader_png): Release memory occupied by image_data.
17305
17306 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
17307 4096 bytes.
17308 (grub_nfs_mount): Skip the test for sector per cluster.
17309
17310 * include/grub/ntfs.h (MAX_SPC): Removed.
17311
86cb4f54 173122008-03-31 Bean <bean123ch@gmail.com>
17313
17314 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
17315 (grub_probe_SOURCES): Add fs/afs.c.
17316 (grub_fstest_SOURCES): Likewise.
17317 (afs_mod_SOURCES): New variable.
17318 (afs_mod_CFLAGS): Likewise.
17319 (afs_mod_LDFLAGS): Likewise.
17320
17321 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
17322 (grub_emu_SOURCES): Likewise.
17323
17324 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17325
17326 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17327
17328 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17329
17330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17331
17332 * fs/afs.c: New file.
17333
17c74c21 173342008-03-30 Pavel Roskin <proski@gnu.org>
17335
4cb68e89 17336 * disk/host.c: Include grub/misc.h to fix a warning.
17337 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
17338 warnings about implicit declarations.
17339
8790bb04 17340 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
17341 variable.
17342 * include/grub/i386/loader.h: Change declaration of
17343 grub_linux_boot() to match what grub_loader_set() expects.
17344 * util/getroot.c (grub_guess_root_device): Return const char* to
17345 fix a warning.
17346 * util/grub-probe.c (probe): Fix a warning about uninitialized
17347 abstraction_name variable.
17348 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
17349 second argument as unused to fix a warning.
17350
9a3f3296 17351 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
17352 missing grub_error() call.
17353
0ecef90d 17354 * util/update-grub_lib.in: Define datarootdir, since Autoconf
17355 2.60 and newer uses it to define datadir.
17356
0bf6d401 17357 * commands/sleep.c: Fix warning about implicit declaration.
17358 * disk/memdisk.c: Likewise.
17359 * loader/aout.c: Likewise.
17360 * loader/i386/bsd_normal.c: Likewise.
17361 * util/grub-probe.c: Likewise.
17362
7cdacf97 17363 * commands/i386/cpuid.c (has_longmode): Make static.
17364 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
17365 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
17366
17c74c21 17367 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
17368 GDT. This is more robust, as %ds can change.
17369 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
17370 calling real_to_prot().
17371 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
17372
80a3e68b 173732008-03-28 Pavel Roskin <proski@gnu.org>
17374
17375 * kern/i386/pc/startup.S: Assert that uncompressed functions
17376 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
17377 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
17378 code, as they push parts of the code (error handlers) beyond
17379 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
17380 code as correctness and size.
17381
77bcd272 173822008-03-28 Pavel Roskin <proski@gnu.org>
17383
17384 * kern/i386/pc/startup.S
17385 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
17386 data block address to the real mode, keep offset minimal. This
17387 works around a bug in AWARD BIOS on old Athlon systems, which
17388 makes CD detection hang.
17389
c5dfd43b 173902008-03-26 Pavel Roskin <proski@gnu.org>
17391
17392 * normal/color.c (grub_parse_color_name_pair): Make `name' a
17393 const.
17394 * include/grub/normal.h: Add grub_parse_color_name_pair()
17395 declaration.
17396
bf962df2 173972008-03-24 Bean <bean123ch@gmail.com>
17398
17399 * disk/i386/pc/biosdisk.c (cd_start): Removed.
17400 (cd_count): Removed.
17401 (cd_drive): New variable.
17402 (grub_biosdisk_get_drive): Don't check for (cdN) device.
17403 (grub_biosdisk_call_hook): Likewise.
17404 (grub_biosdisk_iterate): Change cdrom detection method.
17405 (grub_biosdisk_open): Replace cd_start with cd_drive.
17406 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
17407 detect cdrom device.
17408
17409 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
17410 Removed.
17411 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
17412 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
17413 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
17414 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
17415 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
17416 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
17417 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
17418 (grub_biosdisk_cdrp): New structure.
17419 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
17420
17421 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
17422
17423 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
17424 device.
17425
17426 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
17427 New function.
17428
68e7fc7a 174292008-03-20 Robert Millan <rmh@aybabtu.com>
17430
17431 Remove 2 TiB limit in ata.mod.
17432 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
17433 (grub_ata_dumpinfo): Print sector count with 0x%llx.
17434 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
17435 grub_uint64_t instead of grub_uint32_t.
17436
38ad2cf5 174372008-03-05 Bean <bean123ch@gmail.com>
17438
17439 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
17440 (grub_multiboot): Set boot device.
17441
17442 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
17443
2b89344e 174442008-03-02 Bean <bean123ch@gmail.com>
17445
17446 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
17447 symlink_buffer.
17448
87a95d1f 174492008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
17450
17451 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
17452 texinfo.tex.
17453
17454 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
17455 modified.
17456
17457 * docs/fdl.texi: New file.
f19dbdb7 17458
87a95d1f 17459 * docs/mdate-sh: New file. Copied from gnulib.
17460 * docs/texinfo.tex: Likewise.
17461
17462 * config.guess: Updated from gnulib.
17463 * install-sh: Likewise.
17464
7dc15d8e 174652008-02-28 Robert Millan <rmh@aybabtu.com>
17466
17467 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
17468 (aout_mod_SOURCES): New variable.
17469 (aout_mod_CFLAGS): Likewise.
17470 (aout_mod_LDFLAGS): Likewise.
17471
17472 * conf/i386-ieee1275.rmk: Likewise.
17473
b00ab696 174742008-02-28 Robert Millan <rmh@aybabtu.com>
17475
17476 * util/update-grub.in: Reorganise terminal validity check. Accept
17477 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
17478 Based on suggestion by Franklin PIAT.
17479
79ca2d78 174802008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
17481
17482 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
17483 function.
17484 * util/getroot.c (grub_util_check_block_device): New function that
17485 returns the given argument if it is a block device and returns NULL else.
17486 * util/grub-probe.c (argument_is_device): New variable.
17487 (probe): Promote device_name from a variable to an argument. Receive
17488 device_name from grub_util_check_block_device() if path is NULL and from
17489 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 17490 (options): Introduce new parameter '-d, --device'.
79ca2d78 17491 (main): Add description of the new parameter to the help screen.
17492 Rename path variable to argument. Set argument_is_device if the '-d'
17493 option is given. Pass argument to probe() depending on
17494 argument_is_device.
17495
0d16e571 174962008-02-24 Bean <bean123ch@gmail.com>
17497
17498 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
17499 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
17500 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
17501 (GRUB_ISO9660_VOLDESC_PART): Likewise.
17502 (GRUB_ISO9660_VOLDESC_END): Likewise.
17503 (grub_iso9660_primary_voldesc): New member escape.
17504 (grub_iso9660_data): New member joliet.
17505 (grub_iso9660_convert_string): New function.
17506 (grub_iso9660_mount): Detect joliet extension.
17507 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
17508 (grub_iso9660_iso9660_label): Likewise.
17509
17510 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
17511 (grub_setup_SOURCES): Add fs/udf.c.
17512 (grub_fstest_SOURCES): Likewise.
17513 (udf_mod_SOURCES): New variable.
17514 (udf_mod_CFLAGS): Likewise.
17515 (udf_mod_LDFLAGS): Likewise.
17516
17517 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
17518 (grub_emu_SOURCES): Likewise.
17519
17520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17521
17522 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17523
17524 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17525
17526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17527
17528 * fs/udf.c: New file.
17529
8a594a17 175302008-02-24 Robert Millan <rmh@aybabtu.com>
17531
17532 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
17533 (normal/lexer.c_DEPENDENCIES): New variables.
17534 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17535 (normal/lexer.c_DEPENDENCIES): Likewise.
17536 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
17537 (normal/lexer.c_DEPENDENCIES): Likewise.
17538 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
17539 (normal/lexer.c_DEPENDENCIES): Likewise.
17540 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17541 (normal/lexer.c_DEPENDENCIES): Likewise.
17542 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17543 (normal/lexer.c_DEPENDENCIES): Likewise.
17544
2dc33c03 175452008-02-23 Robert Millan <rmh@aybabtu.com>
17546
17547 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
17548 since they were intended to be in hex. This didn't break previously
17549 because of a bug in gpt_partition_map_iterate() (see below).
17550
17551 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
17552 when checking the validity of GPT header.
17553 Remove `partno', since it always provides the same information as `i'.
17554
f6f4cfb0 175552008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
17556
17557 * include/grub/efi/time.h: Fix a wrong comment.
17558
79ff665f 175592008-02-19 Pavel Roskin <proski@gnu.org>
17560
17561 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
17562 message.
17563
d38e24c2 175642008-02-19 Bean <bean123ch@gmail.com>
17565
17566 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
17567 (aout_mod_SOURCES): New variable.
17568 (aout_mod_CFLAGS): Likewise.
17569 (aout_mod_LDFLAGS): Likewise.
17570 (_bsd_mod_SOURCES): New variable.
17571 (_bsd_mod_CFLAGS): Likewise.
17572 (_bsd_mod_LDFLAGS): Likewise.
17573 (bsd_mod_SOURCES): New variable.
17574 (bsd_mod_CFLAGS): Likewise.
17575 (bsd_mod_LDFLAGS): Likewise.
17576
17577 * include/grub/aout.h: New file.
17578
17579 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
17580
17581 * include/grub/i386/bsd.h: New file.
17582
17583 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
17584 to make it public.
17585
17586 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
17587 function is called, so that it's possible to change it inside the hook.
17588 (grub_elf64_load): Likewise.
17589 (grub_elf_file): Don't close the file if elf header is not found.
17590 (grub_elf_close): Close the file if grub_elf_file fails (The new
17591 grub_elf_file won't close it).
17592 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
17593 (grub_elf64_size): Likewise.
17594
17595 * kern/i386/loader.S (grub_unix_real_boot): New function.
17596
17597 * loader/aout.c: New file.
17598
17599 * loader/i386/bsd.c: New file.
17600
17601 * loader/i386/bsd_normal.c: New file.
17602
17603 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
17604
17605 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 17606 can test other formats.
d38e24c2 17607
b93bdb0f 176082008-02-19 Robert Millan <rmh@aybabtu.com>
17609
17610 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
17611 (grub_gpt_partition_type_empty): Redefine with macro from
17612 `<grub/gpt_partition.h>'.
17613 (gpt_partition_map_iterate): Adjust partition type comparison.
17614
17615 Export `entry' as partmap-specific `part.data' struct.
17616 (grub_gpt_header, grub_gpt_partentry): Move from here ...
17617
17618 * include/grub/gpt_partition.h (grub_gpt_header)
17619 (grub_gpt_partentry): ... to here (new file).
17620
17621 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
17622
17623 (grub_gpt_partition_type_bios_boot): New const variable, defined
17624 with macro from `<grub/gpt_partition.h>'.
17625
17626 (setup): Replace `first_start' with `embed_region', which keeps
17627 track of the embed region (and is partmap-agnostic).
17628
17629 Replace find_first_partition_start() with find_usable_region(),
17630 which finds a usable region for embedding using partmap-specific
17631 knowledge (supports PC/MSDOS and GPT).
17632
17633 Fix all assumptions that the embed region start at sector 1, using
17634 `embed_region.start' from now on. Similarly, use `embed_region.end'
17635 rather than `first_start' to calculate available size.
17636
17637 In grub_util_info() message, replace "into after the MBR" with an
17638 indication of the specific sector our embed region starts at.
17639
66cb40f6 176402008-02-19 Robert Millan <rmh@aybabtu.com>
17641
17642 * DISTLIST: Replace `commands/ieee1275/halt.c' and
17643 `commands/ieee1275/reboot.c' with `commands/halt.c' and
17644 `commands/reboot.c'.
17645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17646 (halt_mod_SOURCES): Likewise.
17647 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
17648 (halt_mod_SOURCES): Likewise.
17649
b7202015 176502008-02-17 Christian Franke <franke@computer.org>
17651
17652 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
17653
32b0fc49 176542008-02-17 Robert Millan <rmh@aybabtu.com>
17655
17656 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17657 set `first_start' to 0 for non-PC/MSDOS partition maps.
17658
aca63502 176592008-02-16 Robert Millan <rmh@aybabtu.com>
17660
17661 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
17662 do not assume partition map is PC/MSDOS before performing checks that
17663 are specific to that layout.
17664
0de8be86 176652008-02-13 Robert Millan <rmh@aybabtu.com>
17666
17667 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
17668 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
17669 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
17670
c3db8364 176712008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
17672
17673 * configure.ac: Only a cosmetic change on the handling of
17674 -fno-stack-protector.
17675
f714229e 176762008-02-12 Alexandre Boeglin <alex@boeglin.org>
17677
c3db8364 17678 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
17679 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
17680 reboot.c.
f714229e 17681 (grub_install_SOURCES): Add halt.mod and reboot.mod.
17682 (halt_mod_SOURCES): New variable.
17683 (halt_mod_CFLAGS): Likewise.
17684 (halt_mod_LDFLAGS): Likewise.
17685 (reboot_mod_SOURCES): Likewise.
17686 (reboot_mod_CFLAGS): Likewise.
17687 (reboot_mod_LDFLAGS): Likewise.
17688
c3db8364 17689 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
17690 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
17691 reboot.c.
f714229e 17692 (halt_mod_SOURCES): Likewise.
17693 (reboot_mod_SOURCES): Likewise.
17694
c3db8364 17695 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
17696 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 17697 (reboot_mod_SOURCES): Likewise.
17698
17699 * commands/i386/pc/reboot.c: merge this file ...
17700
17701 * commands/ieee1275/reboot.c: ... and this file ...
17702
17703 * commands/reboot.c: ... to this file.
c3db8364 17704 Add some precompiler directive to include the correct header for
17705 each machine.
f714229e 17706
17707 * commands/ieee1275/halt.c: move this file ...
17708
17709 * commands/halt.c: ... to here.
c3db8364 17710 Add some precompiler directive to include the correct header for
17711 each machine.
f714229e 17712
17713 * include/grub/efi/efi.h (grub_reboot): New function declaration.
17714 (grub_halt): Likewise.
17715
17716 * kern/efi/efi.c (grub_reboot): New function.
17717 (grub_halt): Likewise.
17718
c74493e0 177192008-02-12 Robert Millan <rmh@aybabtu.com>
17720
17721 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
17722 /dev (like it is done for /dev/mapper). This doesn't provide support
17723 for EVMS, but at least it is now easy to identify the problem when it
17724 arises.
17725
d0db4b04 177262008-02-11 Robert Millan <rmh@aybabtu.com>
17727
17728 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
17729 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
17730 comparing it with -1, not 0.
17731
bf748642 177322008-02-10 Robert Millan <rmh@aybabtu.com>
17733
17734 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
17735 `disk/lvm.c'.
17736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17737 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17738
17739 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
17740 `disk/lvm.c' to the end of the list.
17741 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17742 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17743
b5db202a 177442008-02-10 Robert Millan <rmh@aybabtu.com>
17745
17746 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
17747 grub_print_error() instead. This will let user know why we're entering
17748 rescue mode.
17749 Based on suggestions from Sam Morris.
17750
83abee31 177512008-02-10 Alexandre Boeglin <alex@boeglin.org>
17752
17753 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
17754 on remaining N args, instead of "--" arg N times.
17755
78d5a08b 177562008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
17757
17758 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
17759 (fill_with_default_glyph): Changed to use unknown_glyph for fill
17760 pattern for unknown glyphs.
17761
68807e5f 177622008-02-09 Robert Millan <rmh@aybabtu.com>
17763
17764 * configure.ac: Probe for `help2man'.
17765 * Makefile.in (builddir): New variable.
17766 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
17767 or otherwise add a few flags/options to it.
17768 (install-local): For every executable utility or script that is
17769 installed, invoke $(HELP2MAN) to install a manpage based on --help
17770 output.
17771
17772 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
17773 that it doesn't prevent --help from working in build tree.
17774
17775 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
17776 with `bug-grub@gnu.org'.
17777 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
17778 * util/update-grub.in (usage): New function.
17779 Implement proper argument check, with support for --help and --version
17780 (as well as existing -y).
17781
177822008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 17783
17784 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
17785 avoid overwriting previous output.
17786 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
17787
c1962162 177882008-02-09 Robert Millan <rmh@aybabtu.com>
17789
17790 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
17791 drawing the menu.
17792
3dac2e3f 177932008-02-09 Robert Millan <rmh@aybabtu.com>
17794
17795 * commands/sleep.c: New file.
17796 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
17797 (sleep_mod_SOURCES): New variable.
17798 (sleep_mod_CFLAGS): Likewise.
17799 (sleep_mod_LDFLAGS): Likewise.
17800
7a634e08 178012008-02-09 Robert Millan <rmh@aybabtu.com>
17802
17803 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
17804 situations in which we can deduce the RAID size and the superblock
17805 doesn't match it.
17806
b92f0c18 178072008-02-09 Robert Millan <rmh@aybabtu.com>
17808
17809 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
17810 and return a grub_diskmemberlist_t composed of LVM physical volumes.
17811 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
17812
17813 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
17814 and return a grub_diskmemberlist_t composed of physical array members.
17815 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
17816
17817 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
17818 prototype.
17819 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
17820 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
17821 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
17822
17823 * util/grub-probe.c (probe): Move partmap probing code from here ...
17824 (probe_partmap): ... to here.
17825 (probe): Use probe_partmap() once for the disk we're probing, and
17826 additionally, when such disk contains a memberlist() struct member,
17827 once for each disk that is contained in the structure returned by
17828 memberlist().
17829
91a4bf68 178302008-02-09 Robert Millan <rmh@aybabtu.com>
17831
17832 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
17833 environment variable to 'all' in order to obtain debug output from
17834 non-util/ code.
17835 * util/i386/pc/grub-setup.c (main): Likewise.
17836
a96f9caa 178372008-02-08 Robert Millan <rmh@aybabtu.com>
17838
17839 * disk/raid.c (grub_raid_scan_device): Check for
17840 `array->device[sb.this_disk.number]' rather than for
17841 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 17842 guaranteed to be accessible.
a96f9caa 17843
b37a9222 178442008-02-08 Robert Millan <rmh@aybabtu.com>
17845
17846 * disk/raid.c: Update copyright.
17847 * fs/cpio.c: Likewise.
17848 * include/grub/raid.h: Likewise.
17849 * loader/i386/pc/multiboot.c: Likewise.
17850 * util/hostfs.c: Likewise.
17851
5626aee1 178522008-02-08 Robert Millan <rmh@aybabtu.com>
17853
17854 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
17855 to a grub_disk_t array.
17856 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
17857 `device[x]'.
17858 (grub_raid_scan_device): Replace `device[x].name' accesses with
17859 `device[x]->name'. Simplify initialization of `array->device[x]'.
17860
554f0187 178612008-02-08 Robert Millan <rmh@aybabtu.com>
17862
17863 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
17864 grub_dprintf() calls.
17865 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
17866 error message.
17867
1ec8425d 178682008-02-07 Christian Franke <franke@computer.org>
17869
17870 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
17871 instead of fseek and ftell to support large files.
17872 (grub_hostfs_read): Likewise.
17873
f2156fda 178742008-02-07 Robert Millan <rmh@aybabtu.com>
17875
17876 Patch from Jeroen Dekkers.
17877 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 17878 failure, since successfully reading all array members might not be
f2156fda 17879 required.
17880
9216e0e7 178812008-02-06 Robert Millan <rmh@aybabtu.com>
17882
17883 * util/grub-probe.c (probe): Simplify partmap probing (with the
17884 assumption that the first word up to the underscore equals to
17885 the module name).
17886
b0dfd29a 178872008-02-06 Christian Franke <franke@computer.org>
17888
17889 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
17890 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
17891 last block of a cpio or tar stream.
17892 Check for "TRAILER!!!" instead of any empty data
17893 block to detect last block of a cpio stream.
17894 (grub_cpio_dir): Fix constness of variable np.
17895 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
17896 cpio or tar trailer is detected. This fixes a crash
17897 on open of a non existing file.
17898
c32865bf 178992008-02-05 Bean <bean123ch@gmail.com>
17900
17901 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
17902 address of entry.
17903 (grub_multiboot_load_elf64): Likewise.
17904 (grub_multiboot): Initialize mbi structure.
17905
17906 * util/grub-fstest.c: Don't include unused header file script.h.
17907
fe6b695a 17908 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 17909 of file.
17910 (grub_fstest_SOURCES): Likewise.
17911
409480b7 179122008-02-05 Robert Millan <rmh@aybabtu.com>
17913
17914 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
17915 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
17916 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
17917 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
17918
17919 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
17920 (translation_table): Replace hardcoded values with macros
17921 provided by `<grub/term.h>'.
17922
17923 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
17924 (keyboard_map): Correct/add a few values, with macros provided
17925 by `<grub/term.h>'.
17926 (keyboard_map_shift): Zero values that don't differ from their
17927 `keyboard_map' equivalents.
17928 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
17929 Discard the second scan code that is always sent by Caps lock.
17930 Only use `keyboard_map_shift' when it provides a non-zero value,
17931 otherwise fallback to `keyboard_map'.
17932
99fadbaa 179332008-02-04 Bean <bean123ch@gmail.com>
17934
17935 * Makefile.in (enable_grub_fstest): New variable.
17936
17937 * conf/common.rmk (grub_fstest_init.lst): New rule.
17938 (grub_fstest_init.h): Likewise.
17939 (grub_fstest_init.c): Likewise.
17940 (util/grub-fstest.c_DEPENDENCIES): New variable.
17941 (grub_fstest_SOURCES): Likewise.
17942
17943 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
17944
17945 * util/grub-fstest.c: New file.
17946
bf567c50 179472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17948
17949 Make grub-setup handle a separate root device.
f19dbdb7 17950
bf567c50 17951 * util/i386/pc/grub-setup.c (setup): Always open the root device,
17952 so that the root device can be compared with the destination
17953 device.
17954 When embedding the core image, if the root and destination devices
17955 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
17956 0xFF.
17957 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 17958
9be6b98b 179592008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17960
17961 Add support for having a grub directory in a different drive. This
17962 is still only the data handling part.
f19dbdb7 17963
9be6b98b 17964 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
17965 (codestart): Save %dh in GRUB_ROOT_DRIVE.
17966 (grub_root_drive): New variable.
17967
17968 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
17969 instead of GRUB_BOOT_DRIVE to construct a device name. Set
17970 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
17971 as it was.
17972
17973 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
17974
17975 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
17976 macro.
17977 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
17978
17979 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
17980 is bogus, because PXE booting does not specify any drive
17981 correctly.
17982
17983 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
17984 am not sure if this is really correct.
17985
17986 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
17987 is always identical to the boot drive when booting from a CD.
17988
17989 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
17990 longer.
17991 (root_drive): New variable.
17992 (real_start): Unconditionally set %dh to ROOT_DRIVE.
17993 (setup_sectors): Push %dx right after popping it, because %dh will
17994 be modified later.
17995 (copy_buffer): Restore %dx.
17996
e0ca0677 179972008-02-03 Robert Millan <rmh@aybabtu.com>
17998
17999 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18000 use `cdboot.img' for cdrom images.
18001
3b3f6629 180022008-02-03 Robert Millan <rmh@aybabtu.com>
18003
18004 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18005 only setup gfxterm when `font' command has succeeded.
18006
d42b3672 180072008-02-03 Robert Millan <rmh@aybabtu.com>
18008
18009 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18010 (grub_rescue_cmd_multiboot_loader)
18011 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18012
fa370ea6 180132008-02-03 Pavel Roskin <proski@gnu.org>
18014
e0c5dacb 18015 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 18016 %edx and %esi from stack only after grub_gate_a20() is called.
18017 grub_gate_a20() clobbers %edx.
18018
f2a76e1d 180192008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18020
18021 * configure.ac (AC_INIT): Bumped to 1.96.
18022
18023 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18024 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18025 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18026 video/readers/png.c.
18027
90fd32d1 180282008-02-03 Bean <bean123ch@gmail.com>
9be665dd 18029
18030 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18031 (cdboot_img_SOURCES): New variable.
18032 (cdboot_img_ASFLAGS): New variable.
18033 (cdboot_img_LDFLAGS): New variable.
18034
18035 * boot/i386/pc/cdboot.S: New file.
18036
18037 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18038 (cd_count): Likewise.
18039 (grub_biosdisk_get_drive): Add support for cd device.
18040 (grub_biosdisk_call_hook): Likewise.
18041 (grub_biosdisk_iterate): Likewise.
18042 (grub_biosdisk_open): Likewise.
18043 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18044 (grub_biosdisk_rw): Support reading from cd device.
18045 (GRUB_MOD_INIT): Iterate cd devices.
18046
18047 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18048 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18049 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18050
18051 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18052
4020aa53 180532008-02-02 Robert Millan <rmh@aybabtu.com>
18054
18055 * commands/read.c: New file.
18056 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18057 (read_mod_SOURCES): New variable.
18058 (read_mod_CFLAGS): Likewise.
18059 (read_mod_LDFLAGS): Likewise.
18060
e03a1132 180612008-02-02 Robert Millan <rmh@aybabtu.com>
18062
18063 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18064 determining whether menu has to be displayed.
18065
58c69220 180662008-02-02 Marco Gerards <marco@gnu.org>
18067
18068 * bus/pci.c: New file.
18069
18070 * include/grub/pci.h: Likewise.
18071
18072 * include/grub/i386/pc/pci.h: Likewise.
18073
18074 * commands/lspci.c: Likewise.
18075
18076 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18077 `lspci.mod'.
18078 (pci_mod_SOURCES): New variable.
18079 (pci_mod_CFLAGS): Likewise.
18080 (pci_mod_LDFLAGS): Likewise.
18081 (lspci_mod_SOURCES): Likewise.
18082 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 18083 (lspci_mod_LDFLAGS): Likewise.
58c69220 18084
c004e1b4 180852008-02-02 Bean <bean123ch@gmail.com>
18086
18087 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18088 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18089
18090 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18091 (grub_xfs_btree_node): New structure.
18092 (grub_xfs_btree_root): New structure.
18093 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18094 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18095 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18096 (GRUB_XFS_EXTENT_SIZE): Likewise.
18097 (grub_xfs_read_block): Support btree format type.
18098 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18099 Use directory block as basic unit.
18100
18101 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18102
18103 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18104 __attribute__ ((__regparm__ (1))).
18105
f95562bf 181062008-02-01 Robert Millan <rmh@aybabtu.com>
18107
18108 Correct a mistake in previous commit.
18109
18110 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18111 top.
18112 (normal/command.c_DEPENDENCIES): New variable.
18113
7d31f41f 181142008-02-01 Robert Millan <rmh@aybabtu.com>
18115
18116 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18117 top.
18118 (normal/command.c_DEPENDENCIES): New variable.
18119 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18120 * conf/i386-ieee1275.rmk: Likewise.
18121 * conf/i386-linuxbios.rmk: Likewise.
18122 * conf/i386-pc.rmk: Likewise.
18123 * conf/sparc64-ieee1275.rmk: Likewise.
18124 * conf/powerpc-ieee1275.rmk: Likewise.
18125 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18126
18127 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18128
60b6be74 181292008-02-01 Robert Millan <rmh@aybabtu.com>
18130
18131 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18132 call at beginning of function.
18133
078522ab 181342008-01-31 Pavel Roskin <proski@gnu.org>
18135
18136 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 18137 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18138 (grub_mkrescue_SOURCES): Likewise.
078522ab 18139 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18140
ccaa8a5f 181412008-01-30 Robert Millan <rmh@aybabtu.com>
18142
18143 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18144 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18145 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18146 (grub_probe_SOURCES): ... to here.
18147
18148 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18149 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18150 * conf/i386-ieee1275.rmk: Likewise.
18151 * conf/i386-linuxbios.rmk: Likewise.
18152 * conf/powerpc-ieee1275.rmk: Likewise.
18153
ae5a9cd7 181542008-01-30 Tristan Gingold <gingold@free.fr>
18155
18156 * kern/rescue.c: Silently accept empty lines.
18157
70bc2ef2 181582008-01-29 Bean <bean123ch@gmail.com>
18159
18160 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18161 (real_code_2): Code cleanup and change comment style.
18162 (move_memory): Avoid using 32-bit address mode.
18163
6a4d50ea 181642008-01-29 Bean <bean123ch@gmail.com>
18165
18166 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18167 (png_mod_SOURCES): New variable.
18168 (png_mod_CFLAGS): Likewise.
18169 (png_mod_LDFLAGS): Likewise.
18170
18171 * video/readers/png.c: New file.
18172
11cc30ac 181732008-01-28 Robert Millan <rmh@aybabtu.com>
18174
18175 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
18176 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
18177 `ifndef GRUB_MOD_GAP' hack.
18178 * util/elf/grub-mkimage.c (add_segments): Likewise.
18179
3abc589f 181802008-01-27 Robert Millan <rmh@aybabtu.com>
18181
18182 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
18183 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 18184 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 18185
e1907778 181862008-01-27 Robert Millan <rmh@aybabtu.com>
18187
18188 Get grub-emu to build again (including parallel builds).
18189
18190 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
18191 Split into ...
18192 (util/grub-emu.c_DEPENDENCIES): ... this, ...
18193 (normal/execute.c_DEPENDENCIES): ... this, ...
18194 (grub-emu_DEPENDENCIES): ... and this.
18195
18196 * conf/i386-efi.rmk: Likewise.
18197 * conf/i386-linuxbios.rmk: Likewise.
18198 * conf/i386-ieee1275.rmk: Likewise.
18199 * conf/powerpc-ieee1275.rmk: Likewise.
18200 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
18201
2216b101 182022008-01-27 Robert Millan <rmh@aybabtu.com>
18203
18204 * NEWS: Add a few items.
18205
f75172d9 182062008-01-27 Robert Millan <rmh@aybabtu.com>
18207
18208 Fix parallel builds with grub-emu. Based on earlier commit for
18209 grub-probe and grub-setup.
18210
18211 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18212 (util/grub-emu.c_DEPENDENCIES): ... this.
18213 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18214 (util/grub-emu.c_DEPENDENCIES): ... this.
18215 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18216 (util/grub-emu.c_DEPENDENCIES): ... this.
18217 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18218 (util/grub-emu.c_DEPENDENCIES): ... this.
18219 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18220 (util/grub-emu.c_DEPENDENCIES): ... this.
18221
3f51de77 182222008-01-27 Pavel Roskin <proski@gnu.org>
18223
18224 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
18225 to create a gap between _end and the modules added to the image
18226 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
18227 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
18228 * util/elf/grub-mkimage.c (add_segments): Likewise.
18229
2033f53e 182302008-01-26 Pavel Roskin <proski@gnu.org>
18231
18232 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
18233 just return an error.
18234
22da1f6f 182352008-01-26 Bean <bean123ch@gmail.com>
18236
18237 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
18238 (grub_reiserfs_get_item): Save offset of the next item.
18239 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
18240
2a9525e6 182412008-01-25 Robert Millan <rmh@aybabtu.com>
18242
18243 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
18244 make all filesystem sources appear together (possibly fixing omissions
18245 while at it).
18246 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18247 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18248 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18250
18251 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
18252 add `kern/file.c'.
18253 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
18254 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18255 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
18256 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18257
18258 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
18259 (probe): Add a sanity check to make sure of our ability to read
18260 requested files when probing for filesystem type.
18261
18262 * genmk.rb: Update copyright year (2007).
18263
18264 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
18265 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
18266 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
18267 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
18268 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
18269 : Remove function prototypes.
18270
b95f71b5 182712008-01-25 Robert Millan <rmh@aybabtu.com>
18272
18273 Revert my previous commits (based on wrong assumption of how grub_errno
18274 works).
18275
fe6b695a 18276 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 18277 * kern/file.c (grub_file_open): Likewise.
18278
d08bbb49 182792008-01-24 Pavel Roskin <proski@gnu.org>
18280
18281 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
18282 that hang if GRUB tries to setup colors.
18283 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
18284 colors for firmwares that don't support it.
18285 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
18286 Recognize Open Hack'Ware, set flags to work around its
18287 limitations.
18288
605e36ed 182892008-01-24 Robert Millan <rmh@aybabtu.com>
18290
18291 * kern/file.c (grub_file_open): Do not account previous failures of
18292 unrelated functions when grub_errno is checked for.
18293 Reported by Oleg Strikov.
18294
bac332a1 182952008-01-24 Bean <bean123ch@gmail.com>
18296
18297 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
18298 (grub_ufs_sblock): New member volume name.
18299 (grub_ufs_find_file): Fix string copy bug.
18300 (grub_ufs_label): Implement this function properly.
18301
18302 * fs/hfs.c (grub_hfs_cnid_type): New enum.
18303 (grub_hfs_iterate_records): Use the correct file number for extents
18304 and catalog file. Fix problem in next index calculation.
18305 (grub_hfs_find_node): Replace recursive function call with loop.
18306 (grub_hfs_iterate_dir): Replace recursive function call with loop.
18307
15c80c09 183082008-01-23 Robert Millan <rmh@aybabtu.com>
18309
18310 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
18311 `<grub/symbol.h>' and `<grub/multiboot.h>'.
18312 (grub_multiboot2_real_boot): New function prototype.
18313
18314 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
18315 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
18316
18317 * kern/i386/ieee1275/init.c (grub_os_area_addr)
18318 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
18319
305338fd 183202008-01-23 Robert Millan <rmh@aybabtu.com>
18321
18322 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
18323 #ifdef'ed out grub_printf().
18324
3ea52685 183252008-01-23 Robert Millan <rmh@aybabtu.com>
18326
18327 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
18328 grub_dprintf calls, since they make "debug=all" mode unusable.
18329 (grub_console_checkkey): Likewise.
18330
5882ae4b 183312008-01-23 Robert Millan <rmh@aybabtu.com>
18332
18333 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18334 `term/i386/pc/at_keyboard.c'.
18335 (pkglib_MODULES): Add `serial.mod'.
18336 (serial_mod_SOURCES): New variable.
18337 (serial_mod_CFLAGS): Likewise.
18338 (serial_mod_LDFLAGS): Likewise.
18339
18340 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
18341 `<grub/powerpc/ieee1275/console.h>'.
18342 (grub_keyboard_controller_init): New function prototype.
18343 (grub_console_checkkey): Likewise.
18344 (grub_console_getkey): Likewise.
18345
18346 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
18347 keyboard on i386.
18348
18349 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
18350 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
18351
06ab5303 183522008-01-23 Robert Millan <rmh@aybabtu.com>
18353
18354 * kern/i386/pc/init.c (make_install_device): When memdisk image is
18355 present, "(memdisk)/boot/grub" becomes the default prefix.
18356
18357 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
18358 a memdisk tarball with all the modules. Add --overlay=DIR option that
18359 allows users to overlay additional files into the image.
18360
dbb475a4 183612008-01-23 Robert Millan <rmh@aybabtu.com>
18362
18363 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
18364 and `machine/memory.h'.
18365 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
18366 (_multiboot_mod_SOURCES): New variable.
18367 (_multiboot_mod_CFLAGS): Likewise.
18368 (_multiboot_mod_LDFLAGS): Likewise.
18369 (multiboot_mod_SOURCES): Likewise.
18370 (multiboot_mod_CFLAGS): Likewise.
18371 (multiboot_mod_LDFLAGS): Likewise.
18372
18373 * include/grub/i386/ieee1275/loader.h: New file.
18374
18375 * include/grub/i386/ieee1275/machine.h: Likewise.
18376
18377 * include/grub/i386/ieee1275/memory.h: Likewise.
18378
18379 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
18380 variable declaration.
18381 (grub_os_area_size): Likewise.
18382
18383 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
18384 (grub_lower_mem, grub_upper_mem): New variables.
18385 (grub_stop_floppy): New function (just to make
18386 grub_multiboot2_real_boot() happy).
18387
18388 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
18389 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
18390 (grub_stop): New function.
18391 Include `"../realmode.S"' and `"../loader.S"'.
18392
18393 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
18394 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
18395
18396 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
18397 rely on grub_multiboot2_real_boot() for final boot.
18398
25638629 183992008-01-22 Robert Millan <rmh@aybabtu.com>
18400
18401 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
18402 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
18403 device that doesn't look like an SD card.
18404 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18405 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
18406 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
18407 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
18408 found.
18409
9dad816d 184102008-01-22 Robert Millan <rmh@aybabtu.com>
18411
18412 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
18413 avoid claiming over our own code.
18414
34842f2d 184152008-01-22 Bean <bean123ch@gmail.com>
18416
18417 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
18418 (jpeg_mod_SOURCES): New variable.
18419 (jpeg_mod_CFLAGS): Likewise.
18420 (jpeg_mod_LDFLAGS): Likewise.
18421
18422 * video/readers/jpeg.c : New file.
18423
44023a28 184242008-01-22 Bean <bean123ch@gmail.com>
18425
18426 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
18427 there are no more items.
18428
bc2d8ac6 184292008-01-21 Robert Millan <rmh@aybabtu.com>
18430
18431 * kern/mm.c (grub_mm_init_region): Improve debug message.
18432
261bd4bc 184332008-01-21 Robert Millan <rmh@aybabtu.com>
18434
18435 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
18436 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
18437 address.
18438 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
18439 a C macro.
18440 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
18441 Indicates start of upper memory.
18442 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
18443 (generate_image): Abort when image size is big enough to corrupt
18444 upper memory.
18445
18446 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
18447 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
18448 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18449 instead of hardcoding 0xA0000.
18450 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
18451 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18452 instead of hardcoding 0xA0000.
18453
f970b55e 184542008-01-21 Robert Millan <rmh@aybabtu.com>
18455
18456 * disk/memdisk.c (memdisk_size): New variable.
18457 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
18458 `memdisk_size'.
18459 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
18460 image to dynamic memory.
18461 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
18462 `memdisk_size'. Free memdisk block.
18463
1a8b0526 184642008-01-21 Robert Millan <rmh@aybabtu.com>
18465
18466 Fix detection of very small filesystems (like tar).
18467
18468 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
18469 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
18470 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
18471 a problem with this disk).
18472
6e9b4aab 184732008-01-21 Robert Millan <rmh@aybabtu.com>
18474
18475 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
18476 on grub_biosdisk_rw_standard() error.
18477
0d8837b2 184782008-01-21 Robert Millan <rmh@aybabtu.com>
18479
18480 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
18481 recent changes.
18482 * kern/elf.c: Likewise.
18483 * kern/ieee1275/ieee1275.c: Likewise.
18484 * kern/powerpc/ieee1275/openfw.c: Likewise.
18485 * term/ieee1275/ofconsole.c: Likewise.
18486
ffd36e34 184872008-01-21 Robert Millan <rmh@aybabtu.com>
18488
18489 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
18490
3f0093d0 18491 * include/grub/kernel.h (grub_arch_memdisk_addr)
18492 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 18493
3f0093d0 18494 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
18495 (grub_arch_memdisk_size): ... to here.
ffd36e34 18496
6c391b21 184972008-01-21 Robert Millan <rmh@aybabtu.com>
18498
18499 Mostly based on bugfix from Bean.
18500
18501 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
18502 attribute with hook() parameter.
18503 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
18504 declaration.
18505 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
18506 attribute with hook() parameter.
18507 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
18508 declaration.
18509
55a581dc 185102008-01-21 Robert Millan <rmh@aybabtu.com>
18511
18512 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
18513 (pkglib_MODULES): Add `memdisk.mod'.
18514 (memdisk_mod_SOURCES): New variable.
18515 (memdisk_mod_CFLAGS): Likewise.
18516 (memdisk_mod_LDFLAGS): Likewise.
18517
18518 * disk/memdisk.c: New file.
18519
18520 * include/grub/disk.h (grub_disk_dev_id): Add
18521 `GRUB_DISK_DEVICE_MEMDISK_ID'.
18522
18523 * include/grub/i386/pc/kernel.h
18524 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
18525 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
18526 (grub_kernel_image_size): New variable declaration.
18527 (grub_total_module_size): Likewise.
18528 (grub_memdisk_image_size): Likewise.
18529
18530 * include/grub/i386/pc/memory.h
18531 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
18532
18533 * include/grub/kernel.h: Include `<grub/symbol.h>'.
18534 (grub_arch_memdisk_addr): New variable declaration.
18535 (grub_arch_memdisk_size): Likewise.
18536
18537 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
18538 (grub_arch_memdisk_size): Likewise.
18539
18540 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
18541 (codestart): Replace hardcoded `0x100000' with
18542 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
18543
18544 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
18545 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
18546 not NULL, append the contents of the file it refers to, at the end of
18547 the compressed kernel image. Initialize `grub_memdisk_image_size'
18548 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
18549 (options): Add "memdisk"|'m' option.
18550 (main): Parse --memdisk|-m option, and pass user-provided path as
18551 parameter to generate_image().
18552
3d7f54c9 185532008-01-20 Robert Millan <rmh@aybabtu.com>
18554
18555 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
18556 grub_dprintf() calls from here ...
18557 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
18558
0bf74728 185592008-01-20 Robert Millan <rmh@aybabtu.com>
18560
18561 Fix detection of "real mode" when /options/real-mode? doesn't exist.
18562
18563 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
18564 declaration.
18565 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
18566 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
18567 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 18568 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 18569 property).
18570 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
18571 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
18572
33bf70a7 185732008-01-19 Robert Millan <rmh@aybabtu.com>
18574
fe6b695a 18575 Get rid of confusing function (superseded by
33bf70a7 18576 `grub_ieee1275_get_integer_property')
18577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
18578 prototype.
18579 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
18580 function.
18581 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
18582 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 18583 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 18584
e2da7d26 185852008-01-19 Robert Millan <rmh@aybabtu.com>
18586
18587 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
18588 command after "shut-down", since implementations differ on which
18589 the command for halt is.
18590
59f1fd8d 185912008-01-19 Robert Millan <rmh@aybabtu.com>
18592
18593 * include/grub/i386/linuxbios/console.h: Add header protection.
18594 (grub_keyboard_controller_init): New function prototype.
18595 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
18596 (KEYBOARD_COMMAND_READ): Likewise.
18597 (KEYBOARD_COMMAND_WRITE): Likewise.
18598 (KEYBOARD_SCANCODE_SET1): Likewise.
18599 (grub_keyboard_controller_write): New function.
18600 (grub_keyboard_controller_read): Likewise.
18601 (grub_keyboard_controller_init): Likewise.
18602
18603 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
18604 (grub_console_init): On coreboot/LinuxBIOS, call
18605 grub_keyboard_controller_init().
18606
5f5a7c15 186072008-01-19 Robert Millan <rmh@aybabtu.com>
18608
18609 PowerPC changes provided by Pavel Roskin.
18610
18611 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
18612 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
18613 don't rely on cmain() doing it.
18614 * kern/i386/ieee1275/startup.S (_start): Store %eax in
18615 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
18616
1210e168 186172008-01-16 Robert Millan <rmh@aybabtu.com>
18618
18619 * include/grub/i386/linuxbios/memory.h
18620 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
18621 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
18622 receive `table_header' as argument. Instead, probe for it in the
18623 known memory ranges where it can be present.
18624 (grub_available_iterate): Do not pass a fixed `table_header' address
18625 to grub_linuxbios_table_iterate().
18626
3d04eab8 186272008-01-15 Robert Millan <rmh@aybabtu.com>
18628
18629 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
18630 * conf/i386-ieee1275.rmk: New file.
18631 * include/grub/i386/ieee1275/console.h: Likewise.
18632 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
18633 * include/grub/i386/ieee1275/kernel.h: Likewise.
18634 * include/grub/i386/ieee1275/time.h: Likewise.
18635 * kern/i386/ieee1275/init.c: Likewise.
18636 * kern/i386/ieee1275/startup.S: Likewise.
18637
d1bc1b73 186382008-01-15 Robert Millan <rmh@aybabtu.com>
18639
18640 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
18641 when pointers are 32-bit (but still do set it to one when they are
18642 64-bit).
18643
66a65807 186442008-01-15 Robert Millan <rmh@aybabtu.com>
18645
18646 * include/grub/ieee1275/ieee1275.h
18647 (grub_ieee1275_get_integer_property): New function prototype.
18648
18649 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
18650 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 18651 grub_ieee1275_get_property() to handle endianness.
66a65807 18652
18653 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
18654 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 18655 where appropriate.
66a65807 18656 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
18657 (grub_map): Likewise.
18658 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
18659
a83ccafd 186602008-01-15 Bean <bean123ch@gmail.com>
18661
18662 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
18663 (grub_script_execute_cmdline): Reset grub_errno.
18664
18665 * normal/main.c (read_config_file): Reset grub_errno.
18666
18667 * normal/parse.y (script_init): New.
18668 (script): Move function and menuentry here.
18669 (delimiter): New.
18670 (command): Add delimiter at the end of command.
18671 (commands): Adjust to match the new command.
18672 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 18673 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 18674 (if): Use the new commands.
18675
18676 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
18677
df6ecfc6 186782008-01-15 Robert Millan <rmh@aybabtu.com>
18679
18680 * normal/menu.c (run_menu): Move timeout message from here ...
18681 (print_timeout): ... to here.
18682 (run_menu): Use print_timeout() once during initial draw to print
18683 the whole message, and again in every clock tick to update only
18684 the number of seconds.
18685
87ae25eb 186862008-01-15 Robert Millan <rmh@aybabtu.com>
18687
18688 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
18689 actual size of `available' from grub_ieee1275_get_property(), and
18690 restrict parsing to that bound.
18691
47bf09a4 186922008-01-15 Christian Franke <franke@computer.org>
18693
18694 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
18695 (argp_program_version): Remove variable.
18696 (argp_program_bug_address): Likewise.
18697 (options): Convert from struct argp_option to struct option.
18698 (struct arguments): Remove.
18699 (parse_opt): Remove.
18700 (usage): New function.
18701 (main): Replace struct args members by simple variables.
18702 Replace argp_parse() by getopt_long().
18703 Add switch to evaluate options.
18704 Add missing "(...)" around root_dev in prefix string.
18705
c86f1469 187062008-01-14 Robert Millan <rmh@aybabtu.com>
18707
18708 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
18709 for grub_ieee1275_exit(), in order to improve portability.
18710
e622c559 187112008-01-14 Robert Millan <rmh@aybabtu.com>
18712
18713 * util/grub.d/10_linux.in (prefix): Define.
18714 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
18715
44cb1ec8 187162008-01-13 Pavel Roskin <proski@gnu.org>
18717
18718 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
18719 grub_errno if no errors have been detected.
18720
1eb8c802 187212008-01-12 Robert Millan <rmh@aybabtu.com>
18722
18723 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
18724 (grub_util_get_dev_abstraction): New function prototype.
18725
18726 * util/getroot.c: Include `<grub/util/getroot.h>'
18727 (grub_util_get_grub_dev): Move detection of abstraction type to ...
18728 (grub_util_get_dev_abstraction): ... here (new function).
18729
18730 * util/grub-probe.c: Convert PRINT_* to an enum. Add
18731 `PRINT_ABSTRACTION'.
18732 (probe): Probe for abstraction type when requested.
18733 (main): Understand `--target=abstraction'.
18734
18735 * util/i386/efi/grub-install.in: Add abstraction module to core
18736 image when it is found to be necessary.
18737 * util/i386/pc/grub-install.in: Likewise.
18738 * util/powerpc/ieee1275/grub-install.in: Likewise.
18739
18740 * util/update-grub_lib.in (font_path): Return system path without
18741 converting to GRUB path.
18742 * util/update-grub.in: Convert system path returned by font_path()
18743 to a GRUB path. Use `grub-probe -t abstraction' to determine what
18744 abstraction module is needed for loading fonts (if any). Export
18745 that as `GRUB_PRELOAD_MODULES'.
18746 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
18747 insmod commands).
18748
52bd3de9 187492008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
18750
18751 Remove some unused code from reiserfs.
f19dbdb7 18752
52bd3de9 18753 * fs/reiserfs.c (struct grub_reiserfs_key)
18754 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
18755 (struct grub_reiserfs_node_body): Removed.
18756 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18757 Likewise.
18758 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18759 Likewise.
18760 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18761 Likewise.
18762 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
18763 Likewise.
18764 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
18765 Likewise.
18766 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
18767 Likewise.
18768 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18769 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18770 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
18771
2f80039d 187722008-01-10 Robert Millan <rmh@aybabtu.com>
18773
18774 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
18775 Determines if a file is garbage left by packaging systems, etc.
18776 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
18777 for processing /etc/grub.d scripts.
18778 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
18779 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
18780 as a condition for processing Linux images.
18781
87888032 187822008-01-10 Pavel Roskin <proski@gnu.org>
18783
18784 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
18785 to compile reiserfs.c on PowerPC.
18786
7e54fced 187872008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 18788
18789 * kern/device.c (grub_device_iterate): Do not abort device iteration
18790 when one of the devices cannot be opened.
18791 * kern/disk.c (grub_disk_open): Do not account previous failures of
18792 unrelated functions when grub_errno is checked for.
18793
5aa541e6 187942008-01-08 Robert Millan <rmh@aybabtu.com>
18795
18796 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
18797 `! grub_linux_is_bzimage', change order of address comparison to make
18798 it more intuitive, and improve "too big zImage" error message.
18799
7076340d 188002008-01-08 Robert Millan <rmh@aybabtu.com>
18801
18802 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
18803 `$(update-grub_DATA)'.
18804 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
18805 targets.
18806
9ca70333 188072008-01-07 Robert Millan <rmh@aybabtu.com>
18808
18809 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
18810 which instruction is modified by grub-setup during installation
18811 (since it wasn't obvious by only looking at this file).
18812
38ccf575 188132008-01-07 Robert Millan <rmh@aybabtu.com>
18814
18815 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
18816 listing actual TODO items.
18817
f5db4291 188182008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18819
868967cf 18820 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
18821 correctly.
18822 (grub_reiserfs_get_key_offset): Likewise.
18823 (grub_reiserfs_set_key_offset): Likewise.
18824 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 18825 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 18826
18827 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
18828 better to remove the bitfield version completely.
f19dbdb7 18829
868967cf 188302008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18831
f5db4291 18832 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
18833 allocated from the heap, due to the fshelp implementation.
18834 (grub_reiserfs_dir): Free NODE, due to the same reason.
18835
492e6d9d 188362008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
18837
18838 Mostly from Vincent Pelletier:
f19dbdb7 18839
492e6d9d 18840 * fs/reiserfs.c: New file.
f19dbdb7 18841
492e6d9d 18842 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
18843 (reiserfs_mod_SOURCES): New variable.
18844 (reiserfs_mod_CFLAGS): Likewise.
18845 (reiserfs_mod_LDFLAGS): Likewise.
18846
18847 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
18848 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
18849 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
18850 normal/color.c.
18851
9ce3e7c1 188522008-01-06 Robert Millan <rmh@aybabtu.com>
18853
18854 * normal/color.c: Remove `<grub/env.h>'.
18855
f3b58148 188562008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
18857
18858 * include/grub/normal.h: Include <grub/env.h>.
18859
7ac3bcfa 188602008-01-05 Robert Millan <rmh@aybabtu.com>
18861
18862 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
18863 usage example with `(hd0,1)'.
fb358190 18864 Reported by Samuel Thibault.
7ac3bcfa 18865
c8ee99d7 188662008-01-05 Robert Millan <rmh@aybabtu.com>
18867
18868 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
18869 (grub_linux_boot_zimage): Rename to ...
18870 (grub_linux_boot): ... this.
18871 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
18872 (grub_linux_boot_zimage): Conditionalize zImage copy.
18873
18874 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
18875 (grub_linux_boot_bzimage): Remove prototype.
18876 (grub_linux_boot_zimage): Rename to ...
18877 (grub_linux_boot): ... this.
18878
18879 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
18880 (grub_linux_boot): Remove function.
18881
0ece25b1 188822008-01-05 Robert Millan <rmh@aybabtu.com>
18883
18884 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
18885 (grub_env_write_color_highlight): Likewise.
18886 (grub_wait_after_message): Likewise.
18887
18888 * normal/color.c: New file.
18889
18890 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18891 (normal_mod_DEPENDENCIES): Likewise.
18892
18893 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18894 (normal_mod_DEPENDENCIES): Likewise.
18895
18896 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18897 (normal_mod_DEPENDENCIES): Likewise.
18898
18899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
18900 (normal_mod_DEPENDENCIES): Likewise.
18901
18902 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
18903 for waiting after a message is printed.
18904 * normal/main.c (read_config_file): Likewise.
18905 (grub_normal_init): Register grub_env_write_color_normal() and
18906 grub_env_write_color_highlight() hooks. Mark `color_normal' and
18907 `color_highlight' variables as global.
18908
18909 * normal/menu.c (grub_wait_after_message): New function.
18910 (grub_color_menu_normal): New variable. Replaces ...
18911 (GRUB_COLOR_MENU_NORMAL): ... this macro.
18912 (grub_color_menu_highlight): New variable. Replaces ...
18913 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
18914 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
18915 `GRUB_TERM_COLOR_STANDARD'.
18916 (print_message): Use `grub_setcolorstate' to reload colors. Rename
18917 `normal_code' and `highlight_code' to `old_color_normal' and
18918 `old_color_highlight', respectively.
18919 (grub_menu_init_page): Update colors when drawing the menu, based on
18920 `menu_color_normal' and `menu_color_highlight' variables.
18921 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
18922 a message is printed.
18923
182dd4e5 189242008-01-05 Robert Millan <rmh@aybabtu.com>
18925
18926 * kern/env.c (grub_env_context_open): Propagate hooks for global
18927 variables to new context.
18928
18929 * kern/main.c (grub_set_root_dev): Export `root' variable.
18930
ddf8f6ad 189312008-01-05 Robert Millan <rmh@aybabtu.com>
18932
18933 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 18934 discs unconditionally, since udev and others have options to provide
ddf8f6ad 18935 them.
18936
d8b43d9b 189372008-01-05 Robert Millan <rmh@aybabtu.com>
18938
18939 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
18940
2bff2de3 189412008-01-04 Christian Franke <franke@computer.org>
18942
18943 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
18944 of eisa_mmap.
18945
97eab917 189462008-01-03 Pavel Roskin <proski@gnu.org>
18947
18948 * kern/i386/linuxbios/init.c: Put "void" to all function
18949 declarations with no arguments.
18950 * kern/powerpc/ieee1275/init.c: Likewise.
18951 * term/i386/pc/at_keyboard.c: Likewise.
18952 * term/i386/pc/vga_text.c: Likewise.
18953 * util/grub-mkdevicemap.c: Likewise.
18954
b9416d00 189552008-01-02 Robert Millan <rmh@aybabtu.com>
18956
18957 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
18958 message when loaded image is out of bounds.
18959 (grub_multiboot_load_elf64): Likewise.
18960
92695df9 189612008-01-02 Pavel Roskin <proski@gnu.org>
18962
18963 * util/grub.d/10_linux.in: Try version without ".old" when
18964 looking for initrd. It's better to use initrd from the newer
18965 kernel of the same version than no initrd at all.
18966
d98d9cad 189672008-01-01 Robert Millan <rmh@aybabtu.com>
18968
18969 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
18970
dbfdce36 189712008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
18972
f19dbdb7 18973 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 18974 grub_video_get_active_render_target.
18975 (grub_video_adapter): Added unmap_color and get_active_render_target.
18976
f19dbdb7 18977 * video/video.c: Added grub_video_unmap_color and
dbfdce36 18978 grub_video_get_active_render_target.
18979 (grub_video_get_info): Changed method to accept NULL pointer as an
18980 argument to allow detection of active video adapter.
18981
18982 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
18983 grub_video_vbe_unmap_color_int.
18984 Added grub_video_vbe_unmap_color and
18985 grub_video_vbe_get_active_render_target.
18986 (grub_video_vbe_adapter): Added unmap_color and
18987 get_active_render_target.
18988
f19dbdb7 18989 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 18990 with grub_video_vbe_unmap_color_int.
18991
18992 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
18993 (DEFAULT_NORMAL_COLOR): Likewise.
18994 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
18995 (DEFAULT_FG_COLOR): Removed.
18996 (DEFAULT_BG_COLOR): Likewise.
18997 (DEFAULT_CURSOR_COLOR): Changed value.
18998 (grub_virtual_screen): Added standard_color_setting,
18999 normal_color_setting, highlight_color_setting and term_color.
19000 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19001 (bitmap_width): Added.
19002 (bitmap_height): Likewise.
19003 (bitmap): Likewise.
19004 (set_term_color): Likewise.
19005 (grub_virtual_screen_setup): Changed to use new terminal coloring
19006 settings.
19007 (grub_gfxterm_init): Added init for bitmap.
19008 (grub_gfxterm_fini): Added destroy for bitmap.
19009 (redraw_screen_rect): Updated to use background bitmap and new
19010 terminal coloring.
19011 (scroll_up): Added optimization for case when there is no bitmap.
19012 (grub_gfxterm_cls): Fixed to use correct background color.
19013 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19014 coloring.
19015 (grub_virtual_screen_setcolor): Likewise.
19016 (grub_virtual_screen_getcolor): Added.
19017 (grub_gfxterm_background_image_cmd): Likewise.
19018 (grub_video_term): Added setcolor and getcolor.
19019 (MOD_INIT): Added registration of background_image command.
19020 (MOD_TERM): Added unregistration for background_image command.
19021
c3c20931 190222007-12-30 Pavel Roskin <proski@gnu.org>
19023
19024 * loader/multiboot_loader.c: Fix multiboot command
19025 unregistration. Fix all typos in the word "multiboot".
19026
df266716 190272007-12-29 Pavel Roskin <proski@gnu.org>
94239199 19028
19029 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19030 support for initrd names used in Fedora.
19031
fc6e896c 190322007-12-26 Bean <bean123ch@gmail.com>
19033
19034 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19035 (cpio_mod_SOURCES): New variable.
19036 (cpio_mod_CFLAGS): Likewise.
19037 (cpio_mod_LDFLAGS): Likewise.
19038
19039 * fs/cpio.c: New file.
19040
19041 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19042
19043 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19044
19045 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19046
19047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19048
533110ad 190492007-12-25 Robert Millan <rmh@aybabtu.com>
19050
19051 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19052 (grub_getcolor): New function.
19053
19054 * kern/term.c (grub_getcolor): New function.
19055 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19056 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19057 (print_entry): Set normal and highlight colors to
19058 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19059 respectively, before printing and restore them to old
19060 values afterwards.
19061 (grub_menu_init_page): Likewise. Fill an additional colored space
19062 that would otherwise be left blank.
19063
19064 * term/efi/console.c (grub_console_getcolor): New function.
19065 (struct grub_console_term.getcolor): New variable.
19066 * term/i386/pc/console.c (grub_console_getcolor): New function.
19067 (struct grub_console_term.getcolor): New variable.
19068 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19069 (struct grub_console_term.getcolor): New variable.
19070
19071 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19072 (struct grub_console_term.setcolor): Remove variable.
19073 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19074 (struct grub_console_term.setcolor): Remove variable.
19075 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19076 (struct grub_console_term.setcolor): Remove variable.
19077 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19078 (struct grub_console_term.setcolor): Remove variable.
19079
4931827f 190802007-12-25 Robert Millan <rmh@aybabtu.com>
19081
19082 * configure.ac: Search for possible unifont.hex locations, and
19083 define UNIFONT_HEX if found.
19084
19085 * Makefile.in (UNIFONT_HEX): Define variable.
19086 (DATA): Rename to ...
19087 (PKGLIB): ... this. Update all users.
19088 (PKGDATA): New variable.
19089 (pkgdata_IMAGES): Rename to ...
19090 (pkglib_IMAGES): ... this. Update all users.
19091 (pkgdata_MODULES): Rename to ...
19092 (pkglib_MODULES): ... this. Update all users.
19093 (pkgdata_PROGRAMS): Rename to ...
19094 (pkglib_PROGRAMS): ... this. Update all users.
19095 (pkgdata_DATA): Rename to ...
19096 (pkglib_DATA): ... this. Update all users.
19097 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19098 (unicode.pff, ascii.pff): New rules.
19099 (all-local): Add `$(PKGDATA)' dependency.
19100 (install-local): Process `$(PKGDATA)'.
19101
19102 * util/update-grub_lib.in (font_path): Search for *.pff files in
19103 a few more locations, including `${pkgdata}'.
19104
57e57e31 191052007-12-23 Robert Millan <rmh@aybabtu.com>
19106
19107 Patch from Bean <bean123ch@gmail.com>:
19108 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19109 `size'.
19110
4bc72aa9 191112007-12-21 Bean <bean123ch@gmail.com>
19112
19113 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19114 (ntfscomp_mod_SOURCES): New variable.
19115 (ntfscomp_mod_CFLAGS): Likewise.
19116 (ntfscomp_mod_LDFLAGS): Likewise.
19117
19118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19119 (grub_probe_SOURCES): Likewise.
19120 (grub_emu_SOURCES): Likewise.
19121
19122 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19123 (grub_emu_SOURCES): Likewise.
19124
19125 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19126 (grub_emu_SOURCES): Likewise.
19127
19128 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19129 (grub_emu_SOURCES): Likewise.
19130
19131 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19132 (read_run_list): Renamed to grub_ntfs_read_run_list.
19133 (decomp_nextvcn): Moved to ntfscomp.c.
19134 (decomp_getch): Likewise.
19135 (decomp_get16): Likewise.
19136 (decomp_block): Likewise.
19137 (read_block): Likewise.
19138 (read_data): Partially moved to ntfscomp.c.
19139 (fixup): Change unsigned to grub_uint16_t.
19140 (read_mft): Change unsigned long to grub_uint32_t.
19141 (read_attr): Likewise.
19142 (read_data): Likewise.
19143 (read_run_data): Likewise.
19144 (read_run_list): Likewise.
19145 (read_mft): Likewise.
19146
19147 * fs/ntfscomp.c: New file.
19148
19149 * include/grub/ntfs.h: New file.
19150
af680a87 191512007-12-16 Robert Millan <rmh@aybabtu.com>
19152
19153 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19154 IDE disk check, since Linux is known to support 20 IDE disks.
19155 Reported by Colin Watson.
19156
84be7599 191572007-12-15 Bean <bean123ch@gmail.com>
19158
19159 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19160 (lnxboot_img_SOURCES): New variable.
19161 (lnxboot_img_ASFLAGS): Likewise.
19162 (lnxboot_img_LDFLAGS): Likewise.
19163
19164 * boot/i386/pc/lnxboot.S: New file.
19165
6af9db01 191662007-11-24 Pavel Roskin <proski@gnu.org>
19167
19168 * configure.ac: Test if '--build-id=none' is supported by the
19169 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19170 objcopy to generate incorrect binary files (binutils
19171 2.17.50.0.18-1 as shipped by Fedora 8).
19172 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19173 linking, so that build ID doesn't break the test.
19174
7361cfe6 191752007-11-24 Pavel Roskin <proski@gnu.org>
19176
19177 * include/grub/i386/time.h: use "void" in the argument list
19178 of grub_cpu_idle().
19179 * include/grub/powerpc/time.h: Likewise.
19180 * include/grub/sparc64/time.h: Likewise.
19181
1593e10c 191822007-11-18 Christian Franke <franke@computer.org>
19183
19184 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
19185 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
19186 This fixes the problem that function keys did not work in grub-emu.
19187
3b8db1a8 191882007-11-18 Christian Franke <franke@computer.org>
19189
19190 * disk/host.c (grub_host_open): Remove attribute unused from
19191 name parameter. Add check for "host". This fixes the problem
19192 that grub-emu does not find partitions.
19193
2e29408d 191942007-11-18 Christian Franke <franke@computer.org>
19195
19196 * util/hostfs.c (is_dir): New function.
19197 (grub_hostfs_dir): Handle missing dirent.d_type case.
19198 (grub_hostfs_read): Add missing fseek().
19199 (grub_hostfs_label): Clear label pointer. This fixes a crash
19200 of grub-emu on "ls (host)".
19201
398cd047 192022007-11-18 Christian Franke <franke@computer.org>
19203
19204 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
19205 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
19206 to 64 bit boundary by default.
19207
c405c391 192082007-11-18 Bean <bean123ch@gmail.com>
19209
19210 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
19211 (hexdump_mod_SOURCES): New variable.
19212 (hexdump_mod_CFLAGS): Likewise.
19213 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 19214
c405c391 19215 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19216
19217 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19218
19219 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19220
19221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19222
19223 * include/grub/hexdump.h: New file.
19224
19225 * commands/hexdump.c: New file.
19226
5cced7fd 192272007-11-10 Robert Millan <rmh@aybabtu.com>
19228
19229 * commands/i386/pc/play.c (beep_off): Switch order of arguments
19230 in grub_outb() calls.
19231 (beep_on): Likewise.
19232
8b714eb0 192332007-11-10 Christian Franke <franke@computer.org>
19234
19235 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
19236 (grub_menu_run): Likewise.
19237
ce0f1839 192382007-11-10 Robert Millan <rmh@aybabtu.com>
19239
19240 * include/grub/i386/efi/machine.h: New file.
19241 * include/grub/i386/linuxbios/machine.h: Likewise.
19242 * include/grub/i386/pc/machine.h: Likewise.
19243 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19244 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19245
19246 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
19247 (serial_hw_io_addr): New variable.
19248 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
19249 instead of `(unsigned short *) 0x400'.
19250
270c237d 192512007-11-10 Bean <bean123ch@gmail.com>
19252
19253 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
19254
a87783bf 192552007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19256
19257 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
19258 (vga_mod_SOURCES): Added.
19259 (vga_mod_CFLAGS): Likewise.
19260 (vga_mod_LDFLAGS): Likewise.
19261
19262 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
19263 grub_outb() calls.
19264 (set_map_mask): Likewise.
19265 (set_read_map): Likewise.
19266 (set_read_address): Likewise.
19267 (vga_font): Removed variable.
19268 (get_vga_glyph): Removed function.
19269 (invalidate_char): Likewise.
19270 (write_char): Changed to use grub_font_get_glyph() for font
19271 information.
19272 (grub_vga_putchar): Likewise.
19273 (grub_vga_getcharwidth): Likewise.
19274
6433b448 192752007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19276
19277 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
19278 flags.
19279 (pxeboot_img_LDFLAGS): Likewise.
19280 (diskboot_img_LDFLAGS): Likewise.
19281 (kernel_img_LDFLAGS): Likewise.
19282
49178511 192832007-11-06 Robert Millan <rmh@aybabtu.com>
19284
19285 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
19286 in grub_outb() calls.
19287 (serial_hw_init): Likewise.
19288
53b052de 192892007-11-05 Robert Millan <rmh@aybabtu.com>
19290
19291 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
19292 spaces. Skip non-regular files.
19293
5ab33bba 192942007-11-05 Robert Millan <rmh@aybabtu.com>
19295
19296 * kern/disk.c (grub_disk_firmware_fini)
19297 (grub_disk_firmware_is_tainted): New variables.
19298
19299 * include/grub/disk.h (grub_disk_firmware_fini)
19300 (grub_disk_firmware_is_tainted): Likewise.
19301
19302 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
19303 (grub_disk_biosdisk_fini): ... to here.
19304 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
19305 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
19306 is set. Register grub_disk_biosdisk_fini() in
19307 `grub_disk_firmware_fini'.
19308
19309 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
19310 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
19311 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
19312 to finish existing firmware disk interface.
19313
19314 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
19315 (ata_mod_SOURCES): New variable.
19316 (ata_mod_CFLAGS): Likewise.
19317 (ata_mod_LDFLAGS): Likewise.
19318
0149ab7c 193192007-11-05 Robert Millan <rmh@aybabtu.com>
19320
19321 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
19322 (grub_ata_wait): Reimplement using grub_millisleep().
19323
19324 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
19325 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
19326
be7ac41e 193272007-11-03 Marco Gerards <marco@gnu.org>
19328
19329 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
19330 (CRTC_ADDR_PORT): New macro.
19331 (CRTC_DATA_PORT): Likewise.
19332 (CRTC_CURSOR): Likewise.
19333 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19334 (CRTC_CURSOR_ADDR_LOW): Likewise.
19335 (update_cursor): New function.
19336 (grub_console_real_putchar): Call `update_cursor'.
19337 (grub_console_gotoxy): Likewise.
19338 (grub_console_cls): Set the default color when clearing the
19339 screen.
19340 (grub_console_setcursor): Implemented.
19341
bb06ab2e 193422007-11-03 Marco Gerards <marco@gnu.org>
19343
19344 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
19345 become activate.
19346 (grub_ata_pio_write): Likewise.
19347
19348 (grub_atapi_identify): Wait after issuing an ATA command.
19349 (grub_atapi_packet): Likewise.
19350 (grub_ata_identify): Likewise.
19351 (grub_ata_readwrite): Likewise.
19352
cf8f780b 193532007-11-03 Marco Gerards <marco@gnu.org>
19354
19355 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
19356 (grub_ata_pio_write): Likewise.
19357 (grub_ata_readwrite): Use `grub_error', instead of
19358 returning `grub_errno'.
19359
ed649e54 193602007-11-03 Marco Gerards <marco@gnu.org>
19361
19362 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
19363 grub_ata_pio_write once for every single sector, instead of for
19364 multiple sectors.
19365
ca25d8f0 193662007-10-31 Robert Millan <rmh@aybabtu.com>
19367
19368 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
19369
19370 * conf/i386-linuxbios.rmk: New file.
19371
19372 * kern/i386/pc/hardware.c: Likewise.
19373 * term/i386/pc/at_keyboard.c: Likewise.
19374 * term/i386/pc/vga_text.c: Likewise.
19375
19376 * include/grub/i386/linuxbios/boot.h: Likewise.
19377 * include/grub/i386/linuxbios/console.h: Likewise.
19378 * include/grub/i386/linuxbios/init.h: Likewise.
19379 * include/grub/i386/linuxbios/kernel.h: Likewise.
19380 * include/grub/i386/linuxbios/loader.h: Likewise.
19381 * include/grub/i386/linuxbios/memory.h: Likewise.
19382 * include/grub/i386/linuxbios/serial.h: Likewise.
19383 * include/grub/i386/linuxbios/time.h: Likewise.
19384
19385 * kern/i386/linuxbios/init.c: Likewise.
19386 * kern/i386/linuxbios/startup.S: Likewise.
19387 * kern/i386/linuxbios/table.c: Likewise.
19388
e911ecc1 193892007-10-31 Marco Gerards <marco@gnu.org>
19390
19391 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
19392 (ata_mod_SOURCES): New variable.
19393 (ata_mod_CFLAGS): Likewise.
19394 (ata_mod_LDFLAGS): Likewise.
19395
19396 * disk/ata.c: New file.
19397
19398 * include/grub/disk.h (grub_disk_dev_id): Add
19399 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 19400
7f66d0e0 194012007-10-31 Robert Millan <rmh@aybabtu.com>
19402
19403 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
19404 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
19405
19406 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
19407 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
19408
19409 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
19410 `<grub/types.h>'.
19411
19412 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
19413
5cd7dd46 194142007-10-27 Robert Millan <rmh@aybabtu.com>
19415
3236ca65 19416 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 19417
2ebfc90f 194182007-10-22 Robert Millan <rmh@aybabtu.com>
19419
19420 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
19421 `"../realmode.S"'.
19422 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
19423
73fcb0f3 194242007-10-22 Robert Millan <rmh@aybabtu.com>
19425
19426 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
19427 (pkgdata_MODULES): Add `biosdisk.mod'.
19428 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
19429 variables.
19430
19431 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
19432 (grub_biosdisk_init): Replace with ...
19433 (GRUB_MOD_INIT(biosdisk)): ... this.
19434 (grub_biosdisk_fini): Replace with ...
19435 (GRUB_MOD_FINI(biosdisk)): ... this.
19436
19437 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
19438 (grub_machine_init): Remove call to grub_biosdisk_init().
19439 (grub_machine_fini): Remove call to grub_machine_fini().
19440
19441 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
19442
3381d274 194432007-10-22 Robert Millan <rmh@aybabtu.com>
19444
19445 * include/grub/time.h: New file.
19446 * include/grub/i386/time.h: Likewise.
19447 * include/grub/powerpc/time.h: Likewise.
19448 * include/grub/sparc64/time.h: Likewise.
19449
19450 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
19451 instances to ...
19452 (KERNEL_MACHINE_TIME_HEADER): ... this.
19453 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19454 instances to ...
19455 (KERNEL_MACHINE_TIME_HEADER): ... this.
19456 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19457 instances to ...
19458 (KERNEL_MACHINE_TIME_HEADER): ... this.
19459
19460 * kern/i386/efi/init.c: Include `<grub/time.h>'.
19461 (grub_millisleep): New function.
19462 * kern/i386/pc/init.c: Include `<grub/time.h>'.
19463 (grub_millisleep): New function.
19464 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
19465 Remove `grub/machine/time.h' include.
19466 (grub_millisleep): New function.
19467 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
19468 Remove `grub/machine/time.h' include.
19469 (grub_millisleep): New function.
19470
19471 * include/grub/misc.h (grub_div_roundup): New function.
19472
19473 * kern/misc.c: Include `<grub/time.h>'.
19474 (grub_millisleep_generic): New function.
19475
19476 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
19477 Add `time.h'.
19478 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
19479 Add `time.h'.
19480 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
19481 `machine/time.h'. Add `time.h'.
19482 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19483
a39a0312 194842007-10-21 Robert Millan <rmh@aybabtu.com>
19485
19486 * include/grub/misc.h (grub_max): New function.
19487
2aad70e2 194882007-10-21 Robert Millan <rmh@aybabtu.com>
19489
19490 * util/misc.c (grub_util_info): Call fflush() before returning.
19491
54b71c4b 194922007-10-20 Robert Millan <rmh@aybabtu.com>
19493
19494 * genmk.rb (Image): Copy `extra_flags' from here ...
19495 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
19496
19497 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
19498 to `argc' and `args' arguments.
19499
a979f513 195002007-10-17 Robert Millan <rmh@aybabtu.com>
19501
19502 * kern/i386/loader.S: New file.
19503
19504 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
19505 * kern/i386/loader.S (grub_linux_prot_size)... to here.
19506 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
19507 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
19508 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
19509 * kern/i386/loader.S (grub_linux_real_addr)... to here.
19510 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
19511 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
19512 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
19513 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
19514 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
19515 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
19516 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
19517 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
19518
19519 * kern/i386/realmode.S: New file.
19520
19521 * kern/i386/pc/startup.S (protstack): Moved from here ...
19522 * kern/i386/realmode.S (protstack)... to here.
19523 * kern/i386/pc/startup.S (gdt): Moved from here ...
19524 * kern/i386/realmode.S (gdt)... to here.
19525 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
19526 * kern/i386/realmode.S (prot_to_real)... to here.
19527
19528 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
19529 `kern/i386/realmode.S'.
19530
825fc8fd 195312007-10-17 Robert Millan <rmh@aybabtu.com>
19532
19533 * include/grub/i386/loader.h: New file.
19534
19535 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
19536 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19537 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19538 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19539 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
19540 * include/grub/i386/loader.h (grub_linux_prot_size)
19541 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19542 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19543 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19544 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
19545
19546 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
19547
e179b2f4 195482007-10-15 Robert Millan <rmh@aybabtu.com>
19549
19550 * normal/misc.c (grub_normal_print_device_info): Do not probe for
19551 filesystem when dev->disk is unset.
19552 Do probe for filesystem even when dev->disk->has_partitions is set.
19553 In case a filesystem is found, always report it.
19554 In case it isn't, if dev->disk->has_partitions is set, report that
19555 a partition table was found instead of reporting that no filesystem
19556 could be identified.
19557
5db82af6 195582007-10-12 Robert Millan <rmh@aybabtu.com>
19559
19560 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
19561 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
19562
68f6ac74 19563 * include/grub/types.h (grub_host_to_target16): New macro.
19564 (grub_host_to_target32): Likewise.
19565 (grub_host_to_target64): Likewise.
19566 (grub_target_to_host16): Likewise.
19567 (grub_target_to_host32): Likewise.
19568 (grub_target_to_host64): Likewise.
5db82af6 19569
19570 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19571 Renamed from to ...
19572 (GRUB_MOD_ALIGN): ...this. Update all users.
19573
68f6ac74 19574 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
19575 grub_host_to_target32.
19576 Replace grub_be_to_cpu32 with grub_target_to_host32.
19577 (load_modules): Likewise.
19578 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
19579 Replace grub_be_to_cpu32 with grub_target_to_host32.
19580 Replace grub_cpu_to_be16 with grub_host_to_target16.
19581 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 19582
3cf497cc 195832007-10-12 Robert Millan <rmh@aybabtu.com>
19584
19585 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
19586 * util/elf/grub-mkimage.c: ... here.
19587
19588 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
19589 `util/powerpc/ieee1275/grub-mkimage.c'.
19590
c8cc3692 195912007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 19592
c8cc3692 19593 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
19594 and make it easier to figure out.
19595 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
19596 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
19597 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
19598 leave us with less than HEAP_MIN_SIZE total heap.
19599 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 19600
5c58b791 196012007-10-03 Robert Millan <rmh@aybabtu.com>
19602
19603 * include/grub/i386/io.h: New file.
19604 * commands/i386/pc/play.c (inb): Removed.
19605 (outb): Removed.
19606 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19607 with grub_outb().
afcd2ef8 19608 * term/i386/pc/serial.c (inb): Removed.
19609 (outb): Removed.
19610 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19611 with grub_outb().
19612 * term/i386/pc/vga.c (inb): Removed.
19613 (outb): Removed.
19614 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
19615 with grub_outb().
5c58b791 19616
1a477ed6 196172007-10-02 Robert Millan <rmh@aybabtu.com>
19618
19619 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
19620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19621 Reported by Marcin Kurek.
19622
6b5d80fa 196232007-09-07 Robert Millan <rmh@aybabtu.com>
19624
19625 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
19626 SmartFirmware version updates (as released by Sven Luther), and avoid
19627 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
19628 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
19629 known broken.
19630
5618afbf 196312007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19632
19633 From Hitoshi Ozeki:
19634 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
19635 when merging two regions.
19636
6139dcd9 196372007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19638
508e39ee 19639 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
19640 * normal/completion.c (grub_normal_do_completion): Likewise.
19641 Reported by Hitoshi Ozeki.
19642
196432007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19644
6139dcd9 19645 Do not use devices at boot in chainloading.
f19dbdb7 19646
6139dcd9 19647 * loader/i386/pc/chainloader.c (boot_drive): New variable.
19648 (boot_part_addr): Likewise.
19649 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
19650 with BOOT_DRIVE and BOOT_PART_ADDR.
19651 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
19652 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
19653
38da6516 196542007-08-29 Robert Millan <rmh@aybabtu.com>
19655
19656 Patch from Simon Peter <dn.tlp@gmx.net>:
19657 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
19658 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
19659 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
19660 util/i386/pc/grub-setup.c_DEPENDENCIES.
19661 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
19662 util/grub-probe.c_DEPENDENCIES.
19663 * conf/powerpc-ieee1275.rmk: Likewise.
19664
29d0928c 196652007-08-28 Robert Millan <rmh@aybabtu.com>
19666
19667 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
19668 to tell grub-mkdevicemap how to name devices.
19669 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
19670 feature).
19671
19672 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
19673 util/i386/get_disk_name.c.
19674 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
19675 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
19676 util/ieee1275/get_disk_name.c.
19677
19678 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
19679
19680 * DISTLIST: Add util/i386/get_disk_name.c and
19681 util/ieee1275/get_disk_name.c.
19682
19683 * util/grub-mkdevicemap.c: Replace device naming logic with
19684 grub_util_get_disk_name() calls.
19685
5a0d3cca 196862007-08-20 Robert Millan <rmh@aybabtu.com>
19687
19688 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
19689 (so that it works for both plural and singular quantities).
19690
8b72db2f 196912007-08-05 Robert Millan <rmh@aybabtu.com>
19692
19693 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
19694 so that [xz] isn't taken into account when determining order.
19695
352466bf 196962007-08-02 Marco Gerards <marco@gnu.org>
19697
19698 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
19699 `include/multiboot2.h', `include/grub/elfload.h',
19700 `include/multiboot.h', `include/grub/multiboot.h',
19701 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
19702 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
19703 `kern/elf.c', `loader/multiboot_loader.c',
19704 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
19705 `loader/i386/pc/multiboot2.c',
19706 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
19707 `util/i386/pc/grub-mkrescue.in'. Remove
19708 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
19709 `include/grub/i386/pc/util/biosdisk.h' and
19710 `include/grub/powerpc/ieee1275/multiboot.h'.
19711
8f096014 197122007-08-02 Bean <bean123ch@gmail.com>
19713
19714 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
19715 (ntfs_mod_SOURCES): New variable.
19716 (ntfs_mod_CFLAGS): Likewise.
19717 (ntfs_mod_LDFLAGS): Likewise.
19718
19719 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
19720 (grub_probe_SOURCES): Likewise.
19721 (grub_emu_SOURCES): Likewise.
19722
19723 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19724 (grub_emu_SOURCES): Likewise.
19725
19726 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
19727 (grub_emu_SOURCES): Likewise.
f19dbdb7 19728
8f096014 19729 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
19730
19731 * fs/ntfs.c: New file.
19732
9959f7db 197332007-08-02 Bean <bean123ch@gmail.com>
19734
19735 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
19736
19737 * file.h (grub_file): Likewise.
19738
19739 * fshelp.h (grub_fshelp_read_file): Likewise.
19740
19741 * util/i386/pc/grub-setup.c (setup): Likewise.
19742 (save_first_sector): Likewise.
19743 (save_blocklists): Likewise.
f19dbdb7 19744
9959f7db 19745 * fs/affs.c (grub_affs_read_file): Likewise.
19746
19747 * fs/ext2.c (grub_ext2_read_file): Likewise.
19748
19749 * fs/fat.c (grub_fat_read_data): Likewise.
19750
19751 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
19752
19753 * fs/hfs.c (grub_hfs_read_file): Likewise.
19754
19755 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19756
19757 * fs/jfs.c (grub_jfs_read_file): Likewise.
19758
19759 * fs/minix.c (grub_minix_read_file): Likewise.
19760
19761 * fs/sfs.c (grub_sfs_read_file): Likewise.
19762
19763 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 19764
9959f7db 19765 * fs/xfs.c (grub_xfs_read_file): Likewise.
19766
19767 * command/blocklist.c (read_blocklist): Likewise.
19768 (print_blocklist): Likewise.
19769
0a203f83 197702007-08-02 Marco Gerards <marco@gnu.org>
19771
19772 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
19773 `util/hostfs.c'.
19774
19775 * disk/host.c: New file.
19776
19777 * util/hostfs.c: Likewise.
19778
19779 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
19780 return `GRUB_ERR_BAD_FS'.
19781 * fs/sfs.c (grub_sfs_mount): Likewise.
19782 * fs/xfs.c (grub_xfs_mount): Likewise.
19783
19784 * include/grub/disk.h (enum grub_disk_dev_id): Add
19785 `GRUB_DISK_DEVICE_HOST_ID'.
19786
19787 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
19788
e5dfe777 197892007-07-24 Jerone Young <jerone@gmail.com>
19790
f19dbdb7 19791 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 19792 modules for compilation.
19793 * conf/powerpc-ieee1275.rmk: Likewise.
19794
19795 * include/multiboot.h: Move multiboot definitions to one file. Rename
19796 many definitions to not get grub specific.
19797 * include/multiboot2.h: Create header with multiboot 2 definitions.
19798 * include/grub/multiboot.h: Header for grub specific function
19799 prototypes and definitions.
19800 * include/grub/multiboot2.h: Likewise.
19801 * include/grub/multiboot_loader.h: Likewise.
19802 * include/grub/i386/pc/multiboot.h: Removed.
19803 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
19804
19805 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
19806 and 2 to allow for one multiboot and module commands.
19807 * loader/multiboot2.c: Add multiboot2 functionality.
19808 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
19809 and definition names.
19810 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
19811 2 functions.
19812 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
19813 ieee1275 specific multiboot2 code.
19814
19815 * kern/i386/pc/startup.S: Change headers and definition names for
19816 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
19817
daf0f0ba 198182007-07-22 Robert Millan <rmh@aybabtu.com>
19819
19820 * geninitheader.sh: Process file specified in first parameter rather
19821 than hardcoding grub_modules_init.lst.
fe6b695a 19822 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 19823 than hardcoding grub_modules_init.h.
19824
19825 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
19826 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
19827 grub_probe_init.[ch] and grub_setup_init.[ch].
19828
19829 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
19830 grub_modules_init.h with grub_emu_init.h.
19831 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
19832 grub_probe_init.[ch] files.
19833 * conf/i386-efi.rmk: Likewise.
19834 * conf/i386-pc.rmk: Likewise.
19835 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
19836 grub_setup_init.[ch] files.
19837
19838 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
19839 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
19840 to initialize modules rather than a list of hardcoded functions.
19841 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
19842 grub_init_all() to initialize modules rather than a list of hardcoded
19843 functions.
19844
54cdc1cc 198452007-07-22 Robert Millan <rmh@aybabtu.com>
19846
19847 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19848 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
19849
ad0686cc 198502007-07-22 Robert Millan <rmh@aybabtu.com>
19851
19852 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19853 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
19854 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
19855 flag when running on SmartFirmware.
19856 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
19857 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
19858 was set.
19859
19860 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19861 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
19862 rather than decreasing it.
19863
19864 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
19865 there's not enough space to do it, fail in the same way as when it
19866 can't be done because there are no partitions.
19867
19868 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
19869 when nvsetenv failed.
19870
969c02ec 198712007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19872
19873 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
19874 because this rule is automatically generated.
19875 (grub-mkrescue): Removed for the same reason as above.
19876
5a79f472 198772007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
19878
19879 Migrate to GNU General Public License Version 3.
f19dbdb7 19880
5a79f472 19881 * COPYING: Replaced with the plain text version of GPLv3.
19882
19883 * config.guess: Updated from gnulib.
19884 * config.sub: Likewise.
19885
19886 * geninit.sh: Output a GPLv3 copyright notice.
19887 * geninitheader.sh: Likewise.
19888 * genmodsrc.sh: Likewise.
19889 * gensymlist.sh.in: Likewise.
19890
19891 * boot/i386/pc/boot.S: Upgraded to GPLv3.
19892 * boot/i386/pc/diskboot.S: Likewise.
19893 * boot/i386/pc/pxeboot.S: Likewise.
19894 * commands/blocklist.c: Likewise.
19895 * commands/boot.c: Likewise.
19896 * commands/cat.c: Likewise.
19897 * commands/cmp.c: Likewise.
19898 * commands/configfile.c: Likewise.
19899 * commands/echo.c: Likewise.
19900 * commands/help.c: Likewise.
19901 * commands/ls.c: Likewise.
19902 * commands/search.c: Likewise.
19903 * commands/terminal.c: Likewise.
19904 * commands/test.c: Likewise.
19905 * commands/videotest.c: Likewise.
19906 * commands/i386/cpuid.c: Likewise.
19907 * commands/i386/pc/halt.c: Likewise.
19908 * commands/i386/pc/play.c: Likewise.
19909 * commands/i386/pc/reboot.c: Likewise.
19910 * commands/i386/pc/vbeinfo.c: Likewise.
19911 * commands/i386/pc/vbetest.c: Likewise.
19912 * commands/ieee1275/halt.c: Likewise.
19913 * commands/ieee1275/reboot.c: Likewise.
19914 * commands/ieee1275/suspend.c: Likewise.
19915 * disk/loopback.c: Likewise.
19916 * disk/lvm.c: Likewise.
19917 * disk/raid.c: Likewise.
19918 * disk/efi/efidisk.c: Likewise.
19919 * disk/i386/pc/biosdisk.c: Likewise.
19920 * disk/ieee1275/ofdisk.c: Likewise.
19921 * font/manager.c: Likewise.
19922 * fs/affs.c: Likewise.
19923 * fs/ext2.c: Likewise.
19924 * fs/fat.c: Likewise.
19925 * fs/fshelp.c: Likewise.
19926 * fs/hfs.c: Likewise.
19927 * fs/hfsplus.c: Likewise.
19928 * fs/iso9660.c: Likewise.
19929 * fs/jfs.c: Likewise.
19930 * fs/minix.c: Likewise.
19931 * fs/sfs.c: Likewise.
19932 * fs/ufs.c: Likewise.
19933 * fs/xfs.c: Likewise.
19934 * hello/hello.c: Likewise.
19935 * include/grub/acorn_filecore.h: Likewise.
19936 * include/grub/arg.h: Likewise.
19937 * include/grub/bitmap.h: Likewise.
19938 * include/grub/boot.h: Likewise.
19939 * include/grub/cache.h: Likewise.
19940 * include/grub/device.h: Likewise.
19941 * include/grub/disk.h: Likewise.
19942 * include/grub/dl.h: Likewise.
19943 * include/grub/elfload.h: Likewise.
19944 * include/grub/env.h: Likewise.
19945 * include/grub/err.h: Likewise.
19946 * include/grub/file.h: Likewise.
19947 * include/grub/font.h: Likewise.
19948 * include/grub/fs.h: Likewise.
19949 * include/grub/fshelp.h: Likewise.
19950 * include/grub/gzio.h: Likewise.
19951 * include/grub/hfs.h: Likewise.
19952 * include/grub/kernel.h: Likewise.
19953 * include/grub/loader.h: Likewise.
19954 * include/grub/lvm.h: Likewise.
19955 * include/grub/misc.h: Likewise.
19956 * include/grub/mm.h: Likewise.
19957 * include/grub/net.h: Likewise.
19958 * include/grub/normal.h: Likewise.
19959 * include/grub/parser.h: Likewise.
19960 * include/grub/partition.h: Likewise.
19961 * include/grub/pc_partition.h: Likewise.
19962 * include/grub/raid.h: Likewise.
19963 * include/grub/rescue.h: Likewise.
19964 * include/grub/script.h: Likewise.
19965 * include/grub/setjmp.h: Likewise.
19966 * include/grub/symbol.h: Likewise.
19967 * include/grub/term.h: Likewise.
19968 * include/grub/terminfo.h: Likewise.
19969 * include/grub/tparm.h: Likewise.
19970 * include/grub/types.h: Likewise.
19971 * include/grub/video.h: Likewise.
19972 * include/grub/efi/api.h: Likewise.
19973 * include/grub/efi/chainloader.h: Likewise.
19974 * include/grub/efi/console.h: Likewise.
19975 * include/grub/efi/console_control.h: Likewise.
19976 * include/grub/efi/disk.h: Likewise.
19977 * include/grub/efi/efi.h: Likewise.
19978 * include/grub/efi/pe32.h: Likewise.
19979 * include/grub/efi/time.h: Likewise.
19980 * include/grub/i386/linux.h: Likewise.
19981 * include/grub/i386/setjmp.h: Likewise.
19982 * include/grub/i386/types.h: Likewise.
19983 * include/grub/i386/efi/kernel.h: Likewise.
19984 * include/grub/i386/efi/loader.h: Likewise.
19985 * include/grub/i386/efi/time.h: Likewise.
19986 * include/grub/i386/pc/biosdisk.h: Likewise.
19987 * include/grub/i386/pc/boot.h: Likewise.
19988 * include/grub/i386/pc/chainloader.h: Likewise.
19989 * include/grub/i386/pc/console.h: Likewise.
19990 * include/grub/i386/pc/init.h: Likewise.
19991 * include/grub/i386/pc/kernel.h: Likewise.
19992 * include/grub/i386/pc/loader.h: Likewise.
19993 * include/grub/i386/pc/memory.h: Likewise.
19994 * include/grub/i386/pc/multiboot.h: Likewise.
19995 * include/grub/i386/pc/serial.h: Likewise.
19996 * include/grub/i386/pc/time.h: Likewise.
19997 * include/grub/i386/pc/vbe.h: Likewise.
19998 * include/grub/i386/pc/vbeblit.h: Likewise.
19999 * include/grub/i386/pc/vbefill.h: Likewise.
20000 * include/grub/i386/pc/vbeutil.h: Likewise.
20001 * include/grub/i386/pc/vga.h: Likewise.
20002 * include/grub/ieee1275/ieee1275.h: Likewise.
20003 * include/grub/ieee1275/ofdisk.h: Likewise.
20004 * include/grub/powerpc/libgcc.h: Likewise.
20005 * include/grub/powerpc/setjmp.h: Likewise.
20006 * include/grub/powerpc/types.h: Likewise.
20007 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20008 * include/grub/powerpc/ieee1275/console.h: Likewise.
20009 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20010 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20011 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20012 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20013 * include/grub/powerpc/ieee1275/time.h: Likewise.
20014 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20015 * include/grub/sparc64/libgcc.h: Likewise.
20016 * include/grub/sparc64/setjmp.h: Likewise.
20017 * include/grub/sparc64/types.h: Likewise.
20018 * include/grub/sparc64/ieee1275/console.h: Likewise.
20019 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20020 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20021 * include/grub/sparc64/ieee1275/time.h: Likewise.
20022 * include/grub/util/biosdisk.h: Likewise.
20023 * include/grub/util/getroot.h: Likewise.
20024 * include/grub/util/lvm.h: Likewise.
20025 * include/grub/util/misc.h: Likewise.
20026 * include/grub/util/raid.h: Likewise.
20027 * include/grub/util/resolve.h: Likewise.
20028 * io/gzio.c: Likewise.
20029 * kern/device.c: Likewise.
20030 * kern/disk.c: Likewise.
20031 * kern/dl.c: Likewise.
20032 * kern/elf.c: Likewise.
20033 * kern/env.c: Likewise.
20034 * kern/err.c: Likewise.
20035 * kern/file.c: Likewise.
20036 * kern/fs.c: Likewise.
20037 * kern/loader.c: Likewise.
20038 * kern/main.c: Likewise.
20039 * kern/misc.c: Likewise.
20040 * kern/mm.c: Likewise.
20041 * kern/parser.c: Likewise.
20042 * kern/partition.c: Likewise.
20043 * kern/rescue.c: Likewise.
20044 * kern/term.c: Likewise.
20045 * kern/efi/efi.c: Likewise.
20046 * kern/efi/init.c: Likewise.
20047 * kern/efi/mm.c: Likewise.
20048 * kern/i386/dl.c: Likewise.
20049 * kern/i386/efi/init.c: Likewise.
20050 * kern/i386/efi/startup.S: Likewise.
20051 * kern/i386/pc/init.c: Likewise.
20052 * kern/i386/pc/lzo1x.S: Likewise.
20053 * kern/i386/pc/startup.S: Likewise.
20054 * kern/ieee1275/ieee1275.c: Likewise.
20055 * kern/powerpc/cache.S: Likewise.
20056 * kern/powerpc/dl.c: Likewise.
20057 * kern/powerpc/ieee1275/cmain.c: Likewise.
20058 * kern/powerpc/ieee1275/crt0.S: Likewise.
20059 * kern/powerpc/ieee1275/init.c: Likewise.
20060 * kern/powerpc/ieee1275/openfw.c: Likewise.
20061 * kern/sparc64/cache.S: Likewise.
20062 * kern/sparc64/dl.c: Likewise.
20063 * kern/sparc64/ieee1275/init.c: Likewise.
20064 * kern/sparc64/ieee1275/openfw.c: Likewise.
20065 * loader/efi/chainloader.c: Likewise.
20066 * loader/efi/chainloader_normal.c: Likewise.
20067 * loader/i386/efi/linux.c: Likewise.
20068 * loader/i386/efi/linux_normal.c: Likewise.
20069 * loader/i386/pc/chainloader.c: Likewise.
20070 * loader/i386/pc/chainloader_normal.c: Likewise.
20071 * loader/i386/pc/linux.c: Likewise.
20072 * loader/i386/pc/linux_normal.c: Likewise.
20073 * loader/i386/pc/multiboot.c: Likewise.
20074 * loader/i386/pc/multiboot_normal.c: Likewise.
20075 * loader/powerpc/ieee1275/linux.c: Likewise.
20076 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20077 * normal/arg.c: Likewise.
20078 * normal/cmdline.c: Likewise.
20079 * normal/command.c: Likewise.
20080 * normal/completion.c: Likewise.
20081 * normal/execute.c: Likewise.
20082 * normal/function.c: Likewise.
20083 * normal/lexer.c: Likewise.
20084 * normal/main.c: Likewise.
20085 * normal/menu.c: Likewise.
20086 * normal/menu_entry.c: Likewise.
20087 * normal/misc.c: Likewise.
20088 * normal/parser.y: Likewise.
20089 * normal/script.c: Likewise.
20090 * normal/i386/setjmp.S: Likewise.
20091 * normal/powerpc/setjmp.S: Likewise.
20092 * normal/sparc64/setjmp.S: Likewise.
20093 * partmap/acorn.c: Likewise.
20094 * partmap/amiga.c: Likewise.
20095 * partmap/apple.c: Likewise.
20096 * partmap/gpt.c: Likewise.
20097 * partmap/pc.c: Likewise.
20098 * partmap/sun.c: Likewise.
20099 * term/gfxterm.c: Likewise.
20100 * term/terminfo.c: Likewise.
20101 * term/efi/console.c: Likewise.
20102 * term/i386/pc/console.c: Likewise.
20103 * term/i386/pc/serial.c: Likewise.
20104 * term/i386/pc/vesafb.c: Likewise.
20105 * term/i386/pc/vga.c: Likewise.
20106 * term/ieee1275/ofconsole.c: Likewise.
20107 * util/biosdisk.c: Likewise.
20108 * util/console.c: Likewise.
20109 * util/genmoddep.c: Likewise.
20110 * util/getroot.c: Likewise.
20111 * util/grub-emu.c: Likewise.
20112 * util/grub-mkdevicemap.c: Likewise.
20113 * util/grub-probe.c: Likewise.
20114 * util/lvm.c: Likewise.
20115 * util/misc.c: Likewise.
20116 * util/raid.c: Likewise.
20117 * util/resolve.c: Likewise.
20118 * util/update-grub.in: Likewise.
20119 * util/update-grub_lib.in: Likewise.
20120 * util/grub.d/00_header.in: Likewise.
20121 * util/grub.d/10_hurd.in: Likewise.
20122 * util/grub.d/10_linux.in: Likewise.
20123 * util/i386/efi/grub-install.in: Likewise.
20124 * util/i386/efi/grub-mkimage.c: Likewise.
20125 * util/i386/pc/grub-install.in: Likewise.
20126 * util/i386/pc/grub-mkimage.c: Likewise.
20127 * util/i386/pc/grub-mkrescue.in: Likewise.
20128 * util/i386/pc/grub-setup.c: Likewise.
20129 * util/i386/pc/misc.c: Likewise.
20130 * util/powerpc/ieee1275/grub-install.in: Likewise.
20131 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20132 * util/powerpc/ieee1275/misc.c: Likewise.
20133 * video/bitmap.c: Likewise.
20134 * video/video.c: Likewise.
20135 * video/i386/pc/vbe.c: Likewise.
20136 * video/i386/pc/vbeblit.c: Likewise.
20137 * video/i386/pc/vbefill.c: Likewise.
20138 * video/i386/pc/vbeutil.c: Likewise.
20139 * video/readers/tga.c: Likewise.
20140
3572d015 201412007-07-02 Robert Millan <rmh@aybabtu.com>
20142
20143 * conf/i386-efi.rmk: Replace obsolete reference to
20144 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20145 with util/getroot.c.
20146 * conf/powerpc-ieee1275.rmk: Likewise.
20147 * conf/sparc64-ieee1275.rmk: Likewise.
20148
20149 * util/grub-emu.c (main): Fix unchecked pointer handling.
20150
2c2a681b 201512007-07-02 Robert Millan <rmh@aybabtu.com>
20152
20153 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20154 invocation to fail, in order to support partition-less media.
20155
20156 * util/i386/pc/grub-install.in: Likewise.
20157
20158 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20159 which fs or partmap modules are needed (akin to its sister scripts).
20160
20161 Also use grub-probe to get rid of unportable /proc/mounts check.
20162
20163 Print the same informational message that the other scripts do, before
fe6b695a 20164 exiting.
2c2a681b 20165
6193defe 201662007-06-23 Robert Millan <rmh@aybabtu.com>
20167
fe6b695a 20168 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 20169 a font file can be found and, if so, echo the GRUB path to it.
20170
20171 * util/update-grub.in: Handle multiple terminals depending on user
20172 input, platform availability and font file presence. Propagate
20173 variables of our findings to /etc/grub.d/ children.
20174
20175 * util/grub.d/00_header.in: Handle multiple terminals, based on
20176 environment setup by update-grub.
20177
eface1dc 201782007-06-23 Robert Millan <rmh@aybabtu.com>
20179
ba50d28f 20180 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 20181
bf697e28 201822007-06-21 Robert Millan <rmh@aybabtu.com>
20183
20184 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
20185 indicate end of data section in kernel image.
20186 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
20187 GRUB_KERNEL_MACHINE_DATA_END.
20188
20189 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
20190 space for it.
20191 * kern/i386/efi/startup.S: Likewise.
20192
20193 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
20194 during image generation. Implement --prefix option to override this
20195 patch.
20196 * util/i386/efi/grub-mkimage.c: Likewise.
20197
20198 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
20199 code to make path relative to its root into a separate function.
20200
20201 * util/i386/pc/grub-install.in: Use newly provided
20202 make_system_path_relative_to_its_root() to convert ${grubdir}, then
20203 pass the result to grub-install --prefix.
20204
baa574b4 202052007-06-13 Robert Millan <rmh@aybabtu.com>
20206
20207 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
20208 DEFAULT_DEVICE_MAP.
20209 * util/grub-emu.c: Use above definitions from misc.h instead of
20210 defining them.
20211 * util/grub-mkdevicemap.c: Likewise.
20212 * util/i386/pc/grub-setup.c: Likewise.
20213 * util/grub-probe.c: Likewise.
20214 (probe): Abort with grub_util_error() when either
20215 grub_guess_root_device or grub_util_get_grub_dev fails.
20216
0215dcbf 202172007-06-12 Robert Millan <rmh@aybabtu.com>
20218
20219 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
20220 "pager" assignment.
20221 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
20222 "pcdata".
20223 * util/grub-probe.c (probe): Likewise for "drive_name".
20224
8af2ab7b 202252007-06-11 Robert Millan <rmh@aybabtu.com>
20226
20227 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
20228 not just the cdrom one.
20229
59d31694 202302007-06-11 Robert Millan <rmh@aybabtu.com>
20231
20232 * util/i386/pc/grub-mkrescue.in: Add "set -e".
20233 Add --pkglibdir=DIR option to override pkglibdir.
20234 Mention --image-type=TYPE in help output.
20235 Fix --grub-mkimage (it was a no-op).
fe6b695a 20236 Abort gracefully when no parameter is given.
59d31694 20237
7ee367e4 202382007-06-11 Robert Millan <rmh@aybabtu.com>
20239
20240 * util/i386/pc/grub-mkrescue.in: New file.
20241 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
20242 * Makefile.in: Handle bin_SCRIPTS.
20243
29b0ed46 202442007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
20245
20246 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
20247 list of video modes.
20248
c0f90770 202492007-06-06 Robert Millan <rmh@aybabtu.com>
20250
20251 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
20252 file doesn't exist, or if it is in a filesystem grub can't read.
20253
20254 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
20255 not abort if GRUB_DRIVE could not be defined. Rearrange generated
20256 header comment to fit in 80 columns when the variables are resolved.
20257
20258 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
20259 could be identified by update-grub. Remove redundant check for
fe6b695a 20260 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 20261 handles that).
20262
fb36dc26 202632007-06-04 Robert Millan <rmh@aybabtu.com>
20264
20265 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
20266
20267 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
20268
20269 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
20270
0c68c93e 202712007-06-04 Robert Millan <rmh@aybabtu.com>
20272
20273 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
20274
20275 * include/grub/partition.h: Declare grub_apple_partition_map_init and
20276 grub_apple_partition_map_fini.
20277
20278 * util/biosdisk.c
20279 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
20280 to access >2 TiB disks).
20281
20282 Print disk->total_sectors with %llu instead of %lu, since this
20283 variable is always 64-bit (prevents wrong disk size from being displayed
20284 on either >2 TiB disk or big-endian CPU).
20285
20286 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
20287 into a generic case that supports all (sane) partition maps.
20288
20289 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
20290 breaks big-endian.
20291
20292 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
20293 and grub_apple_partition_map_fini() after that.
20294
0f23eb74 202952007-06-01 Robert Millan <rmh@aybabtu.com>
20296
20297 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
20298
20299 * util/grub.d/00_header.in: Only enable gfxterm when
20300 convert_system_path_to_grub_path() succeeds.
20301
42c71976 203022007-05-20 Robert Millan <rmh@aybabtu.com>
20303
20304 * util/update-grub_lib.in: New file.
20305 * DISTLIST: Add update-grub_lib.in.
20306 * conf/common.rmk: Generate update-grub_lib and install it in
20307 $(lib_DATA).
20308 * Makefile.in: Add install routine for $(lib_DATA).
20309
20310 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
20311 function provided by update-grub_lib to support arbitrary paths of
20312 unifont.pff.
20313 * util/update-grub.in: Use convert_system_path_to_grub_path() to
20314 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
20315
5beb2291 203162007-05-19 Robert Millan <rmh@aybabtu.com>
20317
20318 * commands/i386/cpuid.c: New module.
20319 * DISTLIST: Add it.
20320 * conf/i386-efi.rmk: Enable cpuid.mod.
20321 * conf/i386-pc.rmk: Likewise.
20322
7262eca1 203232007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20324
20325 * kern/disk.c (grub_disk_read): Check return value of
20326 grub_realloc().
20327
260ba823 203282007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20329
20330 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
20331 arrays.
20332 * disk/raid.c (grub_raid_open): Likewise.
20333
1ecb6cf2 203342007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20335
20336 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
20337 stack instead of on the heap.
20338
20339 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
20340 before doing a read on it.
20341
20342 * configure.ac: Only use -fno-stack-protector for the target
20343 environment.
f19dbdb7 20344
21c8cbb1 203452007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20346
20347 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
20348 __attribute_ ((unused)) to mode_type argument.
20349
20350 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 20351
21c8cbb1 20352 * kern/misc.c (memcmp): Fix prototype.
20353
20354 * include/grub/partition.h [GRUB_UTIL]
20355 (grub_gpt_partition_map_init): Add prototype.
20356 (grub_gpt_partition_map_fini): Likewise.
20357
20358 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
20359 at the right place.
20360
20361 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
20362 (grub_fat_read_data): Likewise.
20363 (grub_fat_find_dir): Likewise.
20364
20365 * font/manager.c (find_glyph): Make table a const.
20366 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 20367
849d55d3 203682007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
20369
20370 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
20371 code, first search for device in /dev/mapper, then in /dev.
20372 (grub_util_get_grub_dev): New function.
20373 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
20374 prototype.
20375 * util/grub-probe.c (probe): Remove check for RAID, call
20376 grub_util_get_grub_dev() instead of
20377 grub_util_biosdisk_get_grub_dev().
20378 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
20379 grub_util_biosdisk_get_grub_dev().
20380 * util/i386/pc/grub-setup.c (main): Likewise.
20381
8fff7c2f 203822007-05-16 Robert Millan <rmh@aybabtu.com>
20383
20384 * DISTLIST: Update for the latest changes.
20385 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
20386 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
20387 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
20388 grub/util/biosdisk.h.
20389 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
20390 grub/util/biosdisk.h.
20391
48e12b52 203922007-05-16 Robert Millan <rmh@aybabtu.com>
20393
20394 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
20395
46b9d128 203962007-05-16 Robert Millan <rmh@aybabtu.com>
20397
20398 * util/i386/efi/grub-install.in: New.
20399 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
20400 newly added grub-install.
20401 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
20402 include.
20403 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
20404 grub/util/biosdisk.h.
20405 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
20406 grub/util/biosdisk.h.
20407
2d1a40a9 204082007-05-16 Robert Millan <rmh@aybabtu.com>
20409
20410 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
20411 * include/grub/util/biosdisk.h: ... here.
20412 * util/i386/pc/biosdisk.c: Moved to ...
20413 * util/biosdisk.c: ... here.
20414 * util/i386/pc/getroot.c: Moved to ...
20415 * util/getroot.c: ... here.
20416 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
20417 * util/grub-mkdevicemap.c: ... here.
20418 * util/i386/pc/grub-probe.c: Moved to ...
20419 * util/grub-probe.c: ... here.
20420
9e26e3bc 204212007-05-15 Robert Millan <rmh@aybabtu.com>
20422
20423 * util/update-grub.in: Remove duplicated line in grub.cfg header
20424 message.
20425
57f96397 204262007-05-13 Robert Millan <rmh@aybabtu.com>
20427
20428 * util/update-grub.in: Fix a few assumptions about the devices holding
20429 /, /boot and /boot/grub being the same.
20430 * util/grub.d/00_header.in: Likewise.
20431 * util/grub.d/10_hurd.in: Likewise.
20432 * util/grub.d/10_linux.in: Likewise.
20433
20434 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
20435 patterns. Use that to define the `.old' suffix as older than `'.
20436
20437 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
20438
20439 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
20440 the grub.cfg header message.
20441
2e610d62 204422007-05-11 Robert Millan <rmh@aybabtu.com>
20443
20444 * util/update-grub.in: Create device.map if it doesn't already exist,
20445 before attempting to run grub-probe.
20446 Check for grub-probe and grub-mkdevicemap with the same code
20447 grub-install is using.
20448 Remove test mode.
20449
3f6a10ef 204502007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
20451
20452 * Makefile.in: Add the datarootdir autoconf variable.
20453
02e7b75e 204542007-05-09 Robert Millan <rmh@aybabtu.com>
20455
20456 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 20457 fail gracefully if dev->disk->partition == NULL.
02e7b75e 20458
75f396cc 204592007-05-07 Robert Millan <rmh@aybabtu.com>
20460
20461 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
20462 determine partition map module.
20463 * util/i386/pc/grub-install.in: Use this feature to decide which
20464 partition module to load, instead of hardcoding pc and gpt.
20465
da65cb36 204662007-05-07 Robert Millan <rmh@aybabtu.com>
20467
20468 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
20469 source directory differs from build directory.
20470
b57d6a91 204712007-05-05 Robert Millan <rmh@aybabtu.com>
20472
20473 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
20474 initialisation.
20475
509d00f1 204762007-05-05 Robert Millan <rmh@aybabtu.com>
20477
20478 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
20479
c48f23ef 204802007-05-05 Robert Millan <rmh@aybabtu.com>
20481
20482 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
20483 command-line arguments via ${GRUB_CMDLINE_LINUX}.
20484
20b97658 204852007-05-05 Robert Millan <rmh@aybabtu.com>
20486
20487 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
20488 (grub_probe_SOURCES): Likewise.
20489 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
20490 GPT and initialize dos_part and bsd_part accordingly.
20491 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
20492 install_bsd_part.
20493 (main): Activate gpt module for use during partition identification,
20494 and deactivate it afterwards.
20495 * util/i386/pc/grub-install.in: Add gpt module to core.img.
20496 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
20497 partition identification, and deactivate it afterwards.
20498
99123174 204992007-05-05 Robert Millan <rmh@aybabtu.com>
20500
20501 * term/i386/pc/console.c (grub_console_fini): Call
20502 grub_term_set_current() before grub_term_unregister().
20503
ebd97f6e 205042007-05-04 Robert Millan <rmh@aybabtu.com>
20505
20506 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
20507 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
20508 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
20509 and update-grub_DATA.
20510 * conf/common.rmk: Build and install update-grub components.
20511 * conf/common.mk: Regenerate.
20512 * util/update-grub.in: New. Core of update-grub.
20513 * util/grub.d/00_header.in: New. Generates grub.cfg header.
20514 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
20515 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
20516 * util/grub.d/README: New. Document grub.d directory layout.
20517
b06a264d 205182007-05-01 Robert Millan <rmh@aybabtu.com>
20519
20520 * util/grub-emu.c: Move initialization functions
20521 grub_util_biosdisk_init() and grub_init_all() before
20522 grub_util_biosdisk_get_grub_dev(), which relies on them.
20523
41f0050e 205242007-04-19 Robert Millan <rmh@aybabtu.com>
20525
20526 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
20527 it is used later.
20528
04582bb3 205292007-04-18 Jerone Young <jerone@gmail.com>
20530
f19dbdb7 20531 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 20532 stanza.
20533
08db4632 205342007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 20535
08db4632 20536 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
20537 continue on and look for device node with real device name.
20538
801b76be 205392007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 20540
fe6b695a 20541 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 20542 ability.
20543 * Makefile.in: Add autoconf package transformation code.
20544 * util/i386/pc/grub-install.in: Likewise.
20545 * util/powerpc/ieee1275/grub-install.in: Likewise.
20546
6795c4e1 205472007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20548
20549 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
20550 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
20551 (EXT2_REVISION): Likewise.
20552 (EXT2_INODE_SIZE): Likewise.
20553 (struct grub_ext2_block_group): Added a missing member
20554 "used_dirs".
20555 (grub_ext2_read_inode): Divide by the inode size in a superblock
20556 instead of 128 to obtain INODES_PER_BLOCK.
20557 Use the macro EXT2_INODE_SIZE instead of directly using
20558 SBLOCK->INODE_SIZE.
20559
d70af616 205602007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20561
20562 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
20563 superblock instead of the structure size to compute an
20564 offset. This fixes the problem that GRUB could not read a
20565 filesystem when inode size is different from 128-byte.
20566
3b801603 205672007-03-05 Marco Gerards <marco@gnu.org>
20568
20569 * normal/main.c (read_config_file): When "menu" is not set, create
20570 an initial context.
20571
4785bfe4 205722007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20573
20574 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
20575 (HEAP_LIMIT): New macro.
20576 (grub_claim_heap): Claim memory up to `heaplimit'.
20577
a0cbb023 205782007-02-21 Hollis Blanchard <hollis@penguinppc.org>
20579
20580 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
20581 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
20582 (_start): Likewise.
20583 (grub_arch_modules_addr): Return address after `_end'.
20584 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
20585 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
20586 (add_segments): Calculate `_end' from phdr size and location.
20587 (ALIGN_UP): Moved to ...
20588 * include/grub/misc.h: here.
20589 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20590 New macro.
20591 (GRUB_IEEE1275_MODULE_BASE): Removed.
20592
fd7d8eba 205932007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20594
20595 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
20596 loop boundary.
20597
9b09e6fc 205982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20599
20600 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
20601 All users updated.
20602 (grub_elf64_load_hook_t): Likewise.
20603 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
20604 debug output.
20605
3ce27299 206062007-02-20 Hollis Blanchard <hollis@penguinppc.org>
20607
20608 * kern/mm.c: Update copyright.
20609 (grub_mm_debug): Correct syntax error.
20610 (grub_mm_dump_free): New function.
20611 (grub_debug_free): Call `grub_free'.
20612 * include/grub/mm.h: Update copyright.
20613 (grub_mm_dump_free): Add declaration.
20614
077d5fee 206152007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20616
20617 * include/grub/ieee1275/ieee1275.h: Update copyright.
20618 * kern/powerpc/ieee1275/init.c: Likewise.
20619 * kern/powerpc/ieee1275/openfw.c: Likewise.
20620
20621 * loader/powerpc/ieee1275/linux.c: Likewise.
20622 * include/grub/elfload.h: Likewise.
20623 * kern/elf.c: Likewise.
20624 (grub_elf32_load): Pass `base' and `size' parameters. Update all
20625 callers.
20626 (grub_elf64_load): Likewise.
20627 (grub_elf32_load_segment): Move to a nested function.
20628 (grub_elf64_load_segment): Likewise.
20629
dc946850 206302007-02-12 Hollis Blanchard <hollis@penguinppc.org>
20631
20632 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
20633 prototype.
20634 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
20635 (grub_heap_len): Likewise.
20636 (HEAP_SIZE): New macro.
20637 (grub_claim_heap): New function.
20638 (grub_machine_init): Don't claim heap directly. Call
20639 `grub_claim_heap'.
20640 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
20641 (grub_available_iterate): New function.
20642
baa2a121 206432007-02-03 Thomas Schwinge <tschwinge@gnu.org>
20644
20645 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
20646 * configure.ac: Use it for testing the HOST and TARGET compilers.
20647
4fe9862e 206482006-12-13 Thomas Schwinge <tschwinge@gnu.org>
20649
20650 * Makefile.in (enable_grub_emu): New variable.
20651 * configure.ac (--enable-grub-emu): New option.
20652 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
20653 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
20654 * conf/i386-pc.rmk: Likewise.
20655 * conf/powerpc-ieee1275.rmk: Likewise.
20656 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
20657
a8aa5762 206582006-12-12 Marco Gerards <marco@gnu.org>
20659
20660 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
20661
20662 * kern/env.c (grub_env_unset): Don't free the member `value' when
20663 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
20664 pointer.
20665
20666 * normal/main.c (current_menu): Removed.
20667 (free_menu): Unset the `menu' environment variable.
20668 (grub_normal_menu_addentry): Make use of the environment variable
20669 `menu', instead of using the global `current_menu'. Allocate
20670 memory for the sourcecode of this entry.
20671 (read_config_file): New argument `nested', changed all callers.
20672 Only in the case of a new context, initialize a new menu. Set the
20673 `menu' environment variable.
20674 (grub_normal_execute): Don't set and unset the environment
20675 variable `menu' here anymore. Only free the menu when leaving the
20676 context.
20677
20678 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
20679 leak.
20680
957b3a3e 206812006-12-11 Marco Gerards <marco@gnu.org>
20682
20683 * normal/menu_entry.c (run): Fix off by one bug so the last line
20684 is executed. Move the loader check to outside the loop.
20685
ef875714 206862006-12-08 Hollis Blanchard <hollis@penguinppc.org>
20687
20688 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
20689
4e739985 206902006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
20691
20692 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
20693 the number of sectors. Reported by Andrey Shuvikov
20694 <mr_hyro@yahoo.com>.
f19dbdb7 20695
790707f2 206962006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
20697
20698 * kern/disk.c (grub_disk_read): When there is a read error, always
20699 try to read only the necessary data.
f19dbdb7 20700
790707f2 20701 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
20702 disk/raid.c.
20703 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
20704 prototype.
20705 [GRUB_UTIL] (grub_raid_fini): Likewise.
20706 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 20707 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 20708 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
20709 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
20710 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
20711 and grub_raid_fini().
f19dbdb7 20712
03e58196 207132006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
20714
20715 * include/grub/types.h (__unused): Rename to UNUSED.
20716 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
20717 (grub_elf64_size): Likewise.
f19dbdb7 20718
ae4f23bf 207192006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20720
20721 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
20722 grub_error_push and grub_error_pop in the error-handling path.
20723 (grub_elf32_load_segment): Only call grub_file_read with non-zero
20724 length.
20725
2166cc83 207262006-11-03 Hollis Blanchard <hollis@penguinppc.org>
20727
20728 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
20729 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20731 (kernel_elf_SOURCES): Likewise.
20732 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
20733 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
20734 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20735 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20736 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
20737 (elf_mod_SOURCES): New variable.
20738 (elf_mod_CFLAGS): Likewise.
20739 (elf_mod_LDFLAGS): Likewise.
20740 * include/grub/types.h (__unused): New macro.
20741 * include/grub/elfload.h: New file.
20742 * kern/elf.c: Likewise.
20743 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
20744 (ELF32_LOADMASK): New macro.
20745 (ELF64_LOADMASK): Likewise.
20746 (vmlinux): Removed.
20747 (grub_linux_load32): New function.
20748 (grub_linux_load64): Likewise.
20749 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
20750 Use grub_elf_t instead of grub_file_t.
20751
a09d5aa5 207522006-11-02 Hollis Blanchard <hollis@penguinppc.org>
20753
20754 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
20755 `catch_result' to struct set_color_args.
20756
d976fc51 207572006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20758
20759 * normal/menu.c: Include grub/script.h.
20760 * normal/menu_entry.c: Likewise.
20761 * include/grub/normal.h: Do not include grub/script.h.
20762
67507549 207632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20764
20765 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
20766
69203a99 207672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20768
20769 * kern/disk.c (grub_disk_open): Print debug messages when opening a
20770 disk.
20771 (grub_disk_close): Print debug messages when closing a disk.
20772 (grub_disk_read): Print debug messages when disk read fails.
20773 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
20774 filesystem type.
20775 * kern/partition.c: Include misc.h.
20776 (grub_partition_iterate): Print debug messages when detecting
20777 partition type.
20778
e2b8278c 207792006-10-27 Hollis Blanchard <hollis@penguinppc.org>
20780
20781 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
20782 is negative.
20783 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
20784
97b2f2ff 207852006-10-26 Hollis Blanchard <hollis@penguinppc.org>
20786
20787 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20788 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
20789
6555d655 207902006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
20791
20792 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
20793 instead of sizeof(lv). Patch by Michael Guntsche.
20794
4d42b77f 207952006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
20796
20797 * disk/lvm.c: Rename VGS to VG_LIST.
20798 (grub_lvm_iterate): Change VGS->LV to VG-LV.
20799 (grub_lvm_open): Likewise.
20800 Thanks to Michael Guntsche for finding this bug.
20801
5d74d927 208022006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20803
20804 * configure.ac (AC_INIT): Bumped to 1.95.
20805
a1bb27e4 208062006-10-14 Robert Millan <rmh@aybabtu.com>
20807
20808 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
20809 with "/dev/.static/dev/md".
20810
e0994b8b 208112006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20812
20813 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
20814 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
20815 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
20816 DRIVE_NAME are always freed.
20817
20818 * util/i386/pc/biosdisk.c (make_device_name): Add one into
20819 DOS_PART, as a DOS partition is counted from one instead of zero
20820 now. Reported by Robert Millan.
20821
ddd5cee9 208222006-10-14 Robert Millan <rmh@aybabtu.com>
20823
20824 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
20825 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
20826 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
20827 string returned by grub_guess_root_device.
20828 * util/i386/pc/grub-setup.c: Likewise.
20829 * util/i386/pc/grub-probefs.c: Likewise.
20830
20831 * util/i386/pc/grub-probefs.c: Rename to ...
20832 * util/i386/pc/grub-probe.c: ... this.
20833 * DISTLIST: Remove grub-probefs, add grub-probe.
20834 * conf/i386-efi.rmk: Likewise.
20835 * conf/i386-pc.rmk: Likewise.
20836 * util/i386/pc/grub-install.in: Likewise.
20837
20838 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
20839 choose which information we want to print.
20840
2b002173 208412006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
20842
20843 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
20844 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
20845 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
20846 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
20847 video/readers/tga.c and video/i386/pc/vbeutil.c.
20848
208492006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
20850
20851 Added support for RAID and LVM.
f19dbdb7 20852
2b002173 20853 * disk/lvm.c: New file.
20854 * disk/raid.c: Likewise.
20855 * include/grub/lvm.h: Likewise.
f19dbdb7 20856 * include/grub/raid.h: Likewise.
2b002173 20857 * include/grub/util/lvm.h: Likewise.
20858 * include/grub/util/raid.h: Likewise.
20859 * util/lvm.c: Likewise.
20860 * util/raid.c: Likewise.
20861
20862 * include/grub/disk.h (grub_disk_dev_id): Add
20863 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
20864 (grub_disk_get_size): New prototype.
20865 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
20866 returns a partition.
20867 (grub_disk_get_size): New function.
f19dbdb7 20868
2b002173 20869 * kern/i386/pc/init.c (make_install_device): Copy the prefix
20870 verbatim if grub_install_dos_part is -2.
20871
20872 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
20873 and LVM devices.
20874
20875 * util/i386/pc/grub-setup.c (setup): New argument
20876 MUST_EMBED. Force embedding of GRUB when the argument is
20877 true. Close FILE before returning.
20878 (main): Add support for RAID and LVM.
f19dbdb7 20879
2b002173 20880 * conf/common.rmk: Add RAID and LVM modules.
20881 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
20882 util/lvm.c.
20883 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
20884
20885 * kern/misc.c (grub_strstr): New function.
20886 * include/grub/misc.h (grub_strstr): New prototype.
20887
050548d0 208882006-10-10 Tristan Gingold <tristan.gingold@bull.net>
20889
20890 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
20891
da849d2d 208922006-10-05 Tristan Gingold <tristan.gingold@bull.net>
20893
20894 * kern/misc.c (grub_strtoull): Guess the base only if not
20895 specified.
20896
97b2f2ff 208972006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 20898
20899 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
20900 PowerMac support.
20901
97b2f2ff 209022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 20903
20904 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
20905
20906 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
20907 Remove `flags' argument. All callers changed.
20908 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
20909 (IEEE1275_IHANDLE_INVALID): New variable.
20910 (IEEE1275_CELL_INVALID): New variable.
20911 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20912 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
20913 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
20914 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
20915 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
20916 codes from Open Firmware. All callers updated.
20917 (grub_ieee1275_next_property): Directly return Open Firmware return
20918 code.
20919 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20920 Standardize error checking from `grub_ieee1275_get_property'.
20921 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
20922 `devalias' to `aliases'. Correct comments. Consolidate error paths.
20923
97b2f2ff 209242006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 20925
20926 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
20927 `instance_to_package_args' to `instance_to_path_args'.
20928
20929 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
20930 `grub_ieee1275_chosen'.
20931
20932 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
20933 `grub_ieee1275_interpret'.
20934
97b2f2ff 209352006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 20936
20937 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
20938
97b2f2ff 209392006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 20940
20941 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
20942 (__cmpdi): Likewise.
20943
20944 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
20945 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
20946 `grub_ssize_t'.
20947
02bb8acc 20948 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 20949
20950 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
20951 to type `grub_ssize_t'.
20952 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
20953
7f9a8531 209542006-09-22 Marco Gerards <marco@gnu.org>
20955
20956 * normal/script.c (grub_script_create_cmdmenu): Skip leading
20957 newlines.
20958
b5ef1102 209592006-09-22 Marco Gerards <marco@gnu.org>
20960
20961 * commands/echo.c: New file.
20962
20963 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
20964
20965 * conf/common.rmk (echo_mod_SOURCES): New variable.
20966 (echo_mod_CFLAGS): Likewise.
20967 (echo_mod_LDFLAGS): Likewise.
20968
2cff3677 209692006-09-22 Marco Gerards <marco@gnu.org>
20970
20971 * normal/main.c (get_line): Malloc memory instead of using
20972 preallocated memory. Removed the arguments `cmdline' and
20973 `max_len'. Updated all callers.
20974
6ba4688b 209752006-09-22 Marco Gerards <marco@gnu.org>
20976
20977 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
20978 (normal_mod_DEPENDENCIES): Likewise.
20979
20980 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
20981 (normal_mod_DEPENDENCIES): Likewise.
20982
20983 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
20984
e02ac02c 209852006-09-22 Johan Rydberg <jrydberg@gnu.org>
20986
20987 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
20988 programs.
20989 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
20990 (normal_mod_DEPENDENCIES): Likewise.
20991 * conf/i386-pc.mk: Regenerate.
20992 * conf/i386-efi.mk: Likewise
20993 * conf/common.mk: Likewise.
20994 * conf/powerpc-ieee1275.mk: Likewise.
20995 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 20996
8d252e44 209972006-09-22 Robert Millan <rmh@aybabtu.com>
20998
20999 Sync with i386 version.
21000 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21001 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21002
209bf7ac 210032006-09-21 Robert Millan <rmh@aybabtu.com>
21004
21005 Import from GRUB Legacy (lib/device.c):
21006 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21007 (init_device_map) [__linux__]: Add support for I2O devices.
21008
6b146090 210092006-09-14 Marco Gerards <marco@gnu.org>
21010
21011 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21012 `-melf_i386'.
21013
e38600a8 210142006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 21015
21016 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21017 /boot/grub/*.lst.
78fa1790 21018
2952da5d 21019 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 21020
2952da5d 21021 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21022 before adding it to device.map.
21023
01b82a64 210242006-08-15 Johan Rydberg <jrydberg@gnu.org>
21025
fe6b695a 21026 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 21027 compiles a file; using the -MD option.
21028 * conf/common.mk: Regenerate.
21029 * conf/i386-pc.mk: Likewise.
21030 * conf/i386-efi.mk: Likewise.
21031 * conf/powerpc-ieee1275.mk: Likewise.
21032 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21033
1064790d 210342006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21035
21036 Move the prototypes of grub_setjmp and grub_longjmp to
21037 cpu/setjmp.h, so that each architecture may specify different
21038 attributes.
f19dbdb7 21039
1064790d 21040 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21041 (grub_longjmp): Likewise.
21042 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21043 (grub_longjmp): Likewise.
21044 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21045 (grub_longjmp): Likewise.
21046
21047 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21048 [!GRUB_UTIL] (grub_longjmp): Removed.
21049
29dda3ed 210502006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21051
21052 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21053 "color!" method does not return any value.
21054
ad2a06ed 210552006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21056
21057 * include/grub/bitmap.h: New file.
21058
21059 * include/grub/i386/pc/vbeutil.h: Likewise.
21060
21061 * video/bitmap.c: Likewise.
21062
21063 * video/readers/tga.c: Likewise.
21064
21065 * video/i386/pc/vbeutil.c: Likewise.
21066
21067 * commands/videotest.c: Code cleanup and updated to reflect to new
21068 video API.
21069
21070 * term/gfxterm.c: Likewise.
21071
21072 * video/video.c: Likewise.
21073
21074 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21075 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21076 (bitmap_mod_SOURCES): New entry.
21077 (bitmap_mod_CFLAGS): Likewise.
21078 (bitmap_mod_LDFLAGS): Likewise.
21079 (tga_mod_SOURCES): Likewise.
21080 (tga_mod_CFLAGS): Likewise.
21081 (tga_mod_LDFLAGS): Likewise.
21082
21083 * include/grub/video.h (grub_video_blit_operators): New enum type.
21084 (grub_video_render_target): Changed as forward declaration and moved
21085 actual definition to be video driver specific.
21086 (grub_video_adapter.blit_bitmap): Added blitting operator.
21087 (grub_video_adapter.blit_render_target): Likewise.
21088 (grub_video_blit_bitmap): Likewise.
21089 (grub_video_blit_render_target): Likewise.
21090
21091 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21092 driver specific render target definition.
21093 (grub_video_vbe_map_rgba): Added driver internal helper.
21094 (grub_video_vbe_unmap_color): Updated to use
21095 grub_video_i386_vbeblit_info.
21096 (grub_video_vbe_get_video_ptr): Likewise.
21097
21098 * include/grub/i386/pc/vbeblit.h
21099 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21100 grub_video_i386_vbeblit_info.
21101 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21102 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21103 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21104 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21105 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21106 (grub_video_i386_vbeblit_index_index): Likewise.
21107 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21108 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21109 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21110 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21111 operator.
21112 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21113 operator.
21114
21115 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21116 include/grub/i386/pc/vbeblit.h.
21117
21118 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21119 Updated to use grub_video_i386_vbeblit_info.
21120 (grub_video_i386_vbefill_R8G8B8): Likewise.
21121 (grub_video_i386_vbefill_index): Likewise.
21122 (grub_video_i386_vbefill): Added generic filler.
21123
21124 * video/i386/pc/vbefill.c: Updated to reflect changes on
21125 include/grub/i386/pc/vbefill.h.
21126
21127 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21128 grub_video_i386_vbeblit_info.
21129 (grub_video_vbe_unmap_color): Likewise.
21130 (grub_video_vbe_blit_glyph): Likewise.
21131 (grub_video_vbe_scroll): Likewise.
21132 (grub_video_vbe_draw_pixel): Removed function.
21133 (grub_video_vbe_get_pixel): Likewise.
21134 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21135 updated code to use it.
21136 (common_blitter): Added common blitter for render target and bitmap.
21137 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21138 (grub_video_vbe_blit_render_target): Likewise.
21139
bc8c036d 211402006-07-30 Johan Rydberg <jrydberg@gnu.org>
21141
21142 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21143 is in text mode if there is no console control protocol instance
21144 available.
21145
684a8eff 211462006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21147
21148 * include/grub/video.h: Code cleanup.
21149
21150 * include/grub/i386/pc/vbe.h: Likewise.
21151
21152 * video/i386/pc/vbe.c: Likewise.
21153
21154 * video/i386/pc/vbeblit.c: Likewise.
21155
21156 * video/i386/pc/vbefill.c: Likewise.
21157
21158 * video/video.c: Likewise. Also added more comments.
21159
5915059b 211602006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21161
21162 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21163 (struct grub_biosdisk_dap): Likewise.
21164
21165 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21166 linkage settings for all functions.
21167
90ce5d56 211682006-07-12 Marco Gerards <marco@gnu.org>
21169
21170 * configure.ac (--enable-mm-debug): Fix typo.
21171
21172 * genkernsyms.sh.in: Use proper quoting for `CC'.
21173
43e7f879 211742006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
21175
21176 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
21177 (normal_mod_ASFLAGS): Remove "-m32".
21178
4889bdec 211792006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
21180
21181 * util/misc.c: Include config.h.
21182 [!HAVE_MEMALIGN]: Do not include malloc.h.
21183 (grub_memalign): Use posix_memalign, if present. Then, use
21184 memalign, if present. Otherwise, emit an error.
21185
21186 * util/grub-emu.c: Do not include malloc.h.
21187
21188 * include/grub/util/misc.h: Include unistd.h. This is required for
21189 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
21190 D. Eades III <hde@foobar-qux.org>.
21191
21192 * configure.ac (AC_GNU_SOURCE): Added.
21193 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
21194 type.
21195
fd39d4da 211962006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
21197
21198 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
21199 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
21200
b786f3b5 212012006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
21202
21203 * include/grub/types.h (grub_host_addr_t): Rename to
21204 grub_target_addr_t.
21205 (grub_host_off_t): Rename to grub_target_off_t.
21206 (grub_host_size_t): Rename to grub_target_size_t.
21207 (grub_host_ssize_t): Rename to grub_target_ssize_t.
21208 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
21209
21210 * include/grub/kernel.h (struct grub_module_header): Change type
21211 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
21212 (grub_module_info): Likewise.
f19dbdb7 21213
051988bb 212142006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21215
21216 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
21217 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
21218 Velazquez <jesus.velazquez@gmail.com>.
21219
deae281b 212202006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21221
21222 Count partitions from 1 instead of 0 in the string representation
21223 of partitions. Still use 0-based internally.
f19dbdb7 21224
deae281b 21225 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
21226 (sun_partition_map_iterate): Use grub_partition_t instead of
21227 struct grub_partition *. Cast DESC->START_CYLINDER to
21228 grub_uint64_t after converting the endian.
21229 (sun_partition_map_probe): Subtract 1 for PARTNUM.
21230 (sun_partition_map_get_name): Add 1 to P->INDEX.
21231
21232 * partmap/pc.c (grub_partition_parse): Subtract 1 for
21233 PCDATA->DOS_PART.
21234 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
21235
21236 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
21237 zero instead of one.
21238 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
21239 (gpt_partition_map_get_name): Add 1 into P->INDEX.
21240
21241 * partmap/apple.c (apple_partition_map_iterate): Change the type
21242 of POS to unsigned.
21243 (apple_partition_map_probe): Subtract 1 for PARTNUM.
21244 (apple_partition_map_get_name): Add 1 into P->INDEX.
21245
21246 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
21247 of POS to unsigned.
21248 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
21249 calculate the offset of a partition.
21250 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
21251 (amiga_partition_map_get_name): Add 1 into P->INDEX.
21252
21253 * partmap/acorn.c (acorn_partition_map_find): Change the type of
21254 SECTOR to grub_disk_addr_t.
21255 (acorn_partition_map_iterate): Likewise.
21256 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
21257 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
21258 top.
21259 (acorn_partition_map_get_name): Add 1 into P->INDEX.
21260
21261 * kern/i386/pc/init.c (make_install_device): Add 1 into
21262 GRUB_INSTALL_DOS_PART.
21263
21264 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
21265 conditional.
21266
524a1e6a 212672006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21268
21269 Clean up the code to support 64-bit addressing in disks and
21270 files. This change is not enough for filesystems yet.
f19dbdb7 21271
524a1e6a 21272 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
21273 type of "start" to grub_uint64_t.
21274 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
21275 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
21276 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
21277 convert addresses.
21278
21279 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
21280 to grub_disk_addr_t.
21281
21282 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
21283 string.
21284
21285 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21286
21287 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
21288 to char *.
21289
21290 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
21291
21292 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
21293
21294 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
21295
21296 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
21297 to grub_off_t, to detect an error from grub_file_seek.
21298 (grub_multiboot_load_elf32): Likewise.
21299
21300 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
21301 maximum unsigned long value when an overflow is detected.
21302 (grub_strtoull): New function.
21303 (grub_divmod64): Likewise.
21304 (grub_lltoa): use grub_divmod64.
21305
21306 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
21307 grub_disk_addr_t.
21308 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
21309 the pointer to next character. Use grub_strtoull instead of
21310 grub_strtoul.
21311 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
21312 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
21313 respectively.
21314
fe6b695a 21315 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 21316 return value is signed.
21317 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
21318 test if OFFSET is less than zero, as OFFSET is unsigned now.
21319
21320 * kern/disk.c (struct grub_disk_cache): Change the type of
21321 "sector" to grub_disk_addr_t.
21322 (grub_disk_cache_get_index): Change the type of SECTOR to
21323 grub_disk_addr_t. Calculate the hash with SECTOR casted to
21324 unsigned after shifting.
21325 (grub_disk_cache_invalidate): Change the type of SECTOR to
21326 grub_disk_addr_t.
21327 (grub_disk_cache_unlock): Likewise.
21328 (grub_disk_cache_store): Likewise.
21329 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
21330 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
21331 grub_disk_addr_t and grub_uint64_t, respectively.
21332 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
21333 body, as the value of OFFSET is tweaked by
21334 grub_disk_check_range. Change the types of START_SECTOR, LEN and
21335 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
21336 respectively.
21337 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
21338 body, as the value of OFFSET is tweaked by
21339 grub_disk_check_range. Change the types of LEN and N to
21340 grub_size_t.
21341
21342 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
21343 and "saved_offset" to grub_off_t.
21344 (test_header): Cast BUF to char *.
21345 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
21346 to char *.
21347 (grub_gzio_read): Change the types of OFFSET and SIZE to
21348 grub_off_t and grub_size_t, respectively.
21349
21350 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
21351 Removed.
21352 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
21353 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
21354 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
21355 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
21356 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
21357
21358 * include/grub/types.h (grub_off_t): Unconditionally set to
21359 grub_uint64_t.
21360 (grub_disk_addr_t): Changed to grub_uint64_t.
21361
21362 * include/grub/partition.h (struct grub_partition): Change the
21363 types of "start", "len" and "offset" to grub_disk_addr_t,
21364 grub_uint64_t and grub_disk_addr_t, respectively.
21365 (grub_partition_get_start): Return grub_disk_addr_t.
21366 (grub_partition_get_len): Return grub_uint64_t.
21367
21368 * include/grub/misc.h (grub_strtoull): New prototype.
21369 (grub_divmod64): Likewise.
21370
21371 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
21372 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
21373 grub_off_t, respectively.
21374 All callers and references changed.
21375
21376 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
21377 grub_size_t in "read".
21378 All callers and references changed.
21379
21380 * include/grub/file.h (struct grub_file): Change the types of
21381 "offset" and "size" to grub_off_t and grub_off_t,
21382 respectively. Change the type of SECTOR to grub_disk_addr_t in
21383 "read_hook".
21384 (grub_file_read): Change the type of LEN to grub_size_t.
21385 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
21386 grub_off_t.
21387 (grub_file_size): Return grub_off_t.
21388 (grub_file_tell): Likewise.
21389 All callers and references changed.
21390
21391 * include/grub/disk.h (struct grub_disk_dev): Change the types of
21392 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
21393 "write".
21394 (struct grub_disk): Change the type of "total_sectors" to
21395 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 21396 "read_hook".
524a1e6a 21397 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
21398 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
21399 (grub_disk_write): Likewise.
21400 All callers and references changed.
21401
21402 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
21403 char * for grub_strncmp to silence gcc.
21404 (grub_iso9660_mount): Likewise.
21405 (grub_iso9660_mount): Likewise.
21406 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
21407 return statement.
21408 (grub_iso9660_iterate_dir): Likewise.
21409 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
21410
21411 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
21412 LEN to grub_disk_addr_t and grub_size_t, respectively.
21413
21414 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21415
21416 * fs/jfs.c (grub_jfs_read_file): Likewise.
21417
21418 * fs/minix.c (grub_jfs_read_file): Likewise.
21419
21420 * fs/sfs.c (grub_jfs_read_file): Likewise.
21421
21422 * fs/ufs.c (grub_jfs_read_file): Likewise.
21423
21424 * fs/xfs.c (grub_jfs_read_file): Likewise.
21425
21426 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
21427 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
21428 respectively.
21429
21430 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
21431 BLKNR to -1 instead of returning GRUB_ERRNO.
21432 (grub_ext2_read_file): Change the types of SECTOR and
21433 LEN to grub_disk_addr_t and grub_size_t, respectively.
21434
21435 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
21436 LEN to grub_disk_addr_t and grub_size_t, respectively.
21437
21438 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
21439 grub_file_read.
21440
21441 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
21442 string. Do not cast SECTOR explicitly.
21443
21444 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
21445 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
21446 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
21447 grub_disk_addr_t and grub_size_t, respectively. If the sector is
21448 over 2TB and LBA mode is not supported, raise an error.
21449 (get_safe_sectors): New function.
21450 (grub_biosdisk_read): Use get_safe_sectors.
21451 (grub_biosdisk_write): Likewise.
21452
21453 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
21454 (grub_efidisk_write): Likewise.
21455
21456 * disk/loopback.c (delete_loopback): Cosmetic changes.
21457 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
21458 correctly.
21459 (grub_loopback_open): Likewise.
21460 (grub_loopback_read): Likewise. Also, change the type of POS to
21461 grub_off_t, and fix the usage of grub_memset.
21462
21463 * commands/i386/pc/play.c: Include grub/machine/time.h.
21464
21465 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
21466 print FILE->SIZE.
21467
21468 * commands/configfile.c: Include grub/env.h.
21469
21470 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
21471 GRUB_ERRNO directly instead. Change the type of POS to
21472 grub_off_t. Follow the coding standard.
21473
21474 * commands/blocklist.c: Include grub/partition.h.
21475 (grub_cmd_blocklist): Return an error if the underlying device is
21476 not a disk. Take the starting sector of a partition into account,
21477 if a partition is used.
21478
21479 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
21480 a length field.
21481 (lba_mode): Support 64-bit addresses.
21482 (chs_mode): Likewise.
21483 (copy_buffer): Adapted to the new offsets of a length field and a
21484 segment field.
21485 (blocklist_default_start): Allocate 64-bit space.
21486
21487 * boot/i386/pc/boot.S (force_lba): Removed.
21488 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 21489 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 21490 space.
21491 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
21492 is useless.
21493 (lba_mode): Refactored to support a 64-bit address. More size
21494 optimization.
21495 (setup_sectors): Likewise.
21496
53af98ad 214972006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21498
21499 * DISTLIST: Added include/grub/i386/linux.h. Removed
21500 include/grub/i386/pc/linux.h
21501
21502 * configure.ac (AC_INIT): Bumped to 1.94.
21503
21504 * config.guess: Updated from gnulib.
21505 * config.sub: Likewise.
21506 * install-sh: Likewise.
21507 * mkinstalldirs: Likewise.
21508
b4c1940a 215092006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21510
21511 * conf/common.rmk (grub_modules_init.lst): Depended on
21512 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
21513 MODSRCFILES.
21514
21515 * genmk.rb (PModule::rule): Reverted the previous change.
21516
cfca1cfd 215172006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21518
21519 * conf/common.rmk (grub_modules_init.lst): Depends on
21520 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
21521 that the target does not exist before producing.
21522 (grub_modules_init.h): Remove the target before generating.
21523 (grub_emu_init.c): Likewise.
21524
21525 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
21526
aa6d7826 215272006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
21528
21529 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
21530 for the target-specific tests. Make sure that we also have the
21531 up-to-date target variables for those tests.
21532
26c607b9 215332006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21534
21535 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
21536 (PModule::rule): Likewise.
21537
0162321a 215382006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21539
21540 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
21541 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
21542 target-specific flags should be prefixed.
21543 (PModule::rule): Likewise.
21544
6c826348 215452006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
21546
21547 * configure.ac (CMP): Check if cmp is available explicitly.
21548
b977bf01 215492006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
21550
21551 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
21552 (target_cpu): New variable.
21553 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 21554
b977bf01 21555 * util/i386/pc/grub-install.in (host_cpu): Removed.
21556 (target_cpu): New variable.
21557 (pkglibdir): Use target_cpu instead of host_cpu.
21558
21559 * util/genmoddep.c: Removed.
f19dbdb7 21560
b977bf01 21561 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
21562 instead of GRUB_HOST_SIZEOF_VOID_P.
21563 * kern/dl.c: Likewise.
21564
21565 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
21566 ...
21567 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21568 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21569 (GRUB_TARGET_SIZEOF_LONG): ... this.
21570 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21571 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21572 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21573 to ...
21574 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21575 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21576 (GRUB_TARGET_SIZEOF_LONG): ... this.
21577 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21578 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21579 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
21580 to ...
21581 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
21582 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
21583 (GRUB_TARGET_SIZEOF_LONG): ... this.
21584 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
21585 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
21586
21587 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
21588 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
21589 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
21590 instead of GRUB_HOST_SIZEOF_LONG.
21591 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
21592 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
21593 GRUB_CPU_WORDS_BIGENDIAN.
21594 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
21595 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
21596 grub_host_ssize_t.
21597
21598 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
21599 (genmoddep_SOURCES): Likewise.
21600 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
21601 (genmoddep_SOURCES): Likewise.
21602 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
21603 (genmoddep_SOURCES): Likewise.
21604 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
21605 Likewise.
21606 (genmoddep_SOURCES): Likewise.
21607
21608 * genmoddep.awk: New file.
21609
21610 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
21611 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
21612 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
21613 (PModule::rule): Likewise.
21614 (Program::rule): Likewise.
21615 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
21616 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
21617 respectively.
21618
21619 * configure.ac: Rewritten intensively to use host and target
21620 instead of build and host, respectively.
21621
21622 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
21623 (host_cpu): Removed.
21624 (target_cpu): New variable.
21625 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
21626 (BUILD_CC): Removed.
21627 (BUILD_CFLAGS): Likewise.
21628 (BUILD_CPPFLAGS): Likewise.
21629 (TARGET_CC): New variable.
21630 (TARGET_CFLAGS): Likewise.
21631 (TARGET_CPPFLAGS): Likewise.
21632 (TARGET_LDFLAGS): Likewise.
21633 (AWK): Likewise.
21634 (include): Use target_cpu instead of host_cpu.
21635 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 21636
b977bf01 21637 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
21638
f09771a1 216392006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
21640
21641 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
21642 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
21643 field 'false' to 'exec_on_false'.
21644 (grub_script_create_cmdif): Renamed argument names to reflect above
21645 changes.
21646
21647 * normal/execute.c (grub_script_execute_cmdif): Likewise.
21648
21649 * normal/script.c (grub_script_create_cmdif): Likewise.
21650
118f4fb3 216512006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
21652
21653 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
21654 top.
21655 (grub_hfsplus_btree_recptr): Likewise.
21656 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
21657 FILEBLOCK both to pass a block number and store next block
21658 number.
21659 (grub_hfsplus_read_block): Rewritten heavily to support an extent
21660 overflow file correctly. Specify errors appropriately, because
21661 fshelp expects that GRUB_ERRNO is set when fails. Reuse
21662 grub_hfsplus_btree_recptr to get the pointer to a found key.
21663 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
21664 is found.
21665
21666 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
21667 linux.mod.
21668 (_linux_mod_SOURCES): New variable.
21669 (_linux_mod_CFLAGS): Likewise.
21670 (_linux_mod_LDFLAGS): Likewise.
21671 (linux_mod_SOURCES): Likewise.
21672 (linux_mod_CFLAGS): Likewise.
21673 (linux_mod_LDFLAGS): Likewise.
21674
21675 * DISTLIST: Added loader/i386/efi/linux.c,
21676 loader/i386/efi/linux_normal.c and
21677 include/grub/i386/efi/loader.h.
21678
21679 * loader/i386/efi/linux.c: New file.
21680 * loader/i386/efi/linux_normal.c: Likewise.
21681 * include/grub/i386/efi/loader.h: Likewise.
21682
89a7d726 216832006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
21684
21685 * commands/blocklist.c: New file.
21686
21687 * DISTLIST: Added commands/blocklist.c.
21688
21689 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 21690 color for the background, and a darker color for the foreground.
89a7d726 21691 (grub_console_checkkey): Return READ_KEY.
21692 (grub_console_cls): Set the background to
21693 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
21694
21695 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
21696
21697 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
21698 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
21699
21700 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
21701 prototype.
21702
21703 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
21704 BG. The spec is wrong again.
21705
21706 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
21707 prototype.
21708 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
21709
21710 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21711 commands/blocklist.c.
21712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 21713
89a7d726 21714 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
21715 (blocklist_mod_SOURCES): New variable.
21716 (blocklist_mod_CFLAGS): Likewise.
21717 (blocklist_mod_LDFLAGS): Likewise.
21718
75c8f258 217192006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
21720
21721 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
21722 duplication.
21723 (lba_mode): Use %eax more intensively to reduce the code size.
21724
da2eb181 217252006-05-20 Marco Gerards <marco@gnu.org>
21726
21727 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
21728
21729 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
21730 for `menuentry'.
21731 (script): Accept leading newlines.
21732 (newlines): New rule to describe 0 or more newlines.
21733 (commands): Accept `command' with trailing newline. Fixed the
21734 order in which arguments were passed to `grub_script_add_cmd'.
21735 Accept commands separated by newlines.
21736 (function): Changed to accept newlines.
21737 (menuentry) Rewritten.
21738
21739 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
21740 front of the list, instead of to the end.
21741
577b4050 217422006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
21743
21744 * util/i386/pc/grub-install.in (bindir): New variable.
21745 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
21746 Shaver <lbgwjl@gmail.com>.
21747
0d6e1189 217482006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
21749
21750 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
21751 grub/machine/linux.h
21752 * loader/i386/pc/linux.c: Likewise.
21753
21754 * include/grub/i386/pc/linux.h: Moved to ...
21755 * include/grub/i386/linux.h: ... here.
21756
21757 * include/grub/i386/linux.h (struct linux_kernel_params): New
21758 struct.
f19dbdb7 21759
31b86e9f 217602006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
21761
21762 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
21763 checking.
21764 (grub_video_vbe_blit_glyph): Likewise.
21765 (grub_video_vbe_blit_bitmap): Likewise.
21766 (grub_video_vbe_blit_render_target): Likewise.
21767
83b984de 217682006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
21769
21770 * configure.ac (--with-platform): Properly quote the square
21771 brackets.
21772
5f0413bd 217732006-05-08 Marco Gerards <marco@gnu.org>
21774
21775 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
21776 this...
21777 (kernel_elf_HEADERS): ...to this. Updated all users.
21778 (grubof_symlist.c): Renamed from this...
21779 (kernel_elf_symlist.c): ...to this. Updated all users.
21780 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21781 (grubof_SOURCES): Renamed from this...
21782 (kernel_elf_SOURCES): ...to this.
21783 (grubof_HEADERS): Renamed from this...
21784 (kernel_elf_HEADERS): ...to this.
21785 (grubof_CFLAGS): Renamed from this...
21786 (kernel_elf_CFLAGS): ...to this.
21787 (grubof_ASFLAGS): Renamed from this...
21788 (kernel_elf_ASFLAGS): ...to this.
21789 (grubof_LDFLAGS): Renamed from this...
21790 (kernel_elf_LDFLAGS): ...to this.
21791
21792 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
21793 this...
21794 (kernel_elf_HEADERS): ...to this. Updated all users.
21795 (grubof_symlist.c): Renamed from this...
21796 (kernel_elf_symlist.c): ...to this. Updated all users.
21797 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
21798 (grubof_SOURCES): Renamed from this...
21799 (kernel_elf_SOURCES): ...to this.
21800 (grubof_HEADERS): Renamed from this...
21801 (kernel_elf_HEADERS): ...to this.
21802 (grubof_CFLAGS): Renamed from this...
21803 (kernel_elf_CFLAGS): ...to this.
21804 (grubof_ASFLAGS): Renamed from this...
21805 (kernel_elf_ASFLAGS): ...to this.
21806 (grubof_LDFLAGS): Renamed from this...
21807 (kernel_elf_LDFLAGS): ...to this.
21808
21809 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
21810 `kernel.elf' instead of `grubof'.
21811
05568c2e 218122006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
21813
21814 Add --with-platform to configure. Use pkglibdir instead of
21815 pkgdatadir. This is reported by Roger Leigh.
21816
21817 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
21818 (host_vendor): Likewise.
21819 (host_os): Likewise.
21820 (pkgdatadir): Likewise.
21821 (platform): New variable.
21822 (pkglibdir): Likewise.
21823 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 21824
05568c2e 21825 * util/i386/pc/grub-install.in (datadir): Removed.
21826 (host_vendor): Likewise.
21827 (host_os): Likewise.
21828 (pkgdatadir): Likewise.
21829 (platform): New variable.
21830 (pkglibdir): Likewise.
21831 Use PKGLIBDIR instead of PKGDATADIR.
21832
21833 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
21834 instead of GRUB_DATADIR.
21835 (main): Likewise.
21836 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21837 (main): Likewise.
21838 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21839 (main): Likewise.
21840
21841 * configure.ac (--with-platform): New option.
21842 Use PLATFORM instead of HOST_VENDOR to specify a platform.
21843
21844 * Makefile.in: Include a makefile based on PLATFORM instead of
21845 HOST_VENDOR.
21846 (pkgdatadir): Not appended by the machine type.
21847 (pkglibdir): Appended by the machine type.
21848 (host_vendor): Removed.
21849 (platform): New variable.
21850 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
21851 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
21852 (uninstall): Likewise.
21853
4e93851c 218542006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
21855
21856 Use the environment context in the menu. Remove the commands
21857 "default" and "timeout", and use variables instead.
f19dbdb7 21858
4e93851c 21859 * normal/menu.c: Include grub/env.h.
21860 (print_entry): Cast TITLE to silence gcc.
21861 (get_timeout): New function.
21862 (set_timeout): Likewise.
21863 (get_entry_number): Likewise.
21864 (run_menu): Use a default entry, a fallback entry and a timeout
21865 in the environment variables "default", "fallback" and
21866 "timeout". Also, tweak the default entry if it is not within the
21867 current menu entries.
21868 (grub_menu_run): Use a fallback entry in the environment variable
21869 "fallback".
21870
21871 * normal/main.c (read_config_file): Do not initialize
21872 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
21873 NEWMENU->TIMEOUT.
21874 (grub_normal_execute): Use a data slot to store the menu.
21875
21876 * include/grub/normal.h (struct grub_menu): Removed default_entry,
21877 fallback_entry and timeout.
21878 (struct grub_menu_list): Removed.
21879 (grub_menu_list_t): Likewise.
21880 (struct grub_context): Likewise.
21881 (grub_context_t): Likewise.
21882 (grub_context_get): Likewise.
21883 (grub_context_get_current_menu): Likewise.
21884 (grub_context_push_menu): Likewise.
21885 (grub_context_pop_menu): Likewise.
21886 (grub_default_init): Likewise.
21887 (grub_default_fini): Likewise.
21888 (grub_timeout_init): Likewise.
21889 (grub_timeout_fini): Likewise.
21890
21891 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
21892 and timeout.mod.
21893 (normal_mod_SOURCES): Removed normal/context.c.
21894
21895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
21896 commands/default.c, commands/timeout.c and normal/context.c.
21897 (normal_mod_SOURCES): Removed normal/context.c.
21898
21899 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
21900 commands/timeout.c and normal/context.c.
21901 (normal_mod_SOURCES): Removed normal/context.c.
21902
21903 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
21904 commands/default.c, commands/timeout.c and normal/context.c.
21905 (normal_mod_SOURCES): Removed normal/context.c.
21906
21907 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
21908 timeout.mod.
21909 (default_mod_SOURCES): Removed.
21910 (default_mod_CFLAGS): Likewise.
21911 (default_mod_LDFLAGS): Likewise.
21912 (timeout_mod_SOURCES): Removed.
21913 (timeout_mod_CFLAGS): Likewise.
21914 (timeout_mod_LDFLAGS): Likewise.
21915
21916 * DISTLIST: Removed commands/default.c, commands/timeout.c and
21917 normal/context.c.
21918
21919 * commands/default.c: Removed.
21920 * commands/timeout.c: Likewise.
21921 * normal/context.c: Likewise.
21922
1eb9cc1d 219232006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
21924
21925 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
21926
385bd9c1 219272006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
21928
21929 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
21930 "next" to "prev" for readability.
21931 (struct grub_env_sorted_var): New struct.
21932 (grub_env_context): Renamed to ...
21933 (initial_context): ... this.
21934 (grub_env_var_context): Renamed to ...
21935 (current_context): ... this.
21936 (grub_env_find): Look only at CURRENT_CONTEXT.
21937 (grub_env_context_open): Rewritten to copy exported variables from
21938 previous context.
21939 (grub_env_context_close): Rewritten according to the new
21940 scheme. Also, add an assertion to prevent the initial context from
21941 removed.
21942 (grub_env_insert): Removed the code for the sorted list.
21943 (grub_env_remove): Likewise.
21944 (grub_env_export): Simply mark the variable with
21945 GRUB_ENV_VAR_GLOBAL.
21946 (grub_env_set): A cosmetic change for naming consistency.
21947 (grub_env_get): Likewise.
21948 (grub_env_unset): Likewise.
21949 (grub_env_iterate): Rewritten to sort variables within this
21950 function.
21951 (grub_register_variable_hook): Fixed for naming consistency. Call
21952 grub_env_find again, only if NAME is not found at the first time.
21953 (mangle_data_slot_name): New function.
21954 (grub_env_set_data_slot): Likewise.
21955 (grub_env_get_data_slot): Likewise.
21956 (grub_env_unset_data_slot): Likewise.
21957
21958 * include/grub/env.h (grub_env_var_type): New enum.
21959 (GRUB_ENV_VAR_LOCAL): New constant.
21960 (GRUB_ENV_VAR_GLOBAL): Likewise.
21961 (GRUB_ENV_VAR_DATA): Likewise.
21962 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
21963 "type".
21964 (grub_env_set): Replace VAR with NAME for consistency.
21965 (grub_register_variable_hook): Likewise.
21966 (grub_env_export): Specify the name of the argument.
21967 (grub_env_set_data_slot): New prototype.
21968 (grub_env_get_data_slot): Likewise.
21969 (grub_env_unset_data_slot): Likewise.
21970
7f362539 219712006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
21972
21973 Extend the loader so that GRUB can accept a loader which comes
21974 back to GRUB when a loaded image exits. Also, this change adds
21975 support for a chainloader on EFI.
f19dbdb7 21976
7f362539 21977 * term/efi/console.c: Include grub/misc.h.
21978 (grub_console_checkkey): Display a scan code on the top for
21979 debugging. This will be removed once the EFI port gets stable.
21980 Correct the scan code mapping.
21981
21982 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
21983 allocate memory from larger regions, in order to reduce the number
21984 of allocated regions. Otherwise, the MacOSX loader panics.
21985 (filter_memory_map): Avoid less than 1MB for compatibility with
21986 other loaders.
21987 (add_memory_regions): Allocate from the tail of a region, if
21988 possible, to avoid allocating a region near to 1MB, for the MacOSX
21989 loader.
21990
21991 * kern/efi/init.c (grub_efi_set_prefix): Specify
21992 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
21993
21994 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
21995 argument IMAGE_HANDLE and specify it to get a loaded image.
21996 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
21997 grub_efi_get_loaded_image.
fe6b695a 21998 (grub_efi_get_filename): Divide the length by the size of
7f362539 21999 grub_efi_char16_t.
22000 (grub_efi_get_device_path): New function.
22001 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22002 the length by the size of grub_efi_char16_t for a file path device
22003 path node.
22004
22005 * kern/loader.c (grub_loader_noreturn): New variable.
22006 (grub_loader_set): Accept a new argument NORETURN. Set
22007 GRUB_LOADER_NORETURN to NORETURN.
22008 All callers changed.
22009 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22010 grub_machine_fini.
22011
22012 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22013 prototype.
22014 (grub_efi_get_loaded_image): Take an argument to specify an image
22015 handle.
22016
22017 * include/grub/loader.h (grub_loader_set): Added one more argument
22018 NORETURN.
22019
22020 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22021 instead of grub_efi_open_protocol.
22022 (grub_efidisk_get_device_name): Likewise.
22023 (grub_efidisk_close): Print a newline.
22024 (grub_efidisk_get_device_handle): Fixed to use
22025 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22026 GRUB_EFI_DEVICE_PATH_TYPE.
22027
22028 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22029 * kern/efi/efi.c (device_path_guid): ... here.
22030
22031 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22032 chain.mod.
22033 (kernel_mod_HEADERS): Added efi/disk.h.
22034 (_chain_mod_SOURCES): New variable.
22035 (_chain_mod_CFLAGS): Likewise.
22036 (_chain_mod_LDFLAGS): Likewise.
22037 (chain_mod_SOURCES): Likewise.
22038 (chain_mod_CFLAGS): Likewise.
22039 (chain_mod_LDFLAGS): Likewise.
22040
22041 * DISTLIST: Added include/grub/efi/chainloader.h,
22042 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22043
22044 * include/grub/efi/chainloader.h: New file.
22045 * loader/efi/chainloader.c: Likewise.
22046 * loader/efi/chainloader_normal.c: Likewise.
22047
c0111d6e 220482006-04-30 Marco Gerards <marco@gnu.org>
22049
22050 * commands/configfile.c (grub_cmd_source): New function.
22051 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22052 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22053
df5341da 220542006-04-30 Marco Gerards <marco@gnu.org>
22055
22056 * normal/execute.c (grub_script_execute_cmd): Change the return
22057 type to `grub_err_t'. Correctly return the error.
22058 (grub_script_execute_cmdline): In case a command line is not a
22059 command or a function, try to interpret it as an assignment.
22060
f85934bd 220612006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22062
22063 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22064 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22065 skip a node whose name is obviously invalid as UTF-16,
22066 i.e. contains a NUL character. Stop the iteration when the last
22067 directory entry is found. Instead of using the return value of
22068 grub_hfsplus_btree_iterate_node, store the value in RET and use
22069 it, because the iterator can be stopped by the last directory
22070 entry.
22071
8f8a2cf8 220722006-04-30 Marco Gerards <marco@gnu.org>
22073
22074 * include/grub/env.h (grub_env_export): New prototype. Reported
22075 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22076
a27e84ce 220772006-04-30 Marco Gerards <marco@gnu.org>
22078
22079 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22080 size of the extents in a catalog file record.
22081
eaef0553 220822006-04-29 Marco Gerards <marco@gnu.org>
22083
22084 * commands/configfile.c (grub_cmd_configfile): Execute the
22085 configfile within its own context.
22086
22087 * include/grub/env.h (grub_env_context_open): New prototype.
22088 (grub_env_context_close): Likewise.
22089
22090 * kern/env.c (grub_env): Removed.
22091 (grub_env_sorted): Likewise.
22092 (grub_env_context): New variable.
22093 (grub_env_var_context): Likewise.
22094 (grub_env_find): Search both the active context and the global
22095 context.
22096 (grub_env_context_open): New function.
22097 (grub_env_context_close): Likewise.
22098 (grub_env_insert): Likewise.
22099 (grub_env_remove): Likewise.
22100 (grub_env_export): Likewise.
22101 (grub_env_set): Changed to use helper functions to avoid code
22102 duplication.
22103 (grub_env_iterate): Rewritten so both the current context and the
22104 global context are being used.
22105
22106 * normal/command.c (export_command): New function.
22107 (grub_command_init): Register the `export' function.
22108
7b455f4d 221092006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22110
22111 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22112 explicitly to suppress gcc's warnings.
22113 * fs/fat.c (grub_fat_find_dir): Likewise.
22114 (grub_fat_label): Likewise.
22115 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22116 (grub_xfs_mount): Likewise.
22117 (grub_xfs_label): Likewise.
22118 * fs/affs.c (grub_affs_mount): Likewise.
22119 (grub_affs_label): Likewise.
22120 (grub_affs_iterate_dir): Likewise.
22121 * fs/sfs.c (grub_sfs_mount): Likewise.
22122 (grub_sfs_iterate_dir): Likewise.
22123 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22124 * fs/hfs.c (grub_hfs_mount): Likewise.
22125 (grub_hfs_cmp_catkeys): Likewise.
22126 (grub_hfs_find_dir): Likewise.
22127 (grub_hfs_dir): Likewise.
22128 (grub_hfs_label): Likewise.
22129 * fs/jfs.c (grub_jfs_mount): Likewise.
22130 (grub_jfs_opendir): Likewise.
22131 (grub_jfs_getent): Likewise.
22132 (grub_jfs_lookup_symlink): Likewise.
22133 (grub_jfs_label): Likewise.
22134 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22135 (grub_hfsplus_iterate_dir): Likewise.
22136 (grub_hfsplus_btree_iterate_node): Made static.
22137
22138 * util/grub-emu.c (prefix): New variable.
22139 (grub_machine_set_prefix): New function.
22140 (main): Do not set the environment variable "prefix" here. Only
22141 set PREFIX, which is used later by grub_machine_set_prefix.
22142
22143 * include/grub/video.h: Do not include grub/symbol.h.
22144 (grub_video_register): Not exported. This symbol is not defined in
22145 the kernel.
22146 (grub_video_unregister): Likewise.
22147 (grub_video_iterate): Likewise.
22148 (grub_video_setup): Likewise.
22149 (grub_video_restore): Likewise.
22150 (grub_video_get_info): Likewise.
22151 (grub_video_get_blit_format): Likewise.
22152 (grub_video_set_palette): Likewise.
22153 (grub_video_get_palette): Likewise.
22154 (grub_video_set_viewport): Likewise.
22155 (grub_video_get_viewport): Likewise.
22156 (grub_video_map_color): Likewise.
22157 (grub_video_map_rgb): Likewise.
22158 (grub_video_map_rgba): Likewise.
22159 (grub_video_fill_rect): Likewise.
22160 (grub_video_blit_glyph): Likewise.
22161 (grub_video_blit_bitmap): Likewise.
22162 (grub_video_blit_render_target): Likewise.
22163 (grub_video_scroll): Likewise.
22164 (grub_video_swap_buffers): Likewise.
22165 (grub_video_create_render_target): Likewise.
22166 (grub_video_delete_render_target): Likewise.
22167 (grub_video_set_active_render_target): Likewise.
22168
22169 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22170 Undefined.
22171 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22172
22173 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
22174 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22175 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22176 instead of $(srcdir)/genkernsyms.sh.
22177
22178 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
22179 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22180 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22181 instead of $(srcdir)/genkernsyms.sh.
22182
22183 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
22184 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22185 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22186 instead of $(srcdir)/genkernsyms.sh.
22187
22188 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
22189 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22190 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22191 instead of $(srcdir)/genkernsyms.sh.
22192
22193 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
22194 genkernsyms.sh.
22195
22196 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
22197 genkernsyms.sh.
22198 (gensymlist.sh): New target.
22199 (genkernsyms.sh): Likewise.
22200
22201 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
22202 genkernsyms.sh.in and gensymlist.sh.in.
22203
22204 * genkernsyms.sh: Removed.
22205 * gensymlist.sh: Likewise.
f19dbdb7 22206
7b455f4d 22207 * genkernsyms.sh.in: New file.
22208 * gensymlist.sh.in: Likewise.
22209
1885bb27 222102006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22211
22212 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
22213 clobber "prefix", since we may have already set it manually.
22214
71538dff 222152006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22216
22217 * kern/misc.c (abort): New alias for grub_abort.
22218
2965c7cc 222192006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
22220
22221 A new machine-specific function "grub_machine_set_prefix" is
22222 defined. This is called after loading modules, so that a prefix
22223 initialization can use modules. Also, this change adds an
22224 intensive debugging feature for the memory manager via the
22225 configure option "--enable-mm-debug".
f19dbdb7 22226
2965c7cc 22227 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
22228 PART.LEN.
22229
22230 * kern/sparc64/ieee1275/init.c (abort): Removed.
22231 (grub_stop): Likewise.
22232 (grub_exit): New function.
22233 (grub_set_prefix): Renamed to ...
22234 (grub_machine_set_prefix): ... this.
22235 (grub_machine_init): Do not call grub_set_prefix.
22236
22237 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
22238 (grub_machine_set_prefix): ... this.
22239 (grub_machine_init): Do not call grub_set_prefix.
22240
22241 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
22242 (grub_machine_init): Do not set the prefix here.
22243
22244 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
22245
22246 * kern/efi/init.c: Include grub/mm.h.
22247 (grub_efi_set_prefix): New function.
22248
22249 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
22250 (grub_efi_get_filename): New function.
22251 (grub_print_device_path): Renamed to ...
22252 (grub_efi_print_device_path): ... this.
22253
22254 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
22255 [MM_DEBUG] (grub_realloc): Likewise.
22256 [MM_DEBUG] (grub_free): Likewise.
22257 [MM_DEBUG] (grub_memalign): Likewise.
22258 [MM_DEBUG] (grub_mm_debug): New variable.
22259 [MM_DEBUG] (grub_debug_malloc): New function.
22260 [MM_DEBUG] (grub_debug_free): New function.
22261 [MM_DEBUG] (grub_debug_realloc): New function.
22262 [MM_DEBUG] (grub_debug_memalign): New function.
22263
22264 * kern/misc.c (grub_abort): Print a newline to distinguish
22265 the message.
22266
22267 * kern/main.c (grub_main): Call grub_machine_set_prefix and
22268 grub_set_root_dev after loading modules. This is necessary when
22269 setting a prefix depends on modules.
22270
22271 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
22272 (grub_efi_print_device_path): ... this.
22273 (grub_efi_get_filename): New prototype.
22274 (grub_efi_set_prefix): Likewise.
22275
22276 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
22277 and grub/disk.h.
22278 (grub_efidisk_get_device_handle): New prototype.
22279 (grub_efidisk_get_device_name): Likewise.
22280
22281 * include/grub/mm.h: Include config.h.
22282 (MM_DEBUG): Removed.
22283 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
22284 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
22285 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
22286 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
22287 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
22288 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
22289 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
22290 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
22291 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
22292
22293 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
22294
22295 * disk/efi/efidisk.c: Include grub/partition.h.
22296 (iterate_child_devices): New function.
22297 (add_device): First, compare only last device path nodes, so that
22298 devices are sorted by the types.
22299 (grub_efidisk_get_device_handle): New function.
22300 (grub_efidisk_get_device_name): Likewise.
22301
22302 * configure.ac (--enable-mm-debug): New option to enable the
22303 memory manager debugging feature. This makes the binary much
22304 bigger, so is disabled by default.
22305
9cacaa17 223062006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
22307
22308 Use grub_abort instead of grub_stop, and grub_exit must be
22309 define in each architecture now. Also, this change adds support
22310 for EFI disks.
f19dbdb7 22311
9cacaa17 22312 * util/i386/pc/grub-probefs.c: Include grub/term.h.
22313 (grub_getkey): New function.
22314 (grub_term_get_current): Likewise.
22315
22316 * util/i386/pc/grub-setup.c: Include grub/term.h.
22317 (grub_getkey): New function.
22318 (grub_term_get_current): Likewise.
22319
22320 * util/misc.c (grub_stop): Renamed to ...
22321 (grub_exit): ... this.
22322
22323 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
22324 (grub_exit): ... this.
22325 (grub_machine_init): Use grub_abort instead of abort.
22326 (grub_stop): Removed.
22327
22328 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
22329 abort.
22330
22331 * kern/i386/pc/startup.S (grub_exit): New function.
22332 (cold_reboot): New label.
22333
22334 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
22335 (grub_efi_init): Call grub_efidisk_init.
22336 (grub_efi_fini): Call grub_efidisk_fini.
22337
22338 * kern/efi/efi.c: Include grub/mm.h.
22339 (grub_efi_console_control_guid): Renamed to ...
22340 (console_control_guid): ... this.
22341 (grub_efi_loaded_image_guid): Renamed to ...
22342 (loaded_image_guid): ... this.
22343 (grub_efi_locate_handle): New function.
22344 (grub_efi_open_protocol): Likewise.
22345 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
22346 GRUB_EFI_CONSOLE_CONTROL_GUID.
22347 (grub_efi_exit): Removed.
22348 (grub_stop): Likewise.
22349 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
22350 (grub_exit): New function.
22351 (grub_print_device_path): Likewise.
22352
22353 * kern/rescue.c (grub_rescue_cmd_exit): New function.
22354 (grub_enter_rescue_mode): Register "exit".
22355
22356 * kern/misc.c (grub_real_dprintf): A cosmetic change.
22357 (grub_abort): New function.
22358
22359 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
22360
22361 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
22362
22363 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
22364
22365 * include/grub/efi/efi.h (grub_efi_exit): Removed.
22366 (grub_print_device_path): New prototype.
22367 (grub_efi_locate_handle): Likewise.
22368 (grub_efi_open_protocol): Likewise.
22369
22370 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
22371 * disk/efi/efidisk.c: Likewise.
22372
22373 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
22374
22375 * include/grub/efi/console_control.h
22376 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
22377
22378 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
22379 last 8 bytes as an array.
22380 (GRUB_EFI_DISK_IO_GUID): New macro.
22381 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
22382 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
22383 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
22384 grub_uint8_t.
22385 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
22386 (struct grub_efi_device_path): Rename the member "sub_type" to
22387 "subtype".
22388 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
22389 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
22390 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
22391 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
22392 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
22393 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
22394 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
22395 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
22396 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
22397 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
22398 (struct grub_efi_pci_device_path): New structure.
22399 (grub_efi_pci_device_path_t): New type.
22400 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
22401 (struct grub_efi_pccard_device_path): New structure.
22402 (grub_efi_pccard_device_path_t): New type.
22403 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
22404 (struct grub_efi_memory_mapped_device_path): New structure.
22405 (grub_efi_memory_mapped_device_path_t): New type.
22406 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
22407 (struct grub_efi_vendor_device_path): New structure.
22408 (grub_efi_vendor_device_path_t): New type.
22409 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
22410 (struct grub_efi_controller_device_path): New structure.
22411 (grub_efi_controller_device_path_t): New type.
22412 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
22413 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
22414 (struct grub_efi_acpi_device_path): New structure.
22415 (grub_efi_acpi_device_path_t): New type.
22416 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
22417 (struct grub_efi_expanded_acpi_device_path): New structure.
22418 (grub_efi_expanded_acpi_device_path_t): New type.
22419 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
22420 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
22421 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
22422 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
22423 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
22424 (struct grub_efi_atapi_device_path): New structure.
22425 (grub_efi_atapi_device_path_t): New type.
22426 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
22427 (struct grub_efi_fibre_channel_device_path): New structure.
22428 (grub_efi_fibre_channel_device_path_t): New type.
22429 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
22430 (struct grub_efi_1394_device_path): New structure.
22431 (grub_efi_1394_device_path_t): New type.
22432 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
22433 (struct grub_efi_usb_device_path): New structure.
22434 (grub_efi_usb_device_path_t): New type.
22435 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
22436 (struct grub_efi_usb_class_device_path): New structure.
22437 (grub_efi_usb_class_device_path_t): New type.
22438 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
22439 (struct grub_efi_i2o_device_path): New structure.
22440 (grub_efi_i2o_device_path_t): New type.
22441 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
22442 (struct grub_efi_mac_address_device_path): New structure.
22443 (grub_efi_mac_address_device_path_t): New type.
22444 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
22445 (struct grub_efi_ipv4_device_path): New structure.
22446 (grub_efi_ipv4_device_path_t): New type.
22447 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
22448 (struct grub_efi_ipv6_device_path): New structure.
22449 (grub_efi_ipv6_device_path_t): New type.
22450 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
22451 (struct grub_efi_infiniband_device_path): New structure.
22452 (grub_efi_infiniband_device_path_t): New type.
22453 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
22454 (struct grub_efi_uart_device_path): New structure.
22455 (grub_efi_uart_device_path_t): New type.
22456 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
22457 (struct grub_efi_vendor_messaging_device_path): New structure.
22458 (grub_efi_vendor_messaging_device_path_t): New type.
22459 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
22460 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
22461 (struct grub_efi_hard_drive_device_path): New structure.
22462 (grub_efi_hard_drive_device_path_t): New type.
22463 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
22464 (struct grub_efi_cdrom_device_path): New structure.
22465 (grub_efi_cdrom_device_path_t): New type.
22466 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
22467 (struct grub_efi_vendor_media_device_path): New structure.
22468 (grub_efi_vendor_media_device_path_t): New type.
22469 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
22470 (struct grub_efi_file_path_device_path): New structure.
22471 (grub_efi_file_path_device_path_t): New type.
22472 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
22473 (struct grub_efi_protocol_device_path): New structure.
22474 (grub_efi_protocol_device_path_t): New type.
22475 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
22476 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
22477 (struct grub_efi_bios_device_path): New structure.
22478 (grub_efi_bios_device_path_t): New type.
22479 (struct grub_efi_disk_io): New structure.
22480 (grub_efi_disk_io_t): New type.
22481 (struct grub_efi_block_io_media): New structure.
22482 (grub_efi_block_io_media_t): New type.
22483 (struct grub_efi_block_io): New structure.
22484 (grub_efi_block_io_t): New type.
22485
22486 * include/grub/misc.h (grub_stop): Removed.
22487 (grub_exit): New prototype.
22488 (grub_abort): Likewise.
22489
22490 * include/grub/disk.h (enum grub_disk_dev_id): Added
22491 GRUB_DISK_DEVICE_EFIDISK_ID.
22492
22493 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
22494 disk/efi/efidisk.c.
22495 (kernel_syms.lst): Remove the target if an error occurs.
22496
49986a9f 224972006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
22498
22499 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
22500 as it was simply too buggy.
22501
970d3b8a 225022006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
22503
22504 * kern/misc.c (grub_lltoa): New function.
22505 (grub_vsprintf): Added support for the long long suffix,
22506 i.e. "ll".
22507
ff04ec24 225082006-04-20 Hollis Blanchard <hollis@penguinppc.org>
22509
22510 * Makefile.in (LDFLAGS): Add variable.
22511 (LD): Remove variable.
22512 * configure.ac: Add -m32 to LDFLAGS.
22513 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
22514 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
22515 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
22516 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
22517 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
22518 variables.
22519 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
22520 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
22521 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
22522
37e5e1a4 225232006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
22524
22525 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
22526 length for unknown glyph.
22527
c352d8dd 225282006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22529
2eab1c0d 22530 Add support for pre-loaded modules into the EFI port.
f19dbdb7 22531
2eab1c0d 22532 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
22533 completely. Accept one more argument DIR. The caller has changed.
22534
22535 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
22536
22537 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
22538 (grub_efi_loaded_image_guid): New variable.
22539 (grub_efi_get_loaded_image): New function.
22540 (grub_arch_modules_addr): Likewise.
22541
22542 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
22543 prototype.
22544
22545 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
22546 (struct grub_efi_loaded_image): New structure.
22547 (grub_efi_loaded_image_t): New type.
22548
225492006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 22550
c352d8dd 22551 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
22552 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
22553 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
22554
6d01d6b4 225552006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
22556
22557 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
22558
976a4ea0 225592006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
22560
22561 * DISTLIST: Added include/grub/efi/console.h,
22562 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
22563 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22564
22565 * include/grub/efi/console.h: New file.
22566 * include/grub/efi/time.h: Likewise.
22567 * include/grub/i386/efi/kernel.h: Likewise.
22568 * kern/efi/init.c: Likewise.
22569 * kern/efi/mm.c: Likewise.
22570 * term/efi/console.c: Likewise.
f19dbdb7 22571
976a4ea0 22572 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
22573 (grub_stop): Removed.
22574 (grub_get_rtc): Likewise.
22575 (grub_machine_init): Simply call grub_efi_init.
22576 (grub_machine_fini): Call grub_efi_fini.
22577
22578 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
22579 (grub_efi_output_string): Removed.
22580 (grub_efi_stall): New function.
22581 (grub_stop): Likewise.
22582 (grub_get_rtc): Likewise.
22583
22584 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
22585 (grub_efi_stall): New prototype.
22586 (grub_efi_allocate_pages): Likewise.
22587 (grub_efi_free_pages): Likewise.
22588 (grub_efi_get_memory_map): Likewise.
22589 (grub_efi_mm_init): Likewise.
22590 (grub_efi_mm_fini): Likewise.
22591 (grub_efi_init): Likewise.
22592 (grub_efi_fini): Likewise.
22593
22594 * include/grub/i386/efi/time.h: Do not include
22595 grub/symbol.h. Include grub/efi/time.h.
22596 (GRUB_TICKS_PER_SECOND): Removed.
22597 (grub_get_rtc): Likewise.
22598
22599 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
22600 Added padding. The EFI spec is buggy.
22601 (GRUB_EFI_BLACK): New macro.
22602 (GRUB_EFI_BLUE): Likewise.
22603 (GRUB_EFI_GREEN): Likewise.
22604 (GRUB_EFI_CYAN): Likewise.
22605 (GRUB_EFI_RED): Likewise.
22606 (GRUB_EFI_MAGENTA): Likewise.
22607 (GRUB_EFI_BROWN): Likewise.
22608 (GRUB_EFI_LIGHTGRAY): Likewise.
22609 (GRUB_EFI_BRIGHT): Likewise.
22610 (GRUB_EFI_DARKGRAY): Likewise.
22611 (GRUB_EFI_LIGHTBLUE): Likewise.
22612 (GRUB_EFI_LIGHTGREEN): Likewise.
22613 (GRUB_EFI_LIGHTCYAN): Likewise.
22614 (GRUB_EFI_LIGHTRED): Likewise.
22615 (GRUB_EFI_LIGHTMAGENTA): Likewise.
22616 (GRUB_EFI_YELLOW): Likewise.
22617 (GRUB_EFI_WHITE): Likewise.
22618 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
22619 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
22620 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
22621 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
22622 (GRUB_EFI_BACKGROUND_RED): Likewise.
22623 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
22624 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
22625 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
22626 (GRUB_EFI_TEXT_ATTR): Likewise.
22627
22628 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
22629 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
22630 (kernel_mod_HEADERS): Added efi/time.h.
22631
83709125 226322006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
22633
22634 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
22635 include/grub/efi/api.h, include/grub/efi/console_control.h,
22636 include/grub/efi/efi.h, include/grub/efi/pe32.h,
22637 include/grub/i386/efi/time.h, kern/efi/efi.c,
22638 kern/i386/efi/init.c, kern/i386/efi/startup.S,
22639 and util/i386/efi/grub-mkimage.c.
22640
22641 * Makefile.in (RMKFILES): Added i386-efi.rmk.
22642
22643 * genmk.rb (PModule#rule): Do not export symbols if
22644 #{prefix}_EXPORTS is set to "no".
22645
22646 * conf/i386-efi.mk: New file.
22647 * conf/i386-efi.rmk: Likewise.
22648 * include/grub/efi/api.h: Likewise.
22649 * include/grub/efi/console_control.h: Likewise.
22650 * include/grub/efi/efi.h: Likewise.
22651 * include/grub/efi/pe32.h: Likewise.
22652 * include/grub/i386/efi/time.h: Likewise.
22653 * kern/efi/efi.c: Likewise.
22654 * kern/i386/efi/init.c: Likewise.
22655 * kern/i386/efi/startup.S: Likewise.
22656 * util/i386/efi/grub-mkimage.c: Likewise.
22657
226582006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 22659
22660 * include/grub/script.h: Include <grub/parser.h> and
22661 "grub_script.tab.h".
22662 (struct grub_lexer_param): New struct.
22663 (struct grub_parser_param): Likewise.
22664 (grub_script_create_arglist): Pass the state in an argument.
22665 (grub_script_add_arglist): Likewise.
22666 (grub_script_create_cmdline): Likewise.
22667 (grub_script_create_cmdblock): Likewise.
22668 (grub_script_create_cmdif): Likewise.
22669 (grub_script_create_cmdmenu): Likewise.
22670 (grub_script_add_cmd): Likewise.
22671 (grub_script_arg_add): Likewise.
22672 (grub_script_lexer_ref): Likewise.
22673 (grub_script_lexer_deref): Likewise.
22674 (grub_script_lexer_record_start): Likewise.
22675 (grub_script_lexer_record_stop): Likewise.
22676 (grub_script_mem_record): Likewise.
22677 (grub_script_mem_record_stop): Likewise.
22678 (grub_script_malloc): Likewise.
22679 (grub_script_yylex): Likewise.
22680 (grub_script_yyparse): Likewise.
22681 (grub_script_yyerror): Likewise.
22682 (grub_script_yylex): Likewise.
22683 (grub_script_lexer_init): Return the state.
22684
22685 * normal/lexer.c (grub_script_lexer_state): Removed variable.
22686 (grub_script_lexer_done): Likewise.
22687 (grub_script_lexer_getline): Likewise.
22688 (grub_script_lexer_refs): Likewise.
22689 (script): Likewise.
22690 (newscript): Likewise.
22691 (record): Likewise.
22692 (recording): Likewise.
22693 (recordpos): Likewise.
22694 (recordlen): Likewise.
22695 (grub_script_lexer_init): Return the state instead of setting
22696 global variables.
22697 (grub_script_lexer_ref): Use the newly added argument for state
22698 instead of globals.
22699 (grub_script_lexer_deref): Likewise.
22700 (grub_script_lexer_record_start): Likewise.
22701 (grub_script_lexer_record_stop): Likewise.
22702 (recordchar): Likewise.
22703 (nextchar): Likewise.
22704 (grub_script_yylex2): Likewise.
22705 (grub_script_yylex): Likewise.
22706 (grub_script_yyerror): Likewise.
22707
22708 * normal/parser.y (func_mem): Removed variable.
22709 (menu_entry): Likewise.
22710 (err): Likewise.
22711 (%lex-param): New parser option.
22712 (%parse-param): Likewise.
22713 (script): Always return the AST.
22714 (argument): Pass the state around.
22715 (arguments): Likewise.
22716 (grubcmd): Likewise.
22717 (commands): Likewise.
22718 (function): Likewise.
22719 (menuentry): Likewise.
22720 (if_statement): Likewise.
22721 (if): Likewise.
22722
22723 * normal/script.c (grub_script_memused): Removed variable.
22724 (grub_script_parsed): Likewise.
22725 (grub_script_malloc): Added a state argument. Use that instead of
22726 global variables.
22727 (grub_script_mem_record): Likewise.
22728 (grub_script_mem_record_stop): Likewise.
22729 (grub_script_arg_add): Likewise.
22730 (grub_script_add_arglist): Likewise.
22731 (grub_script_create_cmdline): Likewise.
22732 (grub_script_create_cmdif): Likewise.
22733 (grub_script_create_cmdmenu): Likewise.
22734 (grub_script_add_cmd): Likewise.
22735 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 22736
e2a8c904 227372006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 22738
22739 * normal/command.c (grub_command_init): Remove the title command.
22740
22741 * normal/lexer.c (grub_script_yylex): Renamed from this...
22742 (grub_script_yylex2): ... to this.
22743 (grub_script_yylex): New function. Temporary
22744 introduced to filter some tokens.
22745 (grub_script_yyerror): Print a newline.
22746
22747 * normal/main.c (read_config_file): Output information about the
22748 lines that contain errors. Wait for a key after all lines have
22749 been processed. Don't return an empty menu.
22750
22751 * normal/parser.y (func_mem): Don't initialize.
22752 (menu_entry): Likewise.
22753 (err): New variable.
22754 (script): Don't return anything when an error was encountered.
22755 (ws, returns): Removed rules.
22756 (argument): Disabled concatenated variable support.
22757 (arguments): Remove explicit separators.
22758 (grubcmd): Likewise.
22759 (function): Likewise.
22760 (menuentry): Likewise.
22761 (if): Likewise.
22762 (commands): Likewise. Add error handling.
22763
22764 * normal/script.c (grub_script_create_cmdline): If
22765 `grub_script_parsed' is 0, assume the parser encountered an error.
22766
c9a86192 227672006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
22768
22769 * configure.ac: Add support for EFI. Fix the typo
22770 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
22771
70f3b243 227722006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22773
22774 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
22775 foreign multibyte characters should be shown correctly.
22776
65f201ad 227772006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
22778
22779 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
22780 calculation.
22781 (read_config_file): Made it to close file before returning.
22782
b4b93674 227832006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
22784
22785 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
22786 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
22787 video/i386/pc/vbefill.c.
22788
22789 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
22790 video/i386/pc/vbefill.c.
22791
22792 * include/grub/video.h (grub_video_blit_format): New enum.
22793 (grub_video_mode_info): Added new member blit_format.
22794 (grub_video_get_blit_format): New function prototype.
22795
22796 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
22797 function prototype.
22798 (grub_video_vbe_map_rgb): Likewise.
22799 (grub_video_vbe_unmap_color): Likewise.
22800
22801 * include/grub/i386/pc/vbeblit.h: New file.
22802
22803 * include/grub/i386/pc/vbefill.h: New file.
22804
22805 * video/video.c (grub_video_get_blit_format): New function.
22806 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
22807 (grub_video_vbe_map_rgb): Likewise.
22808 (grub_video_vbe_unmap_color): Likewise.
22809
22810 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
22811 optimized fills.
22812 (grub_video_vbe_blit_render_target): Changed to use more optimized
22813 blits.
22814 (grub_video_vbe_setup): Added detection for optimized settings.
22815 (grub_video_vbe_create_render_target): Likewise.
22816
22817 * video/i386/pc/vbeblit.c: New file.
22818
22819 * video/i386/pc/vbefill.c: New file.
22820
c2379b9c 228212006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
22822
22823 * font/manager.c (grub_font_get_glyph): Removed font fixup from
22824 here...
22825
22826 * util/unifont2pff.rb: ... and moved it to here. Improved argument
22827 parsing to support both hex and dec ranges. If filename was missing
22828 show usage information.
22829
bd0d7896 228302006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
22831
22832 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
22833 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
22834
22835 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
22836 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
22837 (video_mod_SOURCES): Added.
22838 (video_mod_CFLAGS): Likewise.
22839 (video_mod_LDFLAGS): Likewise.
22840 (gfxterm_mod_SOURCES): Likewise.
22841 (gfxterm_mod_CFLAGS): Likewise.
22842 (gfxterm_mod_LDFLAGS): Likewise.
22843 (videotest_mod_SOURCES): Likewise.
22844 (videotest_mod_CFLAGS): Likewise.
22845 (videotest_mod_LDFLAGS): Likewise.
22846 (vesafb_mod_SOURCES): Removed.
22847 (vesafb_mod_CFLAGS): Likewise.
22848 (vesafb_mod_LDFLAGS): Likewise.
22849 (vga_mod_SOURCES): Likewise.
22850 (vga_mod_CFLAGS): Likewise.
22851 (vga_mod_LDFLAGS): Likewise.
22852
22853 * commands/videotest.c: New file.
22854
22855 * font/manager.c (fill_with_default_glyph): Modified to use
22856 grub_font_glyph.
22857 (grub_font_get_glyph): Likewise.
22858 (fontmanager): Renamed from this...
22859 (font_manager): ... to this.
22860
22861 * include/grub/font.h (grub_font_glyph): Added new structure.
22862 (grub_font_get_glyph): Modified to use grub_font_glyph.
22863
22864 * include/grub/misc.h (grub_abs): Added as inline function.
22865
22866 * include/grub/video.h: New file.
22867
22868 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
22869 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
22870 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
22871 (grub_vbe_get_controller_info): Renamed from this...
22872 (grub_vbe_bios_get_controller_info): ... to this.
22873 (grub_vbe_get_mode_info): Renamed from this...
22874 (grub_vbe_bios_get_mode_info): ... to this.
22875 (grub_vbe_set_mode): Renamed from this...
22876 (grub_vbe_bios_set_mode): ... to this.
22877 (grub_vbe_get_mode): Renamed from this...
22878 (grub_vbe_bios_get_mode): ... to this.
22879 (grub_vbe_set_memory_window): Renamed from this...
22880 (grub_vbe_bios_set_memory_window): ... to this.
22881 (grub_vbe_get_memory_window): Renamed from this...
22882 (grub_vbe_bios_get_memory_window): ... to this.
22883 (grub_vbe_set_scanline_length): Renamed from this...
22884 (grub_vbe_set_scanline_length): ... to this.
22885 (grub_vbe_get_scanline_length): Renamed from this...
22886 (grub_vbe_bios_get_scanline_length): ... to this.
22887 (grub_vbe_set_display_start): Renamed from this...
22888 (grub_vbe_bios_set_display_start): ... to this.
22889 (grub_vbe_get_display_start): Renamed from this...
22890 (grub_vbe_bios_get_display_start): ... to this.
22891 (grub_vbe_set_palette_data): Renamed from this...
22892 (grub_vbe_bios_set_palette_data): ... to this.
22893 (grub_vbe_set_pixel_rgb): Removed.
22894 (grub_vbe_set_pixel_index): Likewise.
22895
22896 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
22897 from this...
22898 (grub_vbe_bios_get_controller_info): ... to this.
22899 (grub_vbe_get_mode_info): Renamed from this...
22900 (grub_vbe_bios_get_mode_info): ... to this.
22901 (grub_vbe_set_mode): Renamed from this...
22902 (grub_vbe_bios_set_mode): ... to this.
22903 (grub_vbe_get_mode): Renamed from this...
22904 (grub_vbe_bios_get_mode): ... to this.
22905 (grub_vbe_set_memory_window): Renamed from this...
22906 (grub_vbe_bios_set_memory_window): ... to this.
22907 (grub_vbe_get_memory_window): Renamed from this...
22908 (grub_vbe_bios_get_memory_window): ... to this.
22909 (grub_vbe_set_scanline_length): Renamed from this...
22910 (grub_vbe_set_scanline_length): ... to this.
22911 (grub_vbe_get_scanline_length): Renamed from this...
22912 (grub_vbe_bios_get_scanline_length): ... to this.
22913 (grub_vbe_set_display_start): Renamed from this...
22914 (grub_vbe_bios_set_display_start): ... to this.
22915 (grub_vbe_get_display_start): Renamed from this...
22916 (grub_vbe_bios_get_display_start): ... to this.
22917 (grub_vbe_set_palette_data): Renamed from this...
22918 (grub_vbe_bios_set_palette_data): ... to this.
22919 (grub_vbe_bios_get_controller_info): Fixed problem with registers
22920 getting corrupted after calling it. Added more pushes and pops.
22921 (grub_vbe_bios_set_mode): Likewise.
22922 (grub_vbe_bios_get_mode): Likewise.
22923 (grub_vbe_bios_get_memory_window): Likewise.
22924 (grub_vbe_bios_set_scanline_length): Likewise.
22925 (grub_vbe_bios_get_scanline_length): Likewise.
22926 (grub_vbe_bios_get_display_start): Likewise.
22927 (grub_vbe_bios_set_palette_data): Likewise.
22928
22929 * normal/cmdline.c (cl_set_pos): Refresh the screen.
22930 (cl_insert): Likewise.
22931 (cl_delete): Likewise.
22932
22933 * term/gfxterm.c: New file.
22934
22935 * term/i386/pc/vesafb.c: Removed file.
22936
22937 * video/video.c: New file.
22938
22939 * video/i386/pc/vbe.c (real2pm): Added new function.
22940 (grub_video_vbe_draw_pixel): Likewise.
22941 (grub_video_vbe_get_video_ptr): Likewise.
22942 (grub_video_vbe_get_pixel): Likewise
22943 (grub_video_vbe_init): Likewise.
22944 (grub_video_vbe_fini): Likewise.
22945 (grub_video_vbe_setup): Likewise.
22946 (grub_video_vbe_get_info): Likewise.
22947 (grub_video_vbe_set_palette): Likewise.
22948 (grub_video_vbe_get_palette): Likewise.
22949 (grub_video_vbe_set_viewport): Likewise.
22950 (grub_video_vbe_get_viewport): Likewise.
22951 (grub_video_vbe_map_color): Likewise.
22952 (grub_video_vbe_map_rgb): Likewise.
22953 (grub_video_vbe_map_rgba): Likewise.
22954 (grub_video_vbe_unmap_color): Likewise.
22955 (grub_video_vbe_fill_rect): Likewise.
22956 (grub_video_vbe_blit_glyph): Likewise.
22957 (grub_video_vbe_blit_bitmap): Likewise.
22958 (grub_video_vbe_blit_render_target): Likewise.
22959 (grub_video_vbe_scroll): Likewise.
22960 (grub_video_vbe_swap_buffers): Likewise.
22961 (grub_video_vbe_create_render_target): Likewise.
22962 (grub_video_vbe_delete_render_target): Likewise.
22963 (grub_video_vbe_set_active_render_target): Likewise.
22964 (grub_vbe_set_pixel_rgb): Remove function.
22965 (grub_vbe_set_pixel_index): Likewise.
22966 (index_color_mode): Remove static variable.
22967 (active_mode): Likewise.
22968 (framebuffer): Likewise.
22969 (bytes_per_scan_line): Likewise.
22970 (grub_video_vbe_adapter): Added new static variable.
22971 (framebuffer): Likewise.
22972 (render_target): Likewise.
22973 (initial_mode): Likewise.
22974 (mode_in_use): Likewise.
22975 (mode_list): Likewise.
22976
5f97350b 229772006-03-10 Marco Gerards <marco@gnu.org>
22978
22979 * configure.ac (AC_INIT): Bumped to 1.93.
22980
22981 * DISTLIST: Added `include/grub/hfs.h'.
22982
a3c5c6f8 229832006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
22984
22985 * boot/i386/pc/boot.S (general_error): Before looping, try INT
22986 18H, which might help the BIOS falling back to next boot media.
22987
6de53d26 229882006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
22989
22990 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
22991 Poe Chen <poe.poechen@gmail.com>.
22992
77c4a393 229932006-01-17 Marco Gerards <marco@gnu.org>
22994
22995 * include/grub/normal.h: Include <grub/script.h>.
22996 (grub_command_list): Removed struct.
22997 (grub_command_list_t): Removed type.
22998 (grub_menu_entry): Remove members `num' and `command_list'. Add
22999 members `commands' and `sourcecode'.
23000 * include/grub/script.h: Add inclusion guards.
23001 (grub_script_cmd_menuentry): New struct.
23002 (grub_script_execute_menuentry): New prototype.
23003 (grub_script_lexer_record_start): Likewise.
23004 (grub_script_lexer_record_stop): Likewise.
23005 * normal/execute.c (grub_script_execute_menuentry): New function.
23006 * normal/lexer.c (record, recording, recordpos, recordlen): New
23007 variables.
23008 (grub_script_lexer_record_start): New function.
23009 (grub_script_lexer_record_stop): Likewise.
23010 (recordchar): Likewise.
23011 (nextchar): Likewise.
23012 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23013 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23014 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23015 (current_menu): New variable.
23016 (free_menu): Mainly rewritten.
23017 (grub_normal_menu_addentry): New function.
23018 (read_config_file): Rewritten.
23019 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 23020 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 23021 the menu entry.
23022 (run): Mainly rewritten.
23023 * normal/parser.y (menu_entry): New variable.
23024 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23025 (menuentry): New rule.
23026 (command): Add `menuentry'.
23027 (if_statement): Allow additional returns before `fi'.
23028 * normal/script.c (grub_script_create_cmdmenu): New function.
23029
144f1f98 230302006-01-03 Marco Gerards <marco@gnu.org>
23031
23032 * INSTALL: GNU Bison is required.
23033 * configure.ac: Rewritten the test to detect Bison.
23034 * Makefile.in (YACC): New variable. Reported by Xun Sun
23035 <xun.sun.cn@gmail.com>.
23036
af4b2d89 230372006-01-03 Marco Gerards <marco@gnu.org>
23038
23039 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23040 the HFS+ filesystem to filesystem blocks.
23041 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23042 GCC warning is silenced.
23043
15643b71 230442006-01-03 Marco Gerards <marco@gnu.org>
23045
23046 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23047 read from disk from big endian to host byte order.
23048
00905879 230492006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23050
23051 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23052 documentation.
23053 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23054 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23055 embedded HFS+ filesystem.
23056 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23057 (grub_hfs_sblock): Move from here...
23058 * include/grub/hfs.h: To here... New file.
23059 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23060 documentation.
23061 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23062 New macros.
23063 (grub_hfsplus_volheader): Change type of member `magic' to
23064 `grub_uint16_t'.
23065 (grub_hfsplus_data): Add new member `embedded_offset'.
23066 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23067 returned block.
23068 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23069 Calculate the offset.
23070
8899bc3e 230712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23072
23073 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23074 Removed.
23075 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23076
ae8c0277 230772005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23078
23079 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23080 ENV->NAME is NULL after allocating ENV->VALUE.
23081
07084456 230822005-12-25 Marco Gerards <marco@gnu.org>
23083
23084 * kern/env.c (grub_env_set): Rewritten the error handling code.
23085
4750f5f1 230862005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23087
23088 * geninit.sh: Made more robust, and more portable.
23089
50214199 230902005-12-25 Marco Gerards <marco@gnu.org>
23091
23092 Add support for Apple HFS+ filesystems.
f19dbdb7 23093
50214199 23094 * fs/hfsplus.c: New file.
23095
23096 * DISTLIST: Added `fs/hfsplus.c'.
23097
23098 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23099 (hfsplus_mod_SOURCES): New variable.
23100 (hfsplus_mod_CFLAGS): Likewise.
23101 (hfsplus_mod_LDFLAGS): Likewise.
23102 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23103 (grub_setup_SOURCES): Likewise.
23104 (grub_mkdevicemap_SOURCES): Likewise.
23105 (grub_emu_SOURCES): Likewise.
23106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23107
23108 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23109
23110 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23111
befaed6c 231122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23113
23114 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23115 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23116 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23117 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23118 normal/lexer.c, normal/parser.y, normal/script.c, and
23119 partmap/gpt.c.
23120 Removed kern/sparc64/cache.c.
23121
23122 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23123 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23124 grub_emu_init.c.
23125
23126 * configure.ac (AC_INIT): Bumped to 1.92.
23127
6a124103 231282005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23129
23130 * kern/err.c (grub_error_push): Added new function to support error
23131 stacks.
23132 (grub_error_pop): Likewise.
23133 (grub_error_stack_items): New local variable to support error stacks.
23134 (grub_error_stack_pos): Likewise.
23135 (grub_error_stack_assert): Likewise.
23136 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23137 stack depth.
23138 (grub_print_error): Added support to print errors from error stack.
23139
23140 * include/grub/err.h (grub_error_push): Added function prototype.
23141 (grub_error_pop): Likewise.
23142
be973c1b 231432005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23144
23145 * configure.ac: Accept `powerpc64' as host_cpu.
23146 (amd64): Rename to `biarch32'.
23147
23148 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23149 non-cacheline-aligned addresses.
23150
23151 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23152 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23153 if `size' is non-zero.
23154
b04216ab 231552005-12-03 Marco Gerards <mgerards@xs4all.nl>
23156
23157 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23158 and `cd' to make sure the filename is not prefixed with a
23159 directory name.
23160 (pkgdata_MODULES): Add `gpt.mod'.
23161 (gpt_mod_SOURCES): New variable.
23162 (gpt_mod_CFLAGS): Likewise.
23163 (gpt_mod_LDFLAGS): Likewise.
23164
23165 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23166
23167 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23168 New macro.
23169
23170 * partmap/gpt.c: New file.
23171
23172 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23173 GPT partition map is detected.
23174
41730ed9 231752005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
23176
23177 * commands/i386/pc/play.c: New file.
23178 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
23179 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
23180 macros.
f19dbdb7 23181
95dc3643 231822005-11-27 Marco Gerards <mgerards@xs4all.nl>
23183
23184 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
23185 ((unused))' to silence gcc warning.
23186
1569ec51 231872005-11-26 Hollis Blanchard <hollis@penguinppc.org>
23188
23189 * configure.ac: Correct `AC_PROG_YACC' test.
23190
9abde152 231912005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23192
23193 * util/powerpc/ieee1275/grub-install.in: Run the mount point
23194 check before installing files.
23195
44b83271 231962005-11-22 Mike Small <smallm@panix.com>
23197
23198 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
23199 number regex so multidigit numbers are recognized correctly.
23200
232012005-11-22 Mike Small <smallm@panix.com>
23202
23203 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
23204 debugging message before attempting to claim memory.
23205 (grub_rescue_cmd_initrd): Add a claim debugging message and try
23206 multiple addresses in case of failure.
23207
9c12956b 232082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23209
23210 * term/tparm.c (get_space): Remove empty `if' statement.
23211
23212 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
23213
23214 * kern/parser.c (check_varstate): Rename `state' to 's'.
23215
aeaf81d9 232162005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23217
23218 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
23219 variable definitions to the beginning of each function. Sort stack
23220 variables by size.
23221 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
23222 `buf' argument to `char *'.
23223
79bbb63f 232242005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23225
23226 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
23227 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 23228 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 23229 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23230 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23231 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23232 configfile.mod, search.mod, gzio.mod and test.mod.
23233 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23234 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23235 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23236 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23237 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23238 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23239 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23240 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23241 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23242 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23243 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23244 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23245 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23246 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23247 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23248 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23249 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23250 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23251 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23252 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23253 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23254 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23255 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
23256
23257 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
23258 `grep --include'.
23259 (pkgdata_MODULES): Add test.mod.
23260
233b1628 232612005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23262
23263 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
23264 appending to variables with "+=".
23265 (PModule): Use full pathname to generate *.lst filenames.
23266
23267 * Makefile.in: Fixed list rules moved from genmk.rb.
23268 (.DELETE_ON_ERROR): New special target.
23269 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
23270
23271 * conf/i386-pc.rmk: Include conf/common.mk.
23272 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 23273 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 23274 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23275 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23276 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23277 configfile.mod, search.mod, gzio.mod and test.mod.
23278 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23279 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23280 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23281 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23282 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23283 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23284 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23285 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23286 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23287 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23288 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23289 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23290 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23291 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23292 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23293 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23294 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23295 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23296 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23297 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23298 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23299 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23300 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
23301 here...
23302 * conf/common.rmk: ... to here. New file.
23303
23304 * conf/common.mk: New file.
23305
16f820c8 233062005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
23307
23308 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
23309 (grub_script.tab.c): ... here.
23310
23311 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
23312 (grub_script.tab.c): ... here.
23313
23314 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
23315 (grub_script.tab.c): ... here.
23316
23317 * normal/command.c (grub_command_find): Fixed a memory leak of
23318 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
23319
63ba1554 233202005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23321
23322 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
23323 "@" which marks the start of a comment on ARM.
23324 (VARIABLE): Likewise.
23325
7f67dc13 233262005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23327
79bbb63f 23328 Add support for Linux/ADFS partition tables.
7f67dc13 23329
23330 * partmap/acorn.c: New file.
23331
23332 * include/grub/acorn_filecore.h: Likewise.
23333
23334 * DISTLIST: Added `partmap/acorn.c' and
23335 `include/grub/acorn_filecore.h'.
f19dbdb7 23336
7f67dc13 23337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23338 `partmap/acorn.c'.
23339 (pkgdata_MODULES): Add `acorn.mod'.
23340 (acorn_mod_SOURCES): New variable.
23341 (acorn_mod_CFLAGS): Likewise.
23342
23343 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23344 `partmap/acorn.c'.
23345 (pkgdata_MODULES): Add `acorn.mod'.
23346 (acorn_mod_SOURCES): New variable.
23347 (acorn_mod_CFLAGS): Likewise.
23348
23349 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
23350 (pkgdata_MODULES): Add `acorn.mod'.
23351 (acorn_mod_SOURCES): New variable.
23352 (acorn_mod_CFLAGS): Likewise.
23353 (acorn_mod_LDFLAGS): Likewise.
23354
23355 * include/types.h (grub_disk_addr_t): New typedef.
23356
6d099807 233572005-11-13 Marco Gerards <mgerards@xs4all.nl>
23358
23359 * geninit.sh: New file.
23360
23361 * geninitheader.sh: Likewise.
23362
23363 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
23364 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
23365 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
23366 * commands/configfile.c (grub_configfile_init)
23367 (grub_configfile_fini): Likewise.
23368 * commands/default.c (grub_default_init, grub_default_fini):
23369 Likewise.
23370 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
23371 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
23372 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
23373 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
23374 Likewise.
23375 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
23376 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
23377 Likewise.
23378 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 23379 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 23380 Likewise.
23381 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
23382 Likewise.
fe6b695a 23383 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 23384 Likewise.
23385 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
23386 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
23387 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
23388 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
23389 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
23390 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
23391 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
23392 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
23393 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
23394 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
23395 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
23396 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
23397 * partmap/amiga.c (grub_amiga_partition_map_init)
23398 (grub_amiga_partition_map_fini): Likewise.
23399 * partmap/apple.c (grub_apple_partition_map_init)
23400 (grub_apple_partition_map_fini): Likewise.
23401 * partmap/pc.c (grub_pc_partition_map_init)
23402 (grub_pc_partition_map_fini): Likewise.
23403 * partmap/sun.c (grub_sun_partition_map_init,
23404 grub_sun_partition_map_fini): Likewise.
23405 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
23406 Likewise.
23407
23408 * util/grub-emu.c: Include <grub_modules_init.h>.
23409 (main): Don't initialize and de-initialize any modules directly,
23410 use `grub_init_all' and `grub_fini_all' instead.
23411
23412 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
23413 `grub_vesafb_mod_init'.
23414 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
23415 all users.
23416 * term/i386/pc/vga.c (grub_vga_init): Renamed to
23417 `grub_vga_mod_init'. Updated all users.
23418 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 23419
6d099807 23420 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
23421 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
23422 rules.
23423
23424 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
23425 Generate a function to initialize the module in utilities.
23426 Updated all callers.
23427 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
23428 initialize the module in utilities. Updated all callers.
23429
9046bcf0 234302005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23431
23432 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
23433 escape sequence and a literal ^L to clear the screen.
23434
23435 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
23436 when returning from Open Firmware.
23437
d13ea639 234382005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23439
23440 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
23441 (grub_ofconsole_height): Likewise.
23442 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
23443 manually insert a '\n'.
23444 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
23445 `grub_ofconsole_height'. Return early if these are already set.
23446
a8fcf206 234472005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
23448
23449 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23450 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
23451 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
23452 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
23453 and `normal/script.c'.
23454 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23455 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23456 (test_mod_SOURCES): New variable.
23457 (test_mod_CFLAGS): Likewise.
23458 (test_mod_LDFLAGS): Likewise.
23459 (pkgdata_MODULES): Add `test.mod'.
23460 (grub_script.tab.c): New rule.
23461 (grub_script.tab.h): Likewise.
23462
b6b32745 234632005-11-07 Marco Gerards <mgerards@xs4all.nl>
23464
23465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23466 `commands/test.c', `normal/execute.c', `normal/lexer.c',
23467 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23468 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23469 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23470 (test_mod_SOURCES): New variable.
23471 (test_mod_CFLAGS): Likewise.
23472 (pkgdata_MODULES): Add `test.mod'.
23473 (grub_script.tab.c): New rule.
23474 (grub_script.tab.h): Likewise.
23475
daac212a 234762005-11-06 Marco Gerards <mgerards@xs4all.nl>
23477
23478 Add initial scripting support.
23479
23480 * commands/test.c: New file.
23481 * include/grub/script.h: Likewise.
23482 * normal/execute.c: Likewise.
23483 * normal/function.c: Likewise.
23484 * normal/lexer.c: Likewise.
23485 * normal/parser.y: Likewise.
23486 * normal/script.c: Likewise.
23487
23488 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 23489
daac212a 23490 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
23491 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
23492 `normal/function.c' and `normal/script.c'.
23493 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23494 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 23495 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
23496 variables.
daac212a 23497 (pkgdata_MODULES): Add `test.mod'.
23498 (grub_script.tab.c): New rule.
23499 (grub_script.tab.h): Likewise.
23500
23501 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
23502
23503 * include/grub/normal.h (grub_test_init): New prototype.
23504 (grub_test_fini): Likewise.
f19dbdb7 23505
daac212a 23506 * normal/command.c: Include <grub/script.h>.
23507 (grub_command_execute): Rewritten.
f19dbdb7 23508
daac212a 23509 * util/grub-emu.c (main): Call `grub_test_init' and
23510 `grub_test_fini'.
23511
77500b2b 235122005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23513
23514 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
23515 to 0.
23516 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
23517 there are no pending characters.
23518
e45deb9e 235192005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23520
23521 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
23522 `grub_strndup' to drop device arguments. Replace unnecessary
23523 `grub_strndup' with `grub_strdup'.
23524
4ce32619 235252005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23526
23527 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
23528 `debug' environment variable has been set.
23529
235302005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 23531
4ce32619 23532 * Makefile.in (install-local): Use $(DATA).
23533 (uninstall): Likewise.
23534 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
23535 (sbin_UTILITIES): ... to here.
23536 (sbin_SCRIPTS): New variable.
23537 (grub_install_SOURCES): New variable.
23538 * util/powerpc/ieee1275/grub-install.in: New file.
23539 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
23540 variable.
23541 (add_segments): Call `grub_util_get_path'.
23542
25fe6f03 235432005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23544
23545 From Timothy Baldwin:
23546 * commands/ls.c (grub_ls_list_files): Close FILE with
23547 grub_file_close.
23548 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
23549
04ccf3ec 235502005-10-24 Marco Gerards <mgerards@xs4all.nl>
23551
23552 * include/grub/parser.h: New file.
23553
23554 * kern/parser.c: Likewise.
23555
23556 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
23557 (grub_setup_SOURCES): Likewise.
23558 (grub_probefs_SOURCES): Likewise.
23559 (grub_emu_SOURCES): Likewise.
23560 (kernel_img_HEADERS): Add `parser.h'.
23561
23562 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23563 (grub_emu_SOURCES): Add `kern/parser.c'.
23564 (grubof_SOURCES): Likewise.
23565
23566 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
23567 (grubof_SOURCES): Add `kern/parser.c'.
23568
23569 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
23570
23571 * kern/misc.c (grub_split_cmdline): Removed function.
23572
23573 * kern/rescue.c: Include <grub/parser.h>.
23574 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
23575 of `grub_split_cmdline'.
23576
23577 * normal/command.c: Include <grub/parser.h>.
23578 (grub_command_execute): Use `grub_parser_split_cmdline' instead
23579 of `grub_split_cmdline'.
23580
23581 * normal/completion.c: Include <grub/parser.h>.
23582 (cmdline_state): New variable.
23583 (iterate_dir): End the filename with a quote depending on the
23584 command line state.
23585 (get_state): new function.
23586 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
23587 split the arguments and determine the current argument. When the
23588 argument string is not quoted, escape all spaces.
23589
6d8f4b0e 235902005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23591
23592 * normal/sparc64/setjmp.S: New file.
23593
15cf03ed 235942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23595
23596 * include/grub/sparc64/libgcc.h: New file.
23597 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
23598 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
23599 normal/sparc64/setjmp.c.
23600
03e8661a 236012005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
23602
23603 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
23604 * kern/sparc64/cache.S: New file.
23605 * kern/sparc64/cache.c: Removed.
23606 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
23607 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
23608 -mtune=ultrasparc.
23609 (COMMON_LDFLAGS): Add -melf64_sparc.
23610 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
23611 (grubof_SOURCES): Use cache.S instead of cache.c.
23612 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
23613 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
23614 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
23615 commented though.
23616 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
23617 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
23618 (linux_mod_CFLAGS): Commented out.
23619 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
23620 out because module isn't built.
23621 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
23622 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
23623 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
23624 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
23625 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
23626 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23627 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23628 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
23629 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
23630 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
23631 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23632 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23633 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
23634 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
23635
34eeec8a 236362005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
23637
23638 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
23639 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
23640 longer, because HFS should not be used on PC.
23641
708367a3 236422005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23643
23644 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
23645 consistently within the loop.
23646
6fa1251a 236472005-10-15 Marco Gerards <mgerards@xs4all.nl>
23648
23649 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
23650 directory can not be read.
23651
4801580b 236522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23653
23654 * configure.ac (AC_INIT): Increase the version number to 1.91.
23655
23656 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
23657 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
23658 term/i386/pc/serial.c.
23659
219ad426 236602005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23661
23662 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
23663 file size must be permitted.
23664
23665 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
23666 between %ah and %al.
23667
688e5699 236682005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23669
23670 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
23671 grub_uint64_t.
23672 Call the hook with a NUL-terminated filename.
23673 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
23674 grub_cpu_to_be32.
23675
23676 * kern/term.c (cursor_state): New variable.
23677 (grub_term_set_current): Reset the cursor state on a new
23678 terminal.
23679 (grub_setcursor): Rewritten to use CURSOR_STATE.
23680 (grub_getcursor): New function.
23681
23682 * include/grub/term.h (grub_getcursor): New prototype.
23683
23684 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
23685 integers on ARM. Reported by Timothy Baldwin
23686 <T.E.Baldwin99@members.leeds.ac.uk>.
23687
bb34586c 236882005-10-11 Marco Gerards <mgerards@xs4all.nl>
23689
23690 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
23691 allocated.
23692 (grub_sfs_dir): Likewise.
23693
9a909877 236942005-10-09 Marco Gerards <mgerards@xs4all.nl>
23695
23696 Add support for the SFS filesystem.
23697
23698 * fs/sfs.c: New file.
23699
23700 * DISTLIST: Added `fs/sfs.c'.
23701
23702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
23703 (grub_probefs_SOURCES): Likewise.
23704 (grub_emu_SOURCES): Likewise.
23705 (pkgdata_MODULES): Add `sfs.mod'.
23706 (sfs_mod_SOURCES): New variable.
23707 (sfs_mod_CFLAGS): Likewise.
23708 (sfs_mod_LDFLAGS): Likewise.
23709
23710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
23711 (pkgdata_MODULES): Add `sfs.mod'.
23712 (sfs_mod_SOURCES): New variable.
23713 (sfs_mod_CFLAGS): Likewise.
23714
23715 * util/grub-emu.c (main): Call `grub_sfs_init' and
23716 `grub_sfs_fini'.
23717
23718 * include/grub/fs.h (grub_sfs_init): New prototype.
23719 (grub_sfs_fini): Likewise.
23720
57bdbde3 237212005-10-07 Marco Gerards <mgerards@xs4all.nl>
23722
23723 Add support for the AFFS filesystem.
23724
23725 * fs/affs.c: New file.
23726
23727 * DISTLIST: Added `fs/affs.c'.
23728
23729 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
23730 (grub_probefs_SOURCES): Likewise.
23731 (grub_emu_SOURCES): Likewise.
23732 (pkgdata_MODULES): Add `affs.mod'.
23733 (affs_mod_SOURCES): New variable.
23734 (affs_mod_CFLAGS): Likewise.
23735 (affs_mod_LDFLAGS): Likewise.
23736
23737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
23738 (pkgdata_MODULES): Add `affs.mod'.
23739 (affs_mod_SOURCES): New variable.
23740 (affs_mod_CFLAGS): Likewise.
23741
23742 * util/grub-emu.c (main): Call `grub_affs_init' and
23743 `grub_affs_fini'.
23744
23745 * include/grub/fs.h (grub_affs_init): New prototype.
23746 (grub_affs_fini): Likewise.
23747
047b67e0 237482005-10-01 Marco Gerards <mgerards@xs4all.nl>
23749
23750 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
23751
59b8208a 237522005-10-01 Marco Gerards <mgerards@xs4all.nl>
23753
23754 * configure.ac: Accept `x86_64' as host_cpu. In that case add
23755 `-m32' to CFLAGS.
23756
23757 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
23758 linking.
f19dbdb7 23759
59b8208a 23760 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
23761 (COMMON_LDFLAGS): New variable.
23762 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
23763 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
23764 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
23765 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
23766 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
23767 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
23768 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
23769 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
23770 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
23771 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
23772 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
23773 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
23774 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
23775 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
23776 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
23777 variables.
23778 (normal_mod_ASFLAGS): Add `-m32'.
23779
23780 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
23781 (grub_host_size_t, grub_host_ssize_t): New types.
23782 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 23783 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 23784 `GRUB_HOST_SIZEOF_VOID_P'.
23785
23786 * include/grub/kernel.h (struct grub_module_header): Type of
23787 member offset changed to `grub_host_off_t'. Type of member size
23788 changed to `grub_host_size_t'.
23789 (struct grub_module_info): Type of member offset changed to
23790 `grub_host_off_t'. Type of member size changed to
23791 `grub_host_size_t'.
23792
b4093103 237932005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
23794
23795 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 23796
b4093103 23797 * kern/i386/pc/startup.S (multiboot_header): New label.
23798 (multiboot_entry): Likewise.
23799 (multiboot_trampoline): Likewise.
23800
23801 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23802 Increased to 0x4A0.
23803
23804 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
23805 put parentheses after a question mark.
23806 [!GRUB_UTIL] (my_mod): New variable.
23807
23808 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
23809
b2499b29 238102005-09-28 Marco Gerards <mgerards@xs4all.nl>
23811
23812 Adds support for the XFS filesystem. Btrees are not supported
23813 yet.
23814
23815 * fs/xfs.c: New file.
23816
23817 * DISTLIST: Added `fs/xfs.c'.
23818
23819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
23820 (grub_probefs_SOURCES): Likewise.
23821 (grub_emu_SOURCES): Likewise.
23822 (pkgdata_MODULES): Add `xfs.mod'.
23823 (xfs_mod_SOURCES): New variable.
23824 (xfs_mod_CFLAGS): Likewise.
23825
23826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
23827 (pkgdata_MODULES): Add `xfs.mod'.
23828 (xfs_mod_SOURCES): New variable.
23829 (xfs_mod_CFLAGS): Likewise.
23830
23831 * util/grub-emu.c (main): Call `grub_xfs_init' and
23832 `grub_xfs_fini'.
23833
23834 * include/grub/fs.h (grub_xfs_init): New prototype.
23835 (grub_xfs_fini): Likewise.
23836
f19dbdb7 23837
83d37a62 238382005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
23839
23840 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
23841 color modes, allow greater than 16 colors to be configured as
23842 a default palette.
23843
47d2d65e 238442005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23845
23846 * normal/completion.c (complete_arguments): Add the qualifier
23847 const into OPTIONS.
23848
23849 From Omniflux <omniflux+lists@omniflux.com>:
23850 * include/grub/terminfo.h: New file.
23851 * include/grub/tparm.h: Likewise.
23852 * include/grub/i386/pc/serial.h: Likewise.
23853 * term/terminfo.c: Likewise.
23854 * term/tparm.c: Likewise.
23855 * term/i386/pc/serial.c: Likewise.
23856 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
23857 serial.mod.
23858 (terminfo_mod_SOURCES): New variable.
23859 (terminfo_mod_CFLAGS): Likewise.
23860 (serial_mod_SOURCES): Likewise.
23861 (serial_mod_CFLAGS): Likewise.
23862
48b671ff 238632005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
23864
23865 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
23866 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
23867 and kern/powerpc/ieee1275/cmain.c, respectively.
23868
23869 * boot/powerpc/ieee1275/crt0.S: Moved to ...
23870 * kern/powerpc/ieee1275/crt0.S: ... here.
23871
23872 * boot/powerpc/ieee1275/cmain.c: Moved to ...
23873 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 23874
48b671ff 23875 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
23876 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
23877 instead of boot/powerpc/ieee1275/crt0.S and
23878 boot/powerpc/ieee1275/cmain.c, respectively.
23879
23880 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
23881 sectors. It was not used anyway.
23882
09fc77a7 238832005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23884
23885 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
23886 `unused parameter' warning.
23887
003789c7 238882005-08-30 Hollis Blanchard <hollis@penguinppc.org>
23889
23890 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
23891 function.
23892 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
23893 getcharwidth.
23894
67f44c86 238952005-08-28 Marco Gerards <metgerards@student.han.nl>
23896
23897 * include/grub/normal.h (enum grub_completion_type): Added
23898 `GRUB_COMPLETION_TYPE_ARGUMENT'.
23899
23900 * normal/cmdline.c (print_completion): Handle
23901 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
23902 * normal/menu_entry.c (store_completion): Likewise.
23903
23904 * normal/completion.c (complete_arguments): New function.
23905 (grub_normal_do_completion): Call `complete_arguments' when the
23906 current words start with a dash.
23907
0b5abe02 239082005-08-27 Marco Gerards <metgerards@student.han.nl>
23909
23910 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
23911 `gzio.mod' instead of `io.mod').
23912
d9864ee1 239132005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
23914
23915 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
23916 (DISTDIRS): Added io and video.
23917 Rewrite the search routine to make an output consistently.
23918
23919 * DISTLIST: Added conf/sparc64-ieee1275.mk,
23920 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
23921 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
23922 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
23923 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
23924 util/powerpc/ieee1275/misc.c.
f19dbdb7 23925
d9864ee1 23926 * include/grub/gzio.h: New file.
23927 * io/gzio.c: Likewise.
f19dbdb7 23928
d9864ee1 23929 * kern/file.c (grub_file_close): Call grub_device_close only if
23930 FILE->DEVICE is not NULL.
23931
23932 * include/grub/mm.h [!NULL] (NULL): New macro.
23933
23934 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
23935
23936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
23937 (pkgdata_MODULES): Added gzio.mod.
23938 (gzio_mod_SOURCES): New variable.
23939 (gzio_mod_CFLAGS): Likewise.
23940
23941 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
23942 (pkgdata_MODULES): Added gzio.mod.
23943 (gzio_mod_SOURCES): New variable.
23944 (gzio_mod_CFLAGS): Likewise.
23945
23946 * commands/cat.c: Include grub/gzio.h.
23947 (grub_cmd_cat): Use grub_gzfile_open instead of
23948 grub_file_open.
f19dbdb7 23949
d9864ee1 23950 * commands/cmp.c: Include grub/gzio.h.
23951 (grub_cmd_cmp): Use grub_gzfile_open instead of
23952 grub_file_open.
23953
23954 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
23955 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
23956 grub_file_open.
23957 (grub_rescue_cmd_module): Likewise.
23958
fa46f4b5 239592005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
23960
23961 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
23962 kern/sparc64/ieee1275/init.c because it contains _start.
23963 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
23964
e9211b5d 239652005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
23966
23967 * configure.ac: Add support for sparc64 host with ieee1275
23968 firmware.
23969 * configure: Generated from configure.ac.
23970 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
23971 instead of int.
23972 (grub_ofdisk_read): Likewise.
23973 (grub_ofdisk_open): Use %p to print pointer values, and cast the
23974 pointers as (void *) to remove a warning.
23975 (grub_ofdisk_close): Likewise.
23976 (grub_ofdisk_read): Likewise.
23977 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
23978 returns, so make it return void to remove a warning.
23979 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
23980 Corresponding prototype change.
23981 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
23982 values, and cast the pointers as (void *) to remove a warning.
23983 (grub_mm_dump): Likewise.
23984 * conf/sparc64-ieee1275.mk: New file.
23985 * conf/sparc64-ieee1275.rmk: Likewise.
23986 * include/grub/sparc64/setjmp.h: Likewise.
23987 * include/grub/sparc64/types.h: Likewise.
23988 * include/grub/sparc64/ieee1275/console.h: Likewise.
23989 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23990 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23991 * include/grub/sparc64/ieee1275/time.h: Likewise.
23992 * kern/sparc64/cache.c: Likewise.
23993 * kern/sparc64/dl.c: Likewise.
23994 * kern/sparc64/ieee1275/init.c: Likewise.
23995 * kern/sparc64/ieee1275/openfw.c: Likewise.
23996
385c6a92 239972005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23998
23999 * util/console.c (grub_ncurses_putchar): If C is greater than
24000 0x7f, set C to a question mark.
24001 (grub_ncurses_getcharwidth): New function.
24002 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24003 getcharwidth.
24004
24005 * normal/menu.c (print_entry): Made aware of Unicode. First,
24006 convert TITLE to UCS-4, and predict the cursor position by
24007 grub_getcharwidth.
24008
24009 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24010 const to SRC.
24011 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24012
16ccb8b1 240132005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24014
24015 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24016 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24017 grub_strcat.
24018
24019 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24020 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24021 grub_strcpy and grub_strlen. Take it into account that a space
24022 character is inserted as a delimiter.
24023
6a85ce79 240242005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24025
24026 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 24027 invalid magic in the error.
6a85ce79 24028
24029 * commands/search.c: New file.
f19dbdb7 24030
6a85ce79 24031 * util/grub-emu.c (main): Call grub_search_init and
24032 grub_search_fini.
24033
24034 * kern/rescue.c (grub_rescue_print_disks): Removed.
24035 (grub_rescue_print_devices): New function.
24036 (grub_rescue_cmd_ls): Use grub_device_iterate with
24037 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24038 grub_rescue_print_disks.
24039
24040 * kern/partition.c (grub_partition_iterate): Return the result of
24041 PARTMAP->ITERATE instead of GRUB_ERRNO.
24042
24043 * kern/device.c: Include grub/partition.h.
24044 (grub_device_iterate): New function.
24045
24046 * include/grub/partition.h (grub_partition_iterate): Return int
24047 instead of grub_err_t.
24048
24049 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24050 prototype.
24051 [GRUB_UTIL] (grub_search_fini): Likewise.
24052
24053 * include/grub/device.h (grub_device_iterate): New prototype.
24054
24055 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24056 commands/search.c.
24057 (pkgdata_MODULES): Added search.mod.
24058 (search_mod_SOURCES): New variable.
24059 (search_mod_CFLAGS): Likewise.
24060
24061 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24062 (pkgdata_MODULES): Added search.mod.
24063 (search_mod_SOURCES): New variable.
24064 (search_mod_CFLAGS): Likewise.
24065
24066 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24067 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24068 All callers changed.
24069
24070 * DISTLIST: Added commands/search.c.
24071
ef095434 240722005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24073
24074 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24075 conversion.
24076 (grub_getcharwidth): New function.
24077
24078 * kern/misc.c (grub_utf8_to_ucs4): New function.
24079
24080 * include/grub/term.h (struct grub_term): Added a new member
24081 "getcharwidth".
24082 (grub_getcharwidth): New prototype.
24083
24084 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24085
24086 * term/i386/pc/console.c (map_char): New function. Segregated from
24087 grub_console_putchar.
24088 (grub_console_putchar): Use map_char.
24089 (grub_console_getcharwidth): New function.
24090 (grub_console_term): Specified grub_console_getcharwidth as
24091 getcharwidth.
24092
24093 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24094 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24095
24096 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24097 GRUB_ERRNO.
24098 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24099 on grub_strtoul completely.
24100 (write_char): Declare local variables in the beginning of the
24101 function.
24102 (grub_vesafb_getcharwidth): New function.
24103 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24104 getcharwidth.
24105
1f0a95e4 241062005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24107
24108 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24109 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24110 commands/i386/pc/vbetest.c.
24111
24112 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24113 call grub_vbe_get_controller_info again, because the returned
24114 information is volatile.
24115 (grub_vbe_set_video_mode): Mostly rewritten.
24116 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24117 grub_vbe_status_t correctly.
24118 (grub_vbe_get_video_mode_info): Likewise.
24119 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24120 several if statements.
24121
24122 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24123 * commands/i386/pc/vbeinfo.c: ... this.
24124
24125 * commands/i386/pc/vbe_test.c: Renamed to ...
24126 * commands/i386/pc/vbetest.c: ... this.
24127
24128 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24129 ...
24130 (grub_cmd_vbeinfo): ... this. Save video modes before
24131 iterating. Skip a video mode, if it is not available, not enough
24132 information is given or it is monochrome. Show the memory
24133 model. Leave the interpretation of MODEVAR to grub_strtoul
24134 completely.
24135 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24136 (GRUB_MOD_FINI): Likewise.
24137
24138 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24139 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24140 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24141 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24142 grub_strtoul completely.
24143 (real2pm): Removed.
24144 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24145 (GRUB_MOD_FINI): Likewise.
24146
24147 * normal/misc.c: Include grub/mm.h.
24148
24149 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24150 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24151 (vbe_list_modes_mod_SOURCES): Removed.
24152 (vbe_list_modes_mod_CFLAGS): Likewise.
24153 (vbe_test_mod_SOURCES): Likewise.
24154 (vbe_test_mod_CFLAGS): Likewise.
24155 (vbeinfo_mod_SOURCES): New variable.
24156 (vbeinfo_mod_CFLAGS): Likewise.
24157 (vbetest_mod_SOURCES): Likewise.
24158 (vbetest_mod_CFLAGS): Likewise.
24159
992ffbbe 241602005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24161
24162 * normal/misc.c: New file.
24163
24164 * DISTLIST: Added normal/misc.c.
f19dbdb7 24165
992ffbbe 24166 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24167 DISK to HOOK. Call HOOK with DISK.
24168 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24169 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24170 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24171
24172 * normal/menu_entry.c (struct screen): Added a new member
24173 "completion_shown".
24174 (completion_buffer): New global variable.
24175 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
24176 (store_completion): New function.
24177 (complete): Likewise.
24178 (clear_completions): Likewise.
24179 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
24180 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
24181 a tab, call complete.
24182
24183 * normal/completion.c (disk_dev): Removed.
24184 (print_simple_completion): Likewise.
24185 (print_partition_completion): Likewise.
24186 (print_func): New global variable.
24187 (add_completion): Do not take the arguments WHAT or PRINT any
24188 longer. Added a new argument TYPE. Instead of printing directly,
24189 call PRINT_FUNC if not NULL.
24190 All callers changed.
24191 (complete_device): Use a local variable DEV instead of
24192 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
24193 (grub_normal_do_completion): Take a new argument HOOK. Do not
24194 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
24195 empty string, return NULL instead.
24196 All callers changed.
24197
24198 * normal/cmdline.c (print_completion): New function.
24199
24200 * kern/partition.c (grub_partition_iterate): Add an argument DISK
24201 to HOOK.
24202 All callers changed.
24203
24204 * kern/disk.c (grub_print_partinfo): Removed.
24205
24206 * include/grub/partition.h (struct grub_partition_map): Add a new
24207 argument DISK into HOOK of ITERATE.
24208 (grub_partition_iterate): Add a new argument DISK to HOOK.
24209
24210 * include/grub/normal.h (enum grub_completion_type): New enum.
24211 (grub_completion_type_t): New type.
24212 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
24213 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
24214 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
24215 (GRUB_COMPLETION_TYPE_FILE): Likewise.
24216 (grub_normal_do_completion): Added a new argument HOOK.
24217 (grub_normal_print_device_info): New prototype.
24218
24219 * include/grub/disk.h (grub_print_partinfo): Removed.
24220
24221 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
24222 (normal_mod_SOURCES): Likewise.
24223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24224 (normal_mod_SOURCES): Likewise.
24225
24226 * commands/ls.c (grub_ls_list_disks): Use
24227 grub_normal_print_device_info instead of grub_print_partinfo. Free
24228 PNAME.
24229 (grub_ls_list_files): Use grub_normal_print_device_info instead of
24230 duplicating the code.
24231
0bd41162 242322005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24233
24234 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 24235 follow GCS more precisely.
24236 * commands/i386/pc/vbe_test.c: Likewise.
24237 * include/grub/i386/pc/vbe.h: Likewise.
24238 * term/i386/pc/vesafb.c: Likewise.
24239 * video/i386/pc/vbe.c: Likewise.
0bd41162 24240
6323696a 242412005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24242
24243 * DISTLIST: Added term/i386/pc/vesafb.c
24244 DISTLIST: Added video/i386/pc/vbe.c
24245 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
24246 DISTLIST: Added commands/i386/pc/vbe_test.c.
24247 * commands/i386/pc/vbe_list_modes.c: New file.
24248 * commands/i386/pc/vbe_test.c: Likewise.
24249 * term/i386/pc/vesafb.c: Likewise.
24250 * video/i386/pc/vbe.c: Likewise.
24251 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
24252 (grub_vbe_probe) Added prototype.
24253 (grub_vbe_set_video_mode) Likewise.
24254 (grub_vbe_get_video_mode) Likewise.
24255 (grub_vbe_get_video_mode_info) Likewise.
24256 (grub_vbe_set_pixel_rgb) Likewise.
24257 (grub_vbe_set_pixel_index) Likewise.
24258 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
24259 (pkgdata_MODULES): Added vesafb.mod.
24260 (pkgdata_MODULES): Added vbe_list_modes.mod.
24261 (pkgdata_MODULES): Added vbe_test.mod.
24262 (vbe_mod_SOURCES): Added.
24263 (vbe_mod_CFLAGS): Likewise.
24264 (vesafb_mod_SOURCES): Likewise.
24265 (vesafb_mod_CFLAGS): Likewise.
24266 (vbe_list_modes_mod_SOURCES): Likewise.
24267 (vbe_list_modes_mod_CFLAGS): Likewise.
24268 (vbe_test_mod_SOURCES): Likewise.
24269 (vbe_test_mod_CFLAGS): Likewise.
24270
0a74e62f 242712005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
24272
0a74e62f 24273 * normal/command.c (grub_command_execute): If INTERACTIVE is
24274 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
24275 CMDLINE. Disable the pager if INTERACTIVE is true.
24276 All callers are changed.
24277
24278 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
24279 before reading a config file.
24280 * normal/main.c (read_config_file): Even if a command is not
24281 found, register it if it is within an entry.
24282
24283 * util/grub-emu.c: Include sys/types.h and unistd.h.
24284 (options): Added --hold.
24285 (struct arguments): Added a new member "hold".
24286 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
24287 missing.
24288 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
24289 cleared by a debugger, if it is not zero.
24290
24291 * include/grub/normal.h (grub_command_execute): Add an argument
24292 INTERACTIVE.
24293
e51f85ae 242942005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
24295
24296 * DISTLIST: Added include/grub/i386/pc/vbe.h.
24297
e9c6f39b 242982005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
24299
24300 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
24301 program with another one, because the old one didn't detect a bug
24302 in gcc-3.4. Always use regparm 2, because the new test is still
24303 not enough for gcc-4.0. Someone must investigate a simple test
24304 case which detects a bug in gcc-4.0.
24305
8de3495c 243062005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
24307
24308 * DISTLIST: Added normal/completion.c.
24309
24310 * normal/completion.c: New file.
f19dbdb7 24311
8de3495c 24312 * term/i386/pc/console.c (grub_console_getwh): New function.
24313 (grub_console_term): Assign grub_console_getwh to getwh.
24314
24315 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
24316 function is defined in normal/completion.c as
24317 grub_normal_do_completion.
24318 (grub_cmdline_get): Use grub_normal_do_completion instead of
24319 grub_tab_complete.
24320
24321 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
24322 returns non-zero, otherwise return 0.
24323 (grub_partition_iterate): First, probe the partition map. Then,
24324 call ITERATE only for this partition map.
24325
24326 * kern/misc.c (grub_strncmp): Rewritten.
24327
24328 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
24329 returns non-zero. Otherwise return 0.
24330
24331 * include/grub/partition.h (grub_partition_map_iterate): Return
24332 int instead of void.
24333
24334 * include/grub/normal.h (grub_normal_do_completion): New prototype.
24335
24336 * include/grub/misc.h (grub_strncmp): Change the type of N to
24337 grub_size_t.
24338
24339 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
24340 of void.
24341
24342 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 24343 unsigned explicitly before comparing it with I.
8de3495c 24344
24345 * kern/main.c (grub_env_write_root): Add the attribute unused into
24346 VAR.
24347
24348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24349 normal/completion.c.
24350 (normal_mod_SOURCES): Likewise.
24351 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24352 (normal_mod_SOURCES): Likewise.
24353
24354 * normal/command.c (grub_iterate_commands): If ITERATE returns
24355 non-zero, return one immediately.
24356
e85e144b 243572005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
24358
24359 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
24360 * kern/i386/pc/startup.S: Updated Global Descriptor table's
24361 descriptions.
24362 (grub_vbe_get_controller_info): New function.
24363 (grub_vbe_get_mode_info): Likewise.
24364 (grub_vbe_set_mode): Likewise.
24365 (grub_vbe_get_mode): Likewise.
24366 (grub_vbe_set_memory_window): Likewise.
24367 (grub_vbe_get_memory_window): Likewise.
24368 (grub_vbe_set_scanline_length): Likewise.
24369 (grub_vbe_get_scanline_length): Likewise.
24370 (grub_vbe_set_display_start): Likewise.
24371 (grub_vbe_get_display_start): Likewise.
24372 (grub_vbe_set_palette_data): Likewise.
24373 * include/grub/i386/pc/vbe.h: New file.
24374
c46153d2 243752005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24376
24377 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24378 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
24379 * DISTLIST: Likewise.
24380 * kern/ieee1275/of.c: Moved to ...
24381 * kern/ieee1275/ieee1275.c: ... here.
24382
0cb90c45 243832005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24384
24385 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
24386 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
24387 Pass 0 as `end' parameter to grub_strtoul().
24388
a19fb360 243892005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24390
24391 * include/grub/powerpc/ieee1275/console.h: Do not include
24392 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
24393 ifdef.
24394 (grub_console_cur_color): Remove i386-specific prototype.
24395 (grub_console_real_putchar): Likewise.
24396 (grub_console_checkkey): Likewise.
24397 (grub_console_getkey): Likewise.
24398 (grub_console_getxy): Likewise.
24399 (grub_console_gotoxy): Likewise.
24400 (grub_console_cls): Likewise.
24401 (grub_console_setcursor): Likewise.
24402 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
24403 Include <grub/machine/console.h>.
24404 * term/ieee1275/ofconsole.c: Likewise.
24405
4ac9bd04 244062005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
24407
24408 * Makefile.in (LIBLZO): New variable.
24409
24410 * configure.ac: Check for LZO version 2.
24411
24412 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
24413 lzo/lzo1x.h instead of lzo1x.h.
24414
24415 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
24416 of -llzo.
24417
24418 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
24419 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
24420
24421 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
24422 copying the data from PARTITION to P.
24423
f4917dfd 244242005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24425
24426 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
24427 negative, unload the module.
24428
24429 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
24430 map is "pc_partition_map" but not "pc".
24431 (usage): Fix the description. The options are --boot-image and
24432 --core-image but not --boot-file or --core-file.
24433 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
24434 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
24435 DEFAULT_DIRECTORY.
24436
24437 * util/i386/pc/grub-install.in: Do not specify --boot-file or
24438 --core-file. Specify INSTALL_DEVICE as an argument.
24439
24440 * util/console.c: Include config.h.
24441 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
24442 [HAVE_NCURSES_H]: Include ncurses.h.
24443 [HAVE_CURSES_H]: Include curses.h.
24444 [!A_NORMAL] (A_NORMAL): Defined as zero.
24445 [!A_STANDOUT] (A_STANDOUT): Likewise.
24446
24447 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
24448 -lncurses.
24449 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
24450
24451 * configure.ac: Check for curses libraries and headers.
24452
24453 * Makefile.in (LIBCURSES): New variable.
24454
24455 * genmk.rb (Script::rule): Set the executable bits.
24456
24457 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
24458 name of the PC partition map is "pc_partition_map" but not "pc".
24459
0e143073 244602005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24461
24462 * util/i386/pc/grub-install.in (grub_probefs): New variable.
24463 (modules): Likewise.
24464 (usage): Added descriptions for --modules and --grub-probefs.
24465 Handle --modules and --grub-probefs. Save the arguments in MODULES
24466 and GRUB_PROBEFS, respectively.
24467 Auto-detect a filesystem module against GRUBDIR. If the result is
24468 empty and modules are not specified explicitly, abort the
24469 installation. Add the result to MODULES.
24470
24471 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
24472 disk/powerpc/ieee1275/ofdisk.c,
24473 include/grub/powerpc/ieee1275/init.h and
24474 term/powerpc/ieee1275/ofconsole.c.
24475 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
24476 term/ieee1275/ofconsole.c.
24477
24478 * include/grub/powerpc/ieee1275/console.h: Resurrected.
24479
24480 * COPYING: Upgraded to the latest version. Only the address of the
24481 FSF office has changed.
f19dbdb7 24482
efd6e6d5 244832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24484
24485 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24486 kern/ieee1275.c with kern/ieee1275/of.c.
24487
24488 * kern/ieee1275.c: Moved to ...
24489 * kern/ieee1275/of.c: ... here.
24490
8ceafda2 244912005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
24492
24493 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 24494 readability.
8ceafda2 24495
24496 * config.guess: Updated to the latest version from gnulib.
24497 * config.sub: Likewise.
24498 * install.sh: Likewise.
24499 * mkinstalldirs: Likewise.
24500
24501 * include/grub/console.h: Removed. This file is arch-specific. Do
24502 not put this in include/grub.
24503
24504 * include/grub/i386/pc/console.h: Resurrected.
24505
24506 * util/console.c: Include grub/machine/console.h instead of
24507 grub/console.h.
24508 * util/grub-emu.c: Likewise.
24509
267f6cd9 245102005-08-04 Marco Gerards <metgerards@student.han.nl>
24511
24512 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
24513 hardcoded value.
f19dbdb7 24514
267f6cd9 24515 From Vincent Pelletier <subdino2004@yahoo.fr>
24516 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
24517 Redefined to use grub_getwh.
24518 (grub_term): New member named getwh.
24519 (grub_getwh): New prototype.
24520 * kern/term.c (grub_getwh): New function.
24521 * term/i386/pc/console.c (grub_console_getwh): New function.
24522 (grub_console_term): New member `getwh'.
24523 * term/i386/pc/vga.c (grub_vga_getwh): New function.
24524 (grub_vga_term): New member `getwh'.
0b5abe02 24525 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 24526 grub_ssize_t.
24527 (grub_ofconsole_getw): New function.
24528 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
24529 (grub_ofconsole_term): New field named getwh and new initial
24530 value.
24531
3be7266d 245322005-08-03 Hollis Blanchard <hollis@penguinppc.org>
24533
24534 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
24535 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
24536 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
24537 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
24538 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
24539 of <grub/machine/ieee1275.h>.
24540 * commands/ieee1275/reboot.c: Likewise.
24541 * boot/powerpc/ieee1275/ieee1275.c: Move ...
24542 * kern/ieee1275.c: ... to here. All users updated. Change all
24543 parameter structs to use new type `grub_ieee1275_cell_t'.
24544 * term/powerpc/ieee1275/ofconsole.c: Move ...
24545 * term/ieee1275/ofconsole.c: ... to here. All users updated.
24546 * disk/powerpc/ieee1275/ofdisk.c: Move ...
24547 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
24548 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
24549 to return int.
24550 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
24551 Remove unused prototypes. All users updated.
24552 * include/grub/powerpc/ieee1275/console.h: Removed.
24553 * include/grub/powerpc/ieee1275/ieee1275.h: Define
24554 `grub_ieee1275_cell_t'.
24555 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
24556 Cast comparisons with -1 to the correct type.
24557 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
24558 type to match `grub_ieee1275_entry_fn'.
24559
8b5f3938 245602005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
24561
24562 * DISTLIST: Added util/i386/pc/grub-probefs.c.
24563
24564 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
24565 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
24566 partmap/sun.c.
24567 (grub_probefs_SOURCES): New variable.
24568
24569 * util/i386/pc/grub-probefs.c: New file.
24570
24571 * util/i386/pc/grub-setup.c (main): Call
24572 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
24573 grub_hfs_init and grub_jfs_init to initialize the system. Call
24574 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
24575 grub_pc_partition_map_fini to finish the system.
24576
ea409713 245772005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
24578
24579 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
24580 function.
24581 (grub_multiboot_load_elf32): Likewise.
24582 (grub_multiboot_is_elf64): Likewise.
24583 (grub_multiboot_load_elf64): Likewise.
24584 (grub_multiboot_load_elf): Likewise.
24585 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
24586 an ELF32 or ELF64 file.
24587 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
24588
24589 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
24590 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
24591 NULL before calling FS->LABEL.
24592 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
24593 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
24594 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
24595 before calling FS->LABEL.
24596
141a288b 245972005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
24598
24599 * util/i386/pc/grub-install.in (datadir): New variable.
24600 (libdir): Removed.
24601 (pkgdatadir): New variable.
24602 (pkglibdir): Removed.
24603
0d5f8a54 246042005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
24605
24606 * DISTLIST: Added util/i386/pc/grub-install.in.
24607
24608 * util/i386/pc/grub-install.in: New file.
24609
24610 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
24611 (grub_install_SOURCES): Likewise.
24612
24613 * genmk.rb: Added support for scripts.
24614 (Script): New class.
24615 (scripts): New variable.
24616
24617 * Makefile.in (install-local): Install sbin_SCRIPTS by
24618 INSTALL_SCRIPT.
24619 (uninstall): Remove sbin_SCRIPTS.
24620
24621 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
24622 device, try to get a GRUB device by
24623 grub_util_biosdisk_get_grub_dev.
24624 Free DEST_DEV.
24625
24626 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
24627 description for --device-map.
24628
5f968e1e 246292005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24630
24631 Change the semantics of variable hooks. They now return strings
24632 instead of error values.
f19dbdb7 24633
5f968e1e 24634 * util/i386/pc/grub-setup.c: Include grub/env.h.
24635 (setup): Use grub_device_set_root instead of grub_env_set.
24636
24637 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
24638 grub_env_get instead of grub_device_set_root and
24639 grub_device_get_root, respectively.
24640
24641 * kern/main.c (grub_env_write_root): New function.
24642 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
24643 grub_env_set instead of grub_device_set_root.
24644
24645 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
24646 many variables.
24647 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
24648 rather than calling ENV->WRITE_HOOK afterwards.
24649 (grub_env_get): Return the result of ENV->READ_HOOK rather than
24650 passing a pointer of a pointer.
24651 (grub_register_variable_hook): Change the types of "read_hook" and
24652 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
24653 respectively.
24654 Allocate the default empty string on the heap, because this string
24655 may be freed later.
24656
24657 * kern/device.c: Include grub/env.h.
24658 (grub_device_set_root): Removed.
24659 (grub_device_get_root): Likewise.
24660 (grub_device_open): Use grub_env_get instead of
24661 grub_device_get_root.
24662
24663 * include/grub/env.h (grub_env_read_hook_t): New type.
24664 (grub_env_write_hook_t): Likewise.
24665 (grub_env_var): Change the types of "read_hook" and "write_hook"
24666 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
24667 (grub_register_variable_hook): Likewise.
24668
24669 * include/grub/device.h (grub_device_set_root): Removed.
24670 (grub_device_set_root): Likewise.
24671
24672 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
24673 make sure that DIRNAME terminates with '/', so that
24674 grub_fat_find_dir will fail if PATH is not a directory.
24675
24676 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
24677 from DIRNAME.
24678 Use the qualifier auto for print_files and print_files_long.
24679 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
24680 as a regular file.
24681 Put a newline only if there is no error.
24682 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
24683 used.
24684
896f0afd 246852005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
24686
24687 * kern/partition.c (grub_partition_probe): Initialize PART to
24688 NULL. Otherwise, when no partition map is registered, this returns
24689 a garbage.
24690
b28b81b2 246912005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
24692
24693 * partmap/apple.c (apple_partition_map_iterate): Check if POS
24694 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
24695 valid.
24696
5f3607e0 246972005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
24698
24699 * commands/ls.c (grub_ls_list_disks): Print the filesystem
24700 information on each device, if it does not have partitions. Print
24701 "Device" instead of "Disk", because this function is not specific
24702 to disk devices.
24703
24704 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
24705 static to ensure that it is put on the memory rather than a
24706 register.
24707
502c87e8 247082005-07-17 Yoshinori Okuji <okuji@enbug.org>
24709
24710 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
24711 (grub_cat_init): Likewise.
24712 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
24713 (options): Likewise.
24714 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24715 (grub_configfile_init): Likewise.
24716 * font/manager.c (GRUB_MOD_INIT): Likewise.
24717 * commands/help.c (GRUB_MOD_INIT): Likewise.
24718 (grub_help_init): Likewise.
24719 * normal/command.c (grub_command_init): Likewise.
24720 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
24721 * disk/loopback.c (grub_loop_init): Likewise.
24722 (GRUB_MOD_INIT): Likewise.
24723 * commands/ls.c (grub_ls_init): Likewise.
24724 (GRUB_MOD_INIT): Likewise.
24725 (options): Likewise.
24726 * commands/boot.c (grub_boot_init): Likewise.
24727 (GRUB_MOD_INIT): Likewise.
24728 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
24729 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
24730 (GRUB_MOD_INIT): Likewise.
24731 * commands/cmp.c (grub_cmp_init): Likewise.
24732 (GRUB_MOD_INIT): Likewise.
24733
24734 * normal/arg.c: Use <> instead of "" to include header files.
24735 (SHORT_ARG_HELP): New macro.
24736 (SHORT_ARG_USAGE): Likewise.
24737 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
24738 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
24739 descriptions.
24740 (find_short): Check if C is 'h' or 'u' explicitly.
24741 (grub_arg_show_help): Use space characters instead of tabs. Treat
24742 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
24743 are shown with --help and --usage only if they are not used for
24744 the command itself.
24745 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
24746 'h' and 'u'.
24747
24748 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
24749 const into "longarg". Change the type of "shortarg" to int.
24750
f806d18e 247512005-07-17 Yoshinori Okuji <okuji@enbug.org>
24752
24753 * boot/i386/pc/boot.S (boot_drive_check): New label.
24754
24755 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
24756 macro.
24757
24758 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
24759 which do not pass a boot drive correctly. Copied from GRUB Legacy.
24760
e293232b 247612005-07-17 Yoshinori Okuji <okuji@enbug.org>
24762
24763 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
24764 When turning off Gate A20, skip the check and return immediately,
24765 because this is not fatal usually.
24766
ebedfd00 247672005-07-17 Yoshinori Okuji <okuji@enbug.org>
24768
24769 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
24770 be 0x7C00 instead of 0x8000.
24771
24772 * boot/i386/pc/pxeboot.S: Rewritten.
24773
24774 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
24775 EXT_C.
24776 (gate_a20_check_state): Read a byte from 0x108000. Invert the
24777 result.
24778
654fc59f 247792005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
24780
24781 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
24782 robustness. This routine now supports a BIOS call and System
24783 Control Port A to modify the gate A20.
24784
24785 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24786 Increased to 0x440.
24787
09f9923f 247882005-07-12 Hollis Blanchard <hollis@penguinppc.org>
24789
24790 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
24791 device path and resulting ihandle.
24792 (grub_ofdisk_close): dprintf the ihandle being closed.
24793 (grub_ofdisk_read): dprintf function parameters.
24794 * kern/mm.c (grub_mm_init_region): Likewise.
24795 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
24796 (grub_linux_boot): dprintf the Linux entry point, initrd address and
24797 size, and boot arguments.
24798 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
24799 before loading into memory.
24800 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
24801 before loading into memory.
24802
7ef504d8 248032005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
24804
24805 * kern/mm.c: Added much documentation.
24806 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
24807 8, set to 5 instead of 8.
24808
e0f050c2 248092005-07-10 Yoshinori Okuji <okuji@enbug.org>
24810
24811 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
24812
24813 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
24814 (grub_mkdevicemap_SOURCES): New variable.
24815
24816 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
24817 lib/device.c of GRUB Legacy.
24818
7224189a 248192005-07-10 Yoshinori Okuji <okuji@enbug.org>
24820
24821 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
24822 instead of PATH is NULL.
24823
68c864eb 248242005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
24825
24826 * commands/cmp.c (BUFFER_SIZE): New macro.
24827 (grub_cmd_cmp): Close the right file at the right time. Compare
24828 only data just read. Don't report files of different size as
24829 identical. Dynamically allocate buffers. Move variable
24830 declarations at the beginning of function.
24831
e6f3e614 248322005-07-09 Yoshinori Okuji <okuji@enbug.org>
24833
24834 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
24835 reverse.
24836
f8f1559a 248372004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
24838
24839 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
24840 when backspace is pressed at beginning of line.
24841
39c9d41d 248422005-07-03 Yoshinori Okuji <okuji@enbug.org>
24843
24844 * DISTLIST: Added genfslist.sh.
24845
24846 * normal/main.c (fs_module_list): New variable.
24847 (autoload_fs_module): New function.
24848 (read_fs_list): Likewise.
24849 (grub_normal_execute): Call read_fs_list.
24850
24851 * kern/fs.c (grub_fs_autoload_hook): New variable.
24852 (grub_fs_probe): Added support for auto-loading.
24853
24854 * include/grub/normal.h (struct grub_fs_module_list): New struct.
24855 (grub_fs_module_list_t): New type.
24856
24857 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
24858 (grub_fs_autoload_hook): New prototype.
24859
24860 * genfslist.sh: New file.
f19dbdb7 24861
39c9d41d 24862 * genmk.rb: Added a rule to generate a filesystem list.
24863
121c1d83 248642005-06-30 Marco Gerards <metgerards@student.han.nl>
24865
24866 * configure.ac: Fix the test for cross-compiling.
24867
24868 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
24869 define GRUB_UTIL anymore.
24870
24871 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
24872 so this function works on other systems than just big endian.
24873 (load_modules): Likewise.
24874 (add_segments): Likewise.
24875
e75d76e1 248762005-06-23 Hollis Blanchard <hollis@penguinppc.org>
24877
24878 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
24879 contains `l' modifier, get a long from va_arg().
24880
50b5a0a7 248812005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
24882
24883 * kern/mm.c (grub_free): If the next free block which is being
24884 merged is the first free block, set the first block to the block
24885 being freed.
24886 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
24887
89371b20 248882005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24889
24890 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
24891 `grub_ieee1275_chosen'.
24892
168d6e58 248932005-05-08 Hollis Blanchard <hollis@penguinppc.org>
24894
24895 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
24896 (grub_ieee1275_chosen): New variable.
24897 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
24898 `chosen'.
24899 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
24900 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24901 Rename first argument to `phandle' for consistency.
24902 (grub_ieee1275_get_property_length): Likewise.
24903 (grub_ieee1275_next_property): Likewise. Change type of first argument
24904 to grub_ieee1275_phandle_t.
24905 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
24906 Move export next to declaration.
24907 (grub_ieee1275_chosen): New variable.
24908 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
24909 Correct cosmetic typo.
24910 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
24911 `grub_ieee1275_chosen'.
24912 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
24913 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
24914 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
24915 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
24916 `grub_ieee1275_chosen'.
24917
ca5baa3f 249182005-05-10 Hollis Blanchard <hollis@penguinppc.org>
24919
24920 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
24921 /chosen/bootargs.
24922 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
24923 /chosen/bootargs as "variable=value" pairs.
24924
708b345f 249252005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
24926
24927 * include/grub/misc.h (grub_dprintf): New macro.
24928 (grub_real_dprintf): New prototype.
24929 (grub_strword): Likewise.
24930 (grub_iswordseparator): Likewise.
24931 * kern/misc.c (grub_real_dprintf): New function.
24932 (grub_strword): Likewise.
24933 (grub_iswordseparator): Likewise.
24934
f4c5e67c 249352005-04-30 Hollis Blanchard <hollis@penguinppc.org>
24936
24937 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
24938 (roundup): Remove macro.
24939 (grub_ieee1275_flags): Make static.
24940 (grub_ieee1275_realmode): Remove.
24941 (grub_ieee1275_test_flag): New function.
24942 (grub_ieee1275_set_flag): Likewise.
24943 (find_options): Rename to `grub_ieee1275_find_options'; update
24944 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
24945 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
24946 (cmain): New prototype.
24947 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
24948 `grub_ieee1275_flags' directly.
24949 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
24950 machine/biosdisk.h.
24951 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
24952 Don't include grub/machine/init.h.
24953 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
24954 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24955 Remove prototype.
24956 (grub_ieee1275_realmode): Likewise.
24957 (grub_ieee1275_flag): New enum.
24958 (grub_ieee1275_test_flag): New prototype.
24959 (grub_ieee1275_set_flag): New prototype.
24960 * include/grub/powerpc/ieee1275/init.h: Remove file.
24961 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
24962 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
24963 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
24964 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
24965 comment.
24966 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
24967 `grub_ieee1275_test_flag'.
24968 (grub_ieee1275_encode_devname): Likewise.
24969
ed16607e 249702005-04-21 Hollis Blanchard <hollis@penguinppc.org>
24971
24972 * include/grub/powerpc/ieee1275/ieee1275.h
24973 (grub_ieee1275_encode_devname): New prototype.
24974 (grub_ieee1275_get_filename): Likewise.
24975 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
24976 function.
24977 (grub_set_prefix): Likewise.
24978 (grub_machine_init): Call grub_set_prefix.
24979 * kern/powerpc/ieee1275/openfw.c: Fix typos.
24980 (grub_parse_type): New enum.
24981 (grub_ieee1275_get_devargs): New function.
24982 (grub_ieee1275_get_devname): Likewise.
24983 (grub_ieee1275_parse_args): Likewise.
24984 (grub_ieee1275_get_filename): Likewise.
24985 (grub_ieee1275_encode_devname): Likewise.
24986
be369920 249872005-03-30 Marco Gerards <metgerards@student.han.nl>
24988
24989 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
24990 `grub_loader_unset'.
24991
a5ce3a4a 249922005-03-26 Hollis Blanchard <hollis@penguinppc.org>
24993
24994 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
24995 instead of grub_ieee1275_interpret.
24996 (grub_halt_init): New function.
24997 (grub_halt_fini): Likewise.
24998 (GRUB_MOD_INIT): Correct message grammar.
24999 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25000 instead of grub_ieee1275_interpret.
25001 (grub_reboot_init): New function.
25002 (grub_reboot_fini): Likewise.
25003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25004 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25005 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25006 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25007 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25008 function.
25009 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25010 Add prototype.
25011 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25012 prototype.
25013 (grub_halt): Likewise.
25014 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25015 (cmain): Remove __attribute__((unused)).
25016 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25017 (grub_heap_len): Likewise.
25018 (grub_machine_fini): New function.
25019 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25020 (grub_halt): Likewise.
25021 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25022 function.
25023 * util/powerpc/ieee1275/misc.c: New file.
25024
0058f771 250252005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25026
25027 * DISTLIST: New file.
25028 * gendistlist.sh: Likewise.
f19dbdb7 25029
0058f771 25030 * Makefile.in (COMMON_DISTFILES): Removed.
25031 (BOOT_DISTFILES): Likewise.
25032 (CONF_DISTFILES): Likewise.
25033 (DISK_DISTFILES): Likewise.
25034 (FS_DISTFILES): Likewise.
25035 (INCLUDE_DISTFILES): Likewise.
25036 (KERN_DISTFILES): Likewise.
25037 (LOADER_DISTFILES): Likewise.
25038 (TERM_DISTFILES): Likewise.
25039 (UTIL_DISTFILES): Likewise.
25040 (DISTFILES): Likewise.
25041 (uninstall): Uninstall files in $(pkgdata_DATA).
25042 (DISTLIST): New target.
25043 (distdir): Use the contents of the file DISTLIST to get a list of
25044 distributed files.
25045
46b3b8a5 250462005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25047
25048 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25049 descriptor. This is ported from GRUB Legacy.
25050
25051 * gencmdlist.sh: Added an extra semicolon to make it work with
25052 old sed versions. Reported by Robert Bihlmeyer
25053 <robbe@orcus.priv.at>.
25054
5822ff87 250552005-03-08 Yoshinori Okuji <okuji@enbug.org>
25056
25057 Automatic loading of commands is supported.
f19dbdb7 25058
5822ff87 25059 * normal/main.c (read_command_list): New function.
25060 (grub_normal_execute): Call read_command_list.
25061
25062 * normal/command.c (grub_register_command): Return zero or CMD.
25063 Allocate CMD->NAME from the heap.
25064 Initialize CMD->MODULE_NAME to zero.
25065 Find the same name as well. If the same command is found and it is
25066 a dummy command, overwrite members. If it is not a dummy command,
25067 return zero.
25068 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25069 (grub_command_find): If a dummy command is found, load a module
25070 and retry to find a command only once.
25071
25072 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25073 make sure that each command is loaded.
25074
25075 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25076 macro.
25077 (struct grub_command): Remove const from the member `name'.
25078 Add a new member `module_name'.
25079 (grub_register_command): Return grub_command_t.
25080
25081 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25082 sure that each command is loaded.
25083
25084 * genmk.rb (PModule::rule): Specify a module name without the
25085 suffix ".mod" to gencmdlist.sh.
25086
7b1f4b57 250872005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25088
25089 * gencmdlist.sh: New file.
f19dbdb7 25090
7b1f4b57 25091 * genmk.rb (PModule::rule): Generate a rule for a command list.
25092 Clean command.lst.
25093 Generate command.lst from $(COMMANDFILES).
25094
25095 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25096 (DATA): Added $(pkgdata_DATA).
25097 (install-local): Install files in $(pkgdata_DATA).
25098
062aaf39 250992005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25100
25101 * term/i386/pc/vga.c (debug_command): Removed.
25102 (GRUB_MOD_INIT): Do not register the command "debug".
25103
25104 From Hollis Blanchard:
25105 * commands/configfile.c: New file.
25106 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25107 commands/configfile.c.
25108 (pkgdata_MODULES): Added configfile.mod.
25109 (configfile_mod_SOURCES): New variable.
25110 (configfile_mod_CFLAGS): Likewise.
25111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25112 commands/configfile.c.
25113 (pkgdata_MODULES): Added configfile.mod.
25114 (configfile_mod_SOURCES): New variable.
25115 (configfile_mod_CFLAGS): Likewise.
25116 * util/grub-emu.c (main): Call grub_configfile_init and
25117 grub_configfile_fini.
25118 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25119 prototype.
25120 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 25121
cee01aa6 251222005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25123
25124 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25125 address.
25126
25127 * commands/help.c (grub_cmd_help): Do not print newlines after
25128 the last command in print_command_help.
25129
93f3a1d8 251302005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25131
25132 * commands/default.h: New file.
25133 * commands/timeout.h: Likewise.
25134 * normal/context.c: Likewise.
f19dbdb7 25135
93f3a1d8 25136 * util/misc.c: Do not include sys/times.h.
25137 Include sys/time.h and grub/machine/time.h.
25138 (grub_get_rtc): Rewritten with gettimeofday.
25139
25140 * util/grub-emu.c (main): Call grub_default_init and
25141 grub_timeout_init before grub_normal_init, and call
25142 grub_timeout_fini and grub_default_fini after grub_main.
25143
25144 * util/console.c (grub_ncurses_checkkey): Return the read
25145 character or -1.
25146
25147 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25148 timeouts.
25149
25150 * normal/main.c (read_config_file): Push MENU. If this fails,
25151 print an error and wait for a user input.
25152 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25153 If a menu is empty or an error occurs, pop MENU.
25154 (grub_normal_execute): Pop and free MENU after grub_menu_run
25155 returns.
25156
25157 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25158
25159 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25160 include time.h.
25161 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25162 without GRUB_UTIL.
25163 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25164 time.h.
25165 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25166 without GRUB_UTIL.
25167
25168 * include/grub/normal.h (struct grub_menu_list): New struct.
25169 (grub_menu_list_t): New type.
25170 (struct grub_context): New struct.
25171 (grub_context_t): New type.
25172 (grub_register_command): Got rid of EXPORT_FUNC.
25173 (grub_unregister_command): Likewise.
25174 (grub_context_get): New prototype.
25175 (grub_context_get_current_menu): Likewise.
25176 (grub_context_push_menu): Likewise.
25177 (grub_context_pop_menu): Likewise.
25178 [GRUB_UTIL] (grub_default_init): Likewise.
25179 [GRUB_UTIL] (grub_default_fini): Likewise.
25180 [GRUB_UTIL] (grub_timeout_init): Likewise.
25181 [GRUB_UTIL] (grub_timeout_fini): Likewise.
25182
25183 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
25184 commands/timeout.c and normal/context.c.
25185 (pkgdata_MODULES): Added default.mod and timeout.mod.
25186 (normal_mod_SOURCES): Added normal/context.c.
25187 (default_mod_SOURCES): New variable.
25188 (default_mod_CFLAGS): Likewise.
25189 (timeout_mod_SOURCES): Likewise.
25190 (timeout_mod_CFLAGS): Likewise.
25191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
25192 conf/i386-pc.rmk.
25193 (pkgdata_MODULES): Added default.mod and timeout.mod.
25194 (normal_mod_SOURCES): Added normal/context.c.
25195 (default_mod_SOURCES): New variable.
25196 (default_mod_CFLAGS): Likewise.
25197 (timeout_mod_SOURCES): Likewise.
25198 (timeout_mod_CFLAGS): Likewise.
25199
25200 * Makefile.in (all-local): Added $(MKFILES).
25201
4ed2e1dd 252022005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
25203
25204 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
25205 (grub_emu_SOURCES): Likewise.
25206 (pkgdata_MODULES): Add `sun.mod'.
25207 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25209 `partmap/sun.c'.
25210 (pkgdata_MODULES): Add `sun.mod'.
25211 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25212 * include/grub/partition.h (grub_sun_partition_map_init): New
25213 prototype.
25214 (grub_sun_partition_map_fini): Likewise.
25215 * partmap/sun.c: New file.
25216 * util/grub-emu.c (main): Initialize and de-initialize the sun
25217 partitionmap support.
25218
4d4e372e 252192005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
25220
25221 This implements an Emacs-like menu entry editor.
f19dbdb7 25222
4d4e372e 25223 * normal/menu_entry.c: New file.
f19dbdb7 25224
4d4e372e 25225 * util/console.c (grub_ncurses_putchar): Translate some Unicode
25226 characters to ASCII.
25227 (saved_char): New variable.
25228 (grub_ncurses_checkkey): Rewritten completely.
25229 (grub_ncurses_getkey): Likewise.
25230 (grub_ncurses_init): Call raw instead of cbreak.
25231
25232 * normal/menu.c (print_entry): Do not put a space.
25233 (init_page): Renamed to ...
25234 (grub_menu_init_page): ... this. All callers changed.
25235 (edit_menu_entry): Removed.
25236 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
25237
25238 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
25239
25240 * kern/misc.c (grub_vprintf): Call grub_refresh.
25241
25242 * normal/menu.c (DISP_LEFT): Renamed to ...
25243 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
25244 * normal/menu.c (DISP_UP): Renamed to ...
25245 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
25246 * normal/menu.c (DISP_RIGHT): Renamed to ...
25247 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
25248 * normal/menu.c (DISP_DOWN): Renamed to ...
25249 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
25250 * normal/menu.c (DISP_HLINE): Renamed to ...
25251 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
25252 * normal/menu.c (DISP_VLINE): Renamed to ...
25253 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
25254 * normal/menu.c (DISP_UL): Renamed to ...
25255 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
25256 * normal/menu.c (DISP_UR): Renamed to ...
25257 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
25258 * normal/menu.c (DISP_LL): Renamed to ...
25259 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
25260 * normal/menu.c (DISP_LR): Renamed to ...
25261 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
25262 * normal/menu.c (TERM_WIDTH): Renamed to ...
25263 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
25264 * normal/menu.c (TERM_HEIGHT): Renamed to ...
25265 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
25266 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
25267 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
25268 * normal/menu.c (TERM_MARGIN): Renamed to ...
25269 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
25270 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
25271 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
25272 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
25273 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
25274 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
25275 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
25276 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
25277 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
25278 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
25279 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
25280 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
25281 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
25282 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
25283 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
25284 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
25285 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
25286 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
25287 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
25288 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
25289 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
25290 All callers changed.
25291
25292 * include/grub/normal.h: New prototype.
25293
25294 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25295 normal/menu_entry.c.
25296 (normal_mod_SOURCES): Likewise.
25297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25298 (normal_mod_SOURCES): Likewise.
25299
e6b92c8a 253002005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
25301
25302 * include/grub/normal.h (grub_halt_init): New prototype.
25303 (grub_halt_fini): Likewise.
25304 (grub_reboot_init): Likewise.
25305 (grub_reboot_fini): Likewise.
25306
25307 * util/grub-emu.c: Include signal.h.
25308 (main_env): New global variable.
25309 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
25310 catch C-c.
25311 (grub_machine_fini): New function.
25312 (main): Call grub_halt_init and grub_reboot_init before
25313 grub_main, and grub_reboot_fini and grub_halt_fini after it.
25314 Call setjmp with MAIN_ENV to go back afterwards.
25315 Call grub_machine_fini right before return.
25316
25317 * include/grub/util/misc.h: Include setjmp.h.
25318 (main_env): New prototype.
25319
25320 * include/grub/kernel.h (grub_machine_fini): New prototype.
25321 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
25322 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
25323
25324 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
25325 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
25326 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 25327
e6b92c8a 25328 * util/i386/pc/misc.c: New file.
f19dbdb7 25329
e6b92c8a 25330 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25331 util/i386/pc/misc.c, commands/i386/pc/halt.c and
25332 commands/i386/pc/reboot.c.
25333
c642636f 253342005-02-14 Guillem Jover <guillem@hadrons.org>
25335
25336 * include/grub/dl.h (grub_dl_check_header): New prototype.
25337 (grub_arch_dl_check_header): Change return type to grub_err_t,
25338 remove size parameter and export function. Update all callers.
25339 * kern/dl.c (grub_dl_check_header): New function.
25340 (grub_dl_load_core): Use `grub_dl_check_header' instead of
25341 `grub_arch_dl_check_header'. Check ELF type. Check if sections
25342 are inside the core.
25343 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
25344 independent ELF header checks.
25345 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25346 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
25347 `grub_dl_check_header' instead of explicit checks. Check for the
25348 ELF type.
25349 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
25350 `grub_dl_check_header' instead of explicit checks. Remove arch
25351 specific ELF header checks.
25352
e6b92c8a 25353 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
25354 argument SIZE.
25355
5eabe94b 253562005-02-13 Hollis Blanchard <hollis@penguinppc.org>
25357
25358 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
25359 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
25360
1b14a681 253612005-02-12 Hollis Blanchard <hollis@penguinppc.org>
25362
25363 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 25364 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 25365 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 25366 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 25367 * partmap/amiga.c (amiga_partition_map_iterate): Return
25368 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
25369 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25370
aca108aa 253712005-02-01 Guillem Jover <guillem@hadrons.org>
25372
25373 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
25374 help info.
25375
c9f9c556 253762005-01-31 Marco Gerards <metgerards@student.han.nl>
25377
25378 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
25379 Removed prototype.
25380 (grub_rescue_cmd_linux): New prototype.
25381 (grub_rescue_cmd_initrd): Likewise.
25382 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
25383 `bi_rec'.
25384 (grub_linux_release_mem): Release the memory for the initrd.
25385 (grub_load_linux): Renamed from this...
25386 (grub_rescue_cmd_linux): ...To this. Changed all callers.
25387 Changed `entry' not to be static. Loop over memory regions to
25388 find another one when the default fails.
25389 (grub_rescue_cmd_initrd): New function.
25390 (grub_linux_init): Remove function.
25391 (grub_linux_fini): Likewise.
25392 (GRUB_MOD_INIT): Register `initrd'.
25393 (GRUB_MOD_FINI): Unregister `initrd'.
25394 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
25395 Function removed.
25396 (grub_linux_normal_fini): Likewise.
25397 (GRUB_MOD_INIT): Register `initrd'.
25398 (GRUB_MOD_FINI): Unregister `initrd'.
25399
990cf3aa 254002005-01-31 Marco Gerards <metgerards@student.han.nl>
25401
25402 * commands/help.c: New file.
25403 * normal/arg.c (show_help): Renamed to...
25404 (grub_arg_show_help): ... this.
25405 * commands/i386/pc/halt.c: New file.
25406 * commands/i386/pc/reboot.c: Likewise.
25407 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
25408 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
25409 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
25410 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
25411 variables.
25412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25413 `commands/help.c'.
25414 (pkgdata_MODULES): Add `help.mod'.
25415 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
25416 * grub/i386/pc/init.h (grub_reboot): New prototype.
25417 (grub_halt): Likewise.
25418 * include/grub/normal.h (grub_arg_show_help): New prototype.
25419 (grub_help_init): Likewise.
25420 (grub_help_fini): Likewise.
25421 * util/grub-emu.c (main): Initialize and deinitialize the help
25422 command.
25423
25424 * normal/cmdline.c (grub_cmdline_get): Doc fix.
25425
25426 * normal/command.c (grub_command_init): Fixed the description of
25427 the `set' and `unset' commands.
25428
254292005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 25430
25431 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
25432 function.
25433 * commands/ieee1275/halt.c: New file.
25434 * commands/ieee1275/reboot.c: Likewise.
25435 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
25436 `__attribute__ ((unused))'. Some GCS related fixed.
25437 (grub_suspend_init) [GRUB_UTIL]: Function removed.
25438 (grub_suspend_fini): Likewise.
25439 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
25440 and `halt.mod'.
25441 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
25442 (halt_mod_CFLAGS): New variables.
25443 * include/grub/powerpc/ieee1275/ieee1275.h
25444 (grub_ieee1275_interpret): New prototype.
25445
1ab09cc7 254462005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
25447
25448 * include/grub/misc.h (memmove): New prototype.
25449 (memcpy): Likewise.
25450
8b8cbdb2 254512005-01-22 Hollis Blanchard <hollis@penguinppc.org>
25452
25453 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
25454 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
25455
e3741a27 254562005-01-22 Marco Gerards <metgerards@student.han.nl>
25457
25458 * kern/misc.c (grub_strndup): Function rewritten.
25459
776bd780 254602005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
25461
25462 * normal/menu.c (TERM_WIDTH): Macro redefined.
25463 (TERM_TOP_BORDER_Y): Likewise.
25464 (draw_border): Replaced while-loop by a for-loop. Make the number
25465 of lines consistent with the number of lines displayed in
25466 print_entries. Added a margin below the rectangle.
25467 (print_entry): Make the entry fit in the rectangle.
25468 (print_entries): Display the scroll arrows next to the right
25469 border.
25470
78026bce 254712005-01-21 Marco Gerards <metgerards@student.han.nl>
25472
25473 * fs/minix.c (grub_minix_find_file): Reserve more space for
25474 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
25475 `grub_strncpy' to copy `path' into it.
25476
67bbaf0f 254772005-01-21 Marco Gerards <metgerards@student.han.nl>
25478
25479 Add the loopback device, a device via which files can be accessed
25480 as devices.
f19dbdb7 25481
67bbaf0f 25482 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
25483 (pkgdata_MODULES): Add loopback.mod.
25484 (loopback_mod_SOURCES): New variable.
25485 (loopback_mod_CFLAGS): Likewise.
25486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25487 `disk/loopback.c'.
25488 (pkgdata_MODULES): Add loopback.mod.
25489 (loopback_mod_SOURCES): New variable.
25490 (loopback_mod_CFLAGS): Likewise.
25491 * disk/loopback.c: new file.
25492 * include/grub/normal.h (grub_loop_init): New prototype.
25493 (grub_loop_fini): New prototype.
25494 * util/grub-emu.c (main): Initialize and de-initialize loopback
25495 support.
25496 * include/grub/disk.h (grub_disk_dev_id): Add
25497 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
25498
6f1c18bd 254992005-01-20 Hollis Blanchard <hollis@penguinppc.org>
25500
25501 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
25502 function.
25503 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
25504 (suspend_mod_SOURCES): New variable.
25505 (suspend_mod_CFLAGS): Likewise.
25506 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
25507 New prototype.
25508 * commands/ieee1275/suspend.c: New file.
25509
b38551da 255102005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25511
25512 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 25513 ((unused))' to `__attribute__ ((used))'.
b38551da 25514 (GRUB_MOD_FINI): Likewise.
25515 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
25516 * genmk.rb (PModule): Assign space to common symbols when linking
25517 modules.
25518
777aff39 255192005-01-20 Marco Gerards <metgerards@student.han.nl>
25520
25521 * include/grub/mm.h (grub_mm_init_region): Change the type of the
25522 `unsigned' arguments to `grub_size_t'.
25523 (grub_malloc): Likewise.
25524 (grub_realloc): Likewise.
25525 (grub_memalign): Likewise.
25526 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
25527 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25528 * util/misc.c (grub_malloc): Likewise.
25529 (grub_realloc): Likewise.
25530 * kern/mm.c (get_header_from_pointer): Change the casts to
25531 `unsigned' into a cast to `grub_size_t'.
25532
25533 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
25534 point to `currnode' when `currnode' is changed.
25535
25536 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
25537 Schottelius <nico-linux@schottelius.org>.
25538
d0ff18e1 255392005-01-09 Hollis Blanchard <hollis@penguinppc.org>
25540
25541 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
25542 (note_path): Remove variable.
25543 (GRUB_IEEE1275_NOTE_NAME): New macro.
25544 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
25545 (grub_ieee1275_note_hdr): New structure.
25546 (grub_ieee1275_note_desc): Likewise.
25547 (grub_ieee1275_note): Likewise.
25548 (load_note): Remove `dir' argument. All callers updated. Remove
25549 `note_img' and `path'. Do not load a file from `note_path'.
25550 Initialize a struct grub_ieee1275_note and write that to `out'.
25551 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
25552
4ca7004c 255532005-01-05 Marco Gerards <metgerards@student.han.nl>
25554
25555 * util/misc.c (grub_util_read_image): Revert last change. It
25556 called `grub_util_read_at', which seeks from the beginning of the
25557 file.
25558
0b412211 255592005-01-04 Hollis Blanchard <hollis@penguinppc.org>
25560
25561 * TODO: Add note about endianness in grub-mkimage.
25562 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
25563 section.
25564 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
25565 (grub_mkimage_SOURCES): New target.
25566 * include/grub/kernel.h (grub_start_addr): Remove variable.
25567 (grub_end_addr): Likewise.
25568 (grub_total_module_size): Likewise.
25569 (grub_kernel_image_size): Likewise.
25570 (GRUB_MODULE_MAGIC): New constant.
25571 (grub_module_info): New structure.
25572 (grub_arch_modules_addr): New prototype.
25573 (grub_get_end_addr): Remove prototype.
25574 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
25575 * include/grub/powerpc/ieee1275/kernel.h: New file.
25576 * include/grub/util/misc.h (grub_util_get_fp_size): New
25577 prototype.
25578 (grub_util_read_at): Likewise.
25579 (grub_util_write_image_at): Likewise.
25580 * kern/main.c (grub_get_end_addr): Remove function.
25581 (grub_load_modules): Call grub_arch_modules_addr instead of using
25582 grub_end_addr. Look for a grub_module_info struct in memory. Use
25583 the grub_module_info fields instead of calling grub_get_end_addr
25584 as loop conditions. Move grub_add_unused_region code here.
25585 (grub_add_unused_region): Remove function.
25586 * kern/i386/pc/init.c: Include grub/cache.h.
25587 (grub_machine_init): Remove call to grub_get_end_addr. Remove
25588 one call to add_mem_region.
25589 (grub_arch_modules_addr): New function.
25590 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
25591 (grub_total_module_size): Likewise.
25592 Include grub/machine/kernel.h.
25593 (grub_arch_modules_addr): New function.
25594 * util/grub-emu.c (grub_end_addr): Remove variable.
25595 (grub_total_module_size): Likewise.
25596 (grub_arch_modules_addr): New function.
25597 * util/misc.c: Include unistd.h.
25598 (grub_util_get_fp_size): New function.
25599 (grub_util_read_at): Likewise.
25600 (grub_util_write_image_at): Likewise.
25601 (grub_util_read_image): Call grub_util_read_at.
25602 (grub_util_write_image): Call grub_util_write_image_at.
25603 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
25604 additional memory in kernel_img for a struct grub_module_info.
25605 Fill in that grub_module_info.
25606 * util/powerpc/ieee1275/grub-mkimage.c: New file.
25607
458786f8 256082005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25609
25610 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
25611 New function.
25612 * include/grub/powerpc/ieee1275/ieee1275.h
25613 (grub_ieee1275_milliseconds): New prototype.
25614 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
25615 Change to 1000.
25616 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
25617 grub_ieee1275_milliseconds.
25618
ac507d1b 256192005-01-03 Hollis Blanchard <hollis@penguinppc.org>
25620
25621 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
25622 variable.
25623 (find_options): New function.
25624 (cmain): Call find_options.
25625 * include/grub/powerpc/ieee1275/ieee1275.h
25626 (grub_ieee1275_realmode): New extern variable.
25627 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
25628 grub_map if grub_ieee1275_realmode is false.
25629
6b8fd1c4 256302004-12-29 Marco Gerards <metgerards@student.han.nl>
25631
25632 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
25633 lines are inserted and make it work like readline. Reported by
25634 Vincent Pelletier <subdino2004@yahoo.fr>.
25635
8514a1e0 256362004-12-28 Marco Gerards <metgerards@student.han.nl>
25637
25638 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
25639
25640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
25641 `kern/powerpc/cache.S'.
25642
924b6140 256432004-12-27 Marco Gerards <metgerards@student.han.nl>
25644
25645 * genmk.rb: Handle the `Program' class in the main loop. Written
25646 by Johan Rydberg <jrydberg@gnu.org>.
25647 (Program): New class.
25648 (programs): New variable.
25649 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
25650 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
25651 instead of "grub/kernel.h". Include <grub/machine/init.h>.
25652 (help_arch): Function removed.
25653 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
25654 `powerpc/libgcc.h' and `loader.h'.
25655 (pkgdata_PROGRAMS): New variable.
25656 (sbin_UTILITIES): Variable removed.
25657 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
25658 (grubof_SOURCES): Variable re-defined so it only includes the
25659 core functionality.
25660 (grubof_CFLAGS): Remove `-DGRUBOF'.
25661 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
25662 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
25663 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
25664 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
25665 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
25666 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
25667 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
25668 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
25669 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
25670 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
25671 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25672 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
25673 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
25674 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
25675 (pc_mod_CFLAGS): New variables.
25676 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
25677 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
25678 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
25679 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
25680 Moved from here...
25681 * include/grub/i386/pc/init.h (grub_os_area_addr)
25682 (rub_os_area_size): ... to here.
25683 * include/grub/powerpc/ieee1275/ieee1275.h
25684 (grub_ieee1275_entry_fn): Export symbol.
25685 * include/grub/powerpc/ieee1275/init.h: New file.
25686 * include/grub/powerpc/libgcc.h: Likewise.
25687 * include/grub/cache.h: Likewise.
25688 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
25689 <hollis@penguinppc.org>.
25690 * kern/dl.c: Include <grub/cache.h>.
25691 (grub_dl_flush_cache): New function.
25692 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
25693 for this module.
25694 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
25695 (grub_console_init): Removed prototypes.
25696 (grub_machine_init): Don't initialize the modules anymore.
25697 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
25698 static.
25699 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
25700 Macro undef removed.
25701 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
25702 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
25703 relocation `R_PPC_REL32'. Return an error when the relocation is
25704 unknown.
25705 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
25706 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
25707 * util/misc.c (grub_arch_sync_caches): Likewise.
25708
e4b47e0c 257092004-12-19 Marco Gerards <metgerards@student.han.nl>
25710
25711 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
25712 `symlist.c', add `grubof_symlist.c'.
25713 (symlist.c): Variable removed.
25714 (grubof_HEADERS): Variable added.
25715 (grubof_symlist.c): New target.
25716 (kernel_syms.lst): Use `grubof_HEADERS' instead of
25717 `kernel_img_HEADERS'.
25718 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
25719 * kern/powerpc/dl.c: New file.
25720 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
25721 Function removed.
25722 (grub_arch_dl_relocate_symbols): Likewise.
25723 (grub_register_exported_symbols): Likewise.
25724
4ceb3636 257252004-12-13 Marco Gerards <metgerards@student.han.nl>
25726
25727 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
25728 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
25729 to fail instead. Reported by Vincent Pelletier
25730 <subdino2004@yahoo.fr>.
25731
25732 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
25733 it is not allocated. Reported by Vincent Pelletier
25734 <subdino2004@yahoo.fr>.
25735
25736 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
25737 output so the output looks better.
f19dbdb7 25738
3f1578fe 257392004-12-04 Marco Gerards <metgerards@student.han.nl>
25740
25741 Modulize the partition map support and add support for the amiga
25742 partition map.
f19dbdb7 25743
3f1578fe 25744 * commands/ls.c: Include <grub/partition.h> instead of
25745 <grub/machine/partition.h>.
25746 * kern/disk.c: Likewise.
25747 * kern/rescue.c: Likewise.
25748 * loader/i386/pc/chainloader.c: Likewise.
25749 * normal/cmdline.c: Likewise.
25750 * kern/powerpc/ieee1275/init.c: Likewise.
25751 (grub_machine_init): Call `grub_pc_partition_map_init',
25752 `grub_amiga_partition_map_init' and
25753 `grub_apple_partition_map_init'.
25754 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
25755 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
25756 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
25757 `partition.h' and `pc_partition.h'.
25758 (grub_setup_SOURCES): Remove
25759 `disk/i386/pc/partition.c'. Add `kern/partition.c',
25760 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25761 (grub_emu_SOURCES): Likewise.
25762 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
25763 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
25764 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
25765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25766 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
25767 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
25768 (grubof_SOURCES): Likewise.
25769 * disk/i386/pc/partition.c: File removed.
25770 * disk/powerpc/ieee1275/partition.c: Likewise.
25771 * include/grub/powerpc/ieee1275/partition.h: Likewise.
25772 * include/grub/i386/pc/partition.h: Likewise.
25773 * kern/partition.c: New file.
25774 * partmap/amiga.c: Likewise.
25775 * partmap/apple.c: Likewise.
25776 * partmap/pc.c: Likewise.
25777 * include/grub/partition.h: Likewise..
25778 * include/grub/pc_partition.h: Likewise.
25779 * util/grub-emu.c: Include <grub/partition.h> instead of
25780 <grub/machine/partition.h>.
25781 (main): Call `grub_pc_partition_map_init',
25782 `grub_amiga_partition_map_init' and
25783 `grub_apple_partition_map_init' and deinitialize afterwards.
25784 * util/i386/pc/biosdisk.c: Include `#include
25785 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25786 `<grub/machine/partition.h>'.
25787 * util/i386/pc/grub-setup.c: Likewise.
25788 * util/i386/pc/biosdisk.c: Likewise.
25789 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
25790 partition information in case of a PC partition.
25791 * util/i386/pc/grub-setup.c: Include `#include
25792 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
25793 `<grub/machine/partition.h>'.
25794 (setup): Only access the PC specific partition information in case
25795 of a PC partition.
25796
0ef4ced9 257972004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 25798
0ef4ced9 25799 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
25800 (grub_longjmp): Likewise.
25801 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
25802 20.
25803 * normal/powerpc/setjmp.S: New file.
25804 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
25805 `normal/powerpc/setjmp.S'.
25806 (grubof_CFLAGS): Add `-DGRUBOF'.
25807 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
25808 [GRUB_UTIL && !GRUBOF].
f19dbdb7 25809
19950e29 258102004-11-16 Marco Gerards <metgerards@student.han.nl>
25811
25812 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
25813 property named `name'. Correctly handle the error returned by
25814 `grub_ieee1275_finddevice' if a device can not be opened.
25815
a2fea427 258162004-11-02 Hollis Blanchard <hollis@penguinppc.org>
25817
25818 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
25819 `actual' for negativity.
25820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
25821 kern/fshelp.c.
25822
41ea0ea3 258232004-11-01 Marco Gerards <metgerards@student.han.nl>
25824
25825 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
25826 (PAGE_OFFSET): New macro.
25827 (CRTC_ADDR_PORT): Likewise.
25828 (CRTC_DATA_PORT): Likewise.
25829 (START_ADDR_HIGH_REGISTER): Likewise.
25830 (START_ADDR_LOW_REGISTER): Likewise.
25831 (GRAPHICS_ADDR_PORT): Likewise.
25832 (GRAPHICS_DATA_PORT): Likewise.
25833 (READ_MAP_REGISTER): Likewise.
25834 (INPUT_STATUS1_REGISTER): Likewise.
25835 (INPUT_STATUS1_VERTR_BIT): Likewise.
25836 (page): New variable.
25837 (wait_vretrace): New function.
25838 (set_read_map): Likewise.
25839 (set_start_address): Likewise.
25840 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
25841 the right page.
25842 (check_vga_mem): Take the page into account.
25843 (write_char): Likewise.
25844 (write_cursor): Likewise.
25845 (scroll_up): Likewise. Copy the page to the page that is not
25846 shown and switch between both pages.
25847 (grub_vga_putchar): Fix off by one error.
25848 (grub_vga_cls): Wait for the vertical retrace. Take the page into
25849 account.
25850
ad0bd20b 258512004-11-01 Marco Gerards <metgerards@student.han.nl>
25852
25853 Add support for iso9660 (including rockridge).
f19dbdb7 25854
ad0bd20b 25855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25856 (iso9660_mod_SOURCES): New variable.
25857 (iso9660_mod_CFLAGS): Likewise.
25858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
25859 * include/grub/fs.h (grub_iso9660_init): New prototype.
25860 * util/grub-emu.c (main): Call `grub_iso9660_init'.
25861 * fs/iso9660.c: New file.
25862
25863 * include/grub/misc.h (grub_strncat): New prototype.
25864 * kern/misc.c (grub_strncat): New function.
f19dbdb7 25865
ad0bd20b 25866 * fs/hfs.c (grub_hfs_mount): Translate the error
25867 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
25868 * fs/jfs.c (grub_jfs_mount): Likewise.
25869 * fs/ufs.c (grub_ufs_mount): Likewise.
25870
a5477a59 258712004-10-28 Hollis Blanchard <hollis@penguinppc.org>
25872
25873 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
25874 which initialized BAT registers.
25875 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
25876 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25877 Move from here...
25878 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
25879 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
25880 ... to here.
25881 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
25882 (grub_mapclaim): Likewise.
25883 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
25884 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
25885 hand.
25886
9304c1f8 258872004-10-19 Hollis Blanchard <hollis@penguinppc.org>
25888
25889 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
25890 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
25891 -ffreestanding and -msoft-float.
25892
86f4ae25 258932004-10-15 Hollis Blanchard <hollis@penguinppc.org>
25894
25895 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
25896 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
25897 set in grub_ieee1275_flags.
25898
38912228 258992004-10-14 Hollis Blanchard <hollis@penguinppc.org>
25900
25901 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
25902 prototype.
25903 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
25904 grub_console_init first.
25905 Change the memory range used for grub_ieee1275_claim and
25906 grub_mm_init_region.
25907 Print an error message if the claim fails.
25908 Include <grub/misc.h>.
25909
d1923dc8 259102004-10-13 Hollis Blanchard <hollis@penguinppc.org>
25911
25912 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
25913 Call grub_children_iterate for device nodes of type `scsi',
25914 `ide', or `ata'.
25915 (grub_ofdisk_open): Remove manual device alias resolution.
25916 Fix memory leak when device cannot be opened.
f19dbdb7 25917 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 25918 (grub_children_iterate): New prototype.
25919 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
25920 New function.
25921 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25922 Return -1 if args.size was -1.
25923
4512e4f3 259242004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25925
25926 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
25927 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
25928 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
25929 Open Firmware's memory for it; claim memory from _start to _end.
25930 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
25931 (_end): New extern.
25932 (_start): Zero BSS from __bss_start to _end.
25933 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25934 New extern.
25935 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
25936
4d61feb0 259372004-10-11 Hollis Blanchard <hollis@penguinppc.org>
25938
ad0bd20b 25939 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
25940 -1 if args.base was -1.
4d61feb0 25941
026fa2f9 259422004-10-08 Hollis Blanchard <hollis@penguinppc.org>
25943
25944 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
25945 escape sequence instead of a literal ^L. Also call
25946 grub_ofconsole_gotoxy.
25947
9f2220ef 259482004-10-03 Hollis Blanchard <hollis@penguinppc.org>
25949
25950 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
25951 void * arguments to grub_addr_t. All callers updated. Also make
25952 the `result' argument optional.
25953 (grub_ieee1275_release): change void * arguments to grub_addr_t.
25954 All callers updated.
25955
8a572cd7 259562004-09-22 Hollis Blanchard <hollis@penguinppc.org>
25957
25958 * commands/ls.c (grub_ls_list_files): Use the string following the
25959 initial ')', if present, as the filesystem path.
25960 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
25961
25962 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
25963
18aa81f2 259642004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
25965
25966 Make the source code of the menu interface more readable.
f19dbdb7 25967
18aa81f2 25968 * normal/menu.c: Include grub/mm.h.
25969 (TERM_WIDTH): New macro.
25970 (TERM_HEIGHT): Likewise.
25971 (TERM_INFO_HEIGHT): Likewise.
25972 (TERM_MARGIN): Likewise.
25973 (TERM_SCROLL_WIDTH): Likewise.
25974 (TERM_TOP_BORDER_Y): Likewise.
25975 (TERM_LEFT_BORDER_X): Likewise.
25976 (TERM_BORDER_WIDTH): Likewise.
25977 (TERM_MESSAGE_HEIGHT): Likewise.
25978 (TERM_BORDER_HEIGHT): Likewise.
25979 (TERM_NUM_ENTRIES): Likewise.
25980 (TERM_FIRST_ENTRY_Y): Likewise.
25981 (TERM_ENTRY_WIDTH): Likewise.
25982 (TERM_CURSOR_X): Likewise.
25983 (draw_border): Use macros instead of magic numbers.
25984 (print_entry): Likewise.
25985 (print_entries): Likewise.
25986 (run_menu): Likewise. Also, handle the key 'e'.
25987 (run_menu_entry): Ignore empty command lines.
25988 (print_message): Added a new argument EDIT. If EDIT is true,
25989 print a different message.
25990 (init_page): Likewise.
25991 (edit_menu_entry): New function. Not implemented yet.
25992
b47efe30 259932004-09-17 Marco Gerards <metgerards@student.han.nl>
25994
25995 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
25996 can be loaded from normal mode.
f19dbdb7 25997
b47efe30 25998 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
25999 `multiboot.mod'.
26000 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26001 (multiboot_mod_CFLAGS): New variables.
26002 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 26003 * loader/i386/pc/multiboot_normal.c: Likewise.
26004
b47efe30 26005 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26006 attribute `unused'.
f19dbdb7 26007
b47efe30 26008 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26009 `fdiro' to read the mode information from instead of `diro'.
26010
26011 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26012 looking up a symlink.
26013
26014 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26015 macro.
26016 * normal/command.c (grub_command_execute): Don't parse the
26017 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26018 flags of the command.
26019
26020 * normal/menu.c (grub_menu_run): Fix typo.
26021
da75ac71 260222004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26023
26024 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26025
26026 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26027 `y + 1' instead of `y - 1'.
26028
26029 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 26030
062b24c2 260312004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26032
26033 From Hollis Blanchard <hollis@penguinppc.org>:
26034 * kern/misc.c (memmove): New alias for grub_memmove.
26035 (memcmp): New alias for grub_memcmp.
26036 (memset): New alias for grub_memset.
f19dbdb7 26037 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 26038 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 26039 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 26040 (grub_ieee1275_get_property): Likewise.
f19dbdb7 26041
8ddad845 260422004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26043
26044 Added normal mode command `chainloader' as module chain.mod, which
26045 depends on normal.mod and _chain.mod.
f19dbdb7 26046
8ddad845 26047 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26048 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26049 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26050 Deleted prototype.
26051 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26052 but arguments parsing moved to ...
26053 (grub_chainloader_cmd): ... here. New function.
26054 * include/grub/i386/pc/chainloader.h: New file.
26055 * loader/i386/pc/chainloader_normal.c: Likewise.
26056
2c1f4ce3 260572004-09-11 Marco Gerards <metgerards@student.han.nl>
26058
26059 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26060 (grub_mkimage_LDFLAGS): Likewise.
26061 (grub_emu_SOURCES): Likewise.
26062 (kernel_img_HEADERS): Added fshelp.h.
26063 * fs/ext2.c: Include <grub/fshelp.h>.
26064 (FILETYPE_REG): New macro.
26065 (FILETYPE_INO_REG): Likewise.
26066 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26067 Changed all users.
26068 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26069 all users.
26070 (grub_fshelp_node): New struct.
26071 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26072 to a pointer.
26073 (grub_ext2_get_file_block): Removed function.
26074 (grub_ext2_read_block): New function.
26075 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26076 This function was written.
26077 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26078 (grub_ext2_find_file): Removed function.
26079 (grub_ext2_read_symlink): New function.
26080 (grub_ext2_iterate_dir): Likewise.
26081 (grub_ext2_open): Rewritten.
26082 (grub_ext2_dir): Rewritten.
26083 * include/grub/fshelp.h: New file.
26084 * fs/fshelp.c: Likewise.
26085
3c52136a 260862004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26087
26088 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26089 (print_message): Add a missing newline.
26090 (run_menu): Added timeout support.
26091 (run_menu_entry): New local function.
26092 (grub_menu_run): Added support for booting.
26093
26094 * kern/loader.c (grub_loader_is_loaded): New function.
26095
26096 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26097 (grub_get_rtc): Exported.
26098
26099 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26100 (grub_get_rtc): Exported.
26101
26102 * include/grub/normal.h (struct grub_command_list): Remove
26103 constant from the member `command'.
26104
26105 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26106
26107 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26108
26109 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26110
aa033560 261112004-08-28 Marco Gerards <metgerards@student.han.nl>
26112
26113 Add support for the JFS filesystem.
26114
26115 * fs/jfs.c: New file.
26116 * include/grub/fs.h (grub_jfs_init): New prototype.
26117 (grub_jfs_fini): New prototype.
26118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26119 (grub_emu_SOURCES): Likewise.
26120 (pkgdata_MODULES): Add jfs.mod.
26121 (jfs_mod_SOURCES): New variable.
26122 (jfs_mod_CFLAGS): Likewise.
26123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26124 (grubof_SOURCES): Likewise.
26125 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26126
26127 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26128 endian to the host endian.
26129 (grub_fat_utf16_to_utf8): Move function from there...
26130 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 26131 the endianness of the source string anymore.
aa033560 26132 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26133
94bc45af 261342004-08-24 Marco Gerards <metgerards@student.han.nl>
26135
26136 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26137 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26138 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26139 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 26140
94bc45af 26141 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26142 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26143 for `node_found' and `it_dir'.
26144 (grub_hfs_dir): Add prototype for `dir_hook'.
26145
26146 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26147 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26148 and `indir32' to silence a gcc warning.
26149
26150 * include/grub/fs.h (grub_hfs_init): New prototype.
26151 (grub_hfs_fini): Likewise.
f19dbdb7 26152
26153
97543f08 261542004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26155
26156 Each disk device has its own id now. This is useful to make use
26157 of multiple disk devices.
f19dbdb7 26158
97543f08 26159 * include/grub/disk.h (grub_disk_dev_id): New enum.
26160 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26161 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26162
26163 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26164 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26165
26166 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26167 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26168
26169 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26170 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26171
26172 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26173 "id" which is used by the cache manager.
26174
26175 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
26176 of just "GRUB".
26177
64372eb4 261782004-08-18 Marco Gerards <metgerards@student.han.nl>
26179
26180 * fs/hfs.c: New file.
26181 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
26182 (grub_emu_SOURCES): Likewise.
26183 (pkgdata_MODULES): Add hfs.mod.
26184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
26185 (grubof_SOURCES): Likewise.
26186 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
26187
26188 * include/grub/misc.h (grub_strncasecmp): Add prototype.
26189 * kern/misc.c (grub_strncasecmp): Add function.
26190
cc61b58f 261912004-08-14 Marco Gerards <metgerards@student.han.nl>
26192
26193 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
26194 with parentheses.
26195
26196 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
26197 (grub_ext2_dir): In case the directory entry type is unknown, read
26198 it from the inode.
26199
0ef123f6 262002004-08-02 Peter Bruin <pjbruin@dds.nl>
26201
26202 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
26203 grub_load_linux instead of grub_rescue_cmd_linux as second
26204 argument of grub_rescue_register_command.
26205
26206 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
26207
a447c5df 262082004-07-27 Marco Gerards <metgerards@student.han.nl>
26209
26210 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
26211 function.
26212 * commands/boot.c: Remove the check for `GRUB_UTIL'.
26213 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26214 `loader/powerpc/ieee1275/linux.c',
26215 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
26216 * include/grub/powerpc/ieee1275/ieee1275.h
26217 (grub_ieee1275_release): New prototype.
26218 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
26219 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
26220 normal, boot, linux and linux_normal.
26221 * loader/powerpc/ieee1275/linux.c: New file.
26222 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26223
5a9e3546 262242004-07-12 Marco Gerards <metgerards@student.han.nl>
26225
26226 * normal/arg.c (grub_arg_parse): Correct error handling after
26227 reallocating the argumentlist (check if `argl' is not null instead
26228 of checking if `args' is not null).
26229 * kern/mm.c (grub_realloc): Return the same pointer when using the
26230 same region, instead of returning the header address.
26231
e15199cb 262322004-07-11 Marco Gerards <metgerards@student.han.nl>
26233
26234 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
26235 one block instead of two when looking for the initial partition.
26236 (grub_partition_probe): Initialize the local variable `p' with 0.
26237 Use base 10 for the grub_strtoul call.
26238 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
26239 need for one local variable.
26240 (grub_strtoul): Don't add the new value to `num', instead of that
26241 just assign it.
26242
020616c2 262432004-07-11 Marco Gerards <metgerards@student.han.nl>
26244
26245 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
26246 (pxeboot_img_SOURCES): New variable.
26247 (pxeboot_img_ASFLAGS): Likewise.
26248 (pxeboot_img_LDFLAGS): Likewise.
26249 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
26250 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
26251 <lode_leroy@hotmail.com>.
26252
6c51eb64 262532004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26254
26255 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
26256 there was no input.
26257
cfb12aff 262582004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26259
26260 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
26261 the history buffer logic.
26262
6eabba74 262632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26264
26265 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
26266 (FILETYPE_INO_SYMLINK): New macros.
26267 (grub_ext2_find_file): Check if the node is a directory using the
26268 inode stat information instead of using the filetype in the
26269 dirent. Exclude the first character of an absolute symlink.
26270 (grub_ext2_dir): Mask out the filetype part of the mode member of
26271 the inode.
26272
66e19ef8 262732004-05-24 Marco Gerards <metgerards@student.han.nl>
26274
26275 Add support for UFS version 1 and 2. Add support for the minix
26276 filesystem version 1 and 2, both the variants with 14 and 30 long
26277 filenames.
f19dbdb7 26278
66e19ef8 26279 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
26280 fs/minix.c.
26281 (grub_emu_SOURCES): Likewise.
26282 (pkgdata_MODULES): Add ufs.mod and minix.mod.
26283 (ufs_mod_SOURCES): New variable.
26284 (ufs_mod_CFLAGS): Likewise.
26285 (minix_mod_SOURCES): Likewise.
26286 (minix_mod_CFLAGS): Likewise.
26287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
26288 fs/minix.c.
26289 (grubof_SOURCES): Likewise.
26290 * fs/ufs.c: New file.
26291 * fs/minix.c: New file.
26292 * include/grub/fs.h (grub_ufs_init): New prototype.
26293 (grub_ufs_fini): Likewise.
26294 (grub_minix_init): Likewise.
26295 (grub_minix_fini): Likewise.
26296 * util/grub-emu.c (main): Initialize and deinitialize UFS and
26297 minix fs.
26298
cc2e748a 262992004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
26300
26301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
26302 commands/ls.c, commands/terminal.c, commands/boot.c,
26303 commands/cmp.c and commands/cat.c.
26304 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
26305
26306 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
26307 "env.h"
26308
4b13b216 263092004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26310
26311 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
26312 and grub_, respectively. Because the conversion is trivial and
26313 mechanical, I omit the details here. Please refer to the CVS
26314 if you need more information.
26315
6a142551 263162004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26317
26318 * include/pupa: Renamed to ...
26319 * include/grub: ... this.
26320 * util/i386/pc/pupa-mkimage.c: Renamed to ...
26321 * util/i386/pc/grub-mkimage.c: ... this.
26322 * util/i386/pc/pupa-setup.c: Renamed to ...
26323 * util/i386/pc/grub-setup.c: ... this.
26324 * util/pupa-emu.c: Renamed to ...
26325 * util/grub-emu.c: ... this.
26326
e56cdf21 263272004-03-29 Marco Gerards <metgerards@student.han.nl>
26328
26329 Add support for the newworld apple macintosh (PPC). This has been
26330 tested on the powerbook 2000 only. It only adds support for
26331 generic ieee1275 functions, console and disk support. This should
26332 be easy to port to other architectures with support for Open
26333 Firmware.
f19dbdb7 26334
e56cdf21 26335 * configure.ac: Accept the powerpc as host_cpu. In the case of
26336 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
26337 specific tests are only executed while building for the i386.
26338 Inverse test for crosscompile.
26339 * genmk.rb (Utility): Allow assembler files.
26340 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
26341 * conf/powerpc-ieee1275.rmk: New file.
26342 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
26343 * disk/powerpc/ieee1275/partition.c: Likewise.
26344 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
26345 * include/pupa/powerpc/ieee1275/console.h: Likewise.
26346 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
26347 * include/pupa/powerpc/ieee1275/time.h: Likewise.
26348 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
26349 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
26350 * include/pupa/powerpc/ieee1275/loader.h
26351 * include/pupa/powerpc/setjmp.h: Likewise.
26352 * include/pupa/powerpc/types.h: Likewise.
26353 * kern/powerpc/ieee1275/init.c: Likewise.
26354 * kern/powerpc/ieee1275/openfw.c: Likewise.
26355 * term/powerpc/ieee1275/ofconsole.c: Likewise.
26356
26357 These files were written by Johan Rydberg
26358 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 26359
e56cdf21 26360 * boot/powerpc/ieee1275/cmain.c: New file.
26361 * boot/powerpc/ieee1275/crt0.S: Likewise.
26362 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
26363 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
26364
8c8cc205 263652004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
26366
26367 * Makefile.in: Update copyright.
26368 * genmodsrc.sh: Likewise.
26369 * gensymlist.sh: Likewise.
26370 * term/i386/pc/vga.c: Indent correctly.
26371
26372 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
26373 bugreporting address.
26374 * util/i386/pc/pupa-setup.c (usage): Likewise,
26375 (main): Call pupa_ext2_init and pupa_ext2_fini.
26376
f19dbdb7 26377 * fs/fat.c (log2): Renamed to ...
8c8cc205 26378 (fat_log2): ... this.
26379 All callers changed.
26380 * kern/misc.c (memcpy): Alias to pupa_memmove.
26381 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
26382 lvalue cast.
26383 * util/console.c (pupa_ncurses_fini): Return 0.
26384
26385 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
26386 Move fail label here.
26387 [__GNU__]: Don't warn when using stat.
26388 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
26389 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
26390 long int. Use strtol instead of strtoul.
f19dbdb7 26391
db1771cf 263922004-03-14 Marco Gerards <metgerards@student.han.nl>
26393
26394 * commands/boot.c: New file.
26395 * commands/cat.c: Likewise.
26396 * commands/cmp.c: Likewise.
26397 * commands/ls.c: Likewise.
26398 * commands/terminal.c: Likewise.
26399 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
26400 (pupa_register_command): Changed interface to match the new
26401 argument parser.
26402 (pupa_command_execute): Changed (almost rewritten) so it uses
26403 pupa_split_command. Added support for setting variables using the
26404 syntax `foo=bar'.
26405 (rescue_command): Changed to work with the new argument parser.
26406 (terminal_command): Moved from here to commands/terminal.c.
26407 (set_command): New function.
26408 (unset_command): New function.
26409 (insmod_command): New function.
26410 (rmmod_command): New function.
26411 (lsmod_command): New function.
26412 (pupa_command_init): Don't initialize the command terminal
26413 anymore. Initialize the commands set, unset, insmod, rmmod and
26414 lsmod.
26415 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
26416 (kernel_img_HEADERS): Add arg.h and env.h.
26417 (pupa_mkimage_LDFLAGS): Add kern/env.c.
26418 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
26419 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
26420 normal/arg.c.
26421 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
26422 terminal.mod.
26423 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
26424 (boot_mod_SOURCES): New variable.
26425 (terminal_mod_SOURCES): Likewise.
26426 (ls_mod_SOURCES): Likewise.
26427 (cmp_mod_SOURCES): Likewise.
26428 (cat_mod_SOURCES): Likewise.
26429
26430 * normal/arg.c: New file.
26431 * kern/env.c: Likewise.
26432 * include/pupa/arg.h: Likewise.
26433 * include/pupa/env.h: Likewise.
26434 * font/manager.c (font_command): Changed to match argument parsing
26435 interface changes.
26436 (PUPA_MOD_INIT): Likewise.
26437 * hello/hello.c (pupa_cmd_hello): Likewise.
26438 (PUPA_MOD_INIT): Likewise.
26439 * include/pupa/disk.h: Include <pupa/device.h>.
26440 (pupa_print_partinfo): New prototype.
26441 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
26442 (pupa_dl_get_prefix): Likewise.
26443 * include/pupa/misc.h: Include <pupa/err.h>.
26444 (pupa_isgraph): New prototype.
26445 (pupa_isdigit): Likewise.
26446 (pupa_split_cmdline): Likewise.
26447 * include/pupa/normal.h: Include <pupa/arg.h>.
26448 (pupa_command): Changed the prototype of the member `func' to
26449 match the argument parsing interface. Added member `options'.
26450 (pupa_register_command): Updated to match function.
26451 (pupa_arg_parse): New prototype.
26452 (pupa_hello_init) [PUPA_UTIL]: New prototype.
26453 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
26454 (pupa_ls_init) [PUPA_UTIL]: Likewise.
26455 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
26456 (pupa_cat_init) [PUPA_UTIL]: Likewise.
26457 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
26458 (pupa_boot_init) [PUPA_UTIL]: Likewise.
26459 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
26460 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
26461 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
26462 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
26463 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
26464 * kern/disk.c: Include <pupa/file.h>.
26465 (pupa_print_partinfo): New function.
26466 * kern/dl.c: Include <pupa/env.h>.
26467 (pupa_dl_dir): Variable removed.
26468 (pupa_dl_load): Use the environment variable `prefix' instead of
26469 the variable pupa_dl_dir.
26470 (pupa_dl_set_prefix): Function removed.
26471 (pupa_dl_get_prefix): Likewise.
26472 * kern/i386/pc/init.c: Include <pupa/env.h>.
26473 (pupa_machine_init): Use the environment variable `prefix' instead of
26474 using pupa_dl_set_prefix to set the prefix.
26475 * kern/main.c: Include <pupa/env.h>.
26476 (pupa_set_root_dev): Use the environment variable `prefix' instead of
26477 using pupa_dl_get_prefix to get the prefix.
26478 * kern/misc.c: Include <pupa/env.h>.
26479 (pupa_isdigit): New function.
26480 (pupa_isgraph): Likewise.
26481 (pupa_ftoa): Likewise.
26482 (pupa_vsprintf): Added support for printing values of the type
26483 `double'. Make it possible to format variable output when using
26484 formatting like `%1.2%f'.
26485 (pupa_split_cmdline): New function.
26486 * kern/rescue.c: Include <pupa/env.h>.
26487 (next_word): Removed function.
26488 (pupa_rescue_cmd_prefix): Likewise.
26489 (pupa_rescue_cmd_set): New function.
26490 (pupa_rescue_cmd_unset): New function.
26491 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
26492 split the command line instead of splitting it here. Added
26493 support for setting variables using the syntax `foo=bar'. Don't
26494 initialize the prefix command anymore. Initialized the set and
26495 unset commands.
26496 * normal/cmdline.c: Include <pupa/env.h>.
26497 (pupa_tab_complete): Added prototypes for print_simple_completion,
26498 print_partition_completion, add_completion, iterate_commands,
26499 iterate_dev, iterate_part and iterate_dir. Moved code to print
26500 partition information from here to kern/disk.c.
fe6b695a 26501 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 26502 * normal/main.c: Include <pupa/env.h>.
26503 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
26504 instead of using pupa_dl_get_prefix to get the prefix.
26505 * term/i386/pc/vga.c: Include <pupa/arg.h>.
26506 (check_vga_mem): Cast pointers to `void *' to silence a gcc
26507 warning.
26508 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
26509 (pupa_vga_setcolor): Declare unused variables with `__attribute__
26510 ((unused))' to silence a gcc warning.
26511 (pupa_vga_setcolor): Likewise.
26512 (debug_command): Changed to match argument parsing
26513 interface changes.
26514 * util/pupa-emu.c: Include <pupa/env.h>.
26515 (options): Added 0's for unused fields to silence a gcc warning.
26516 (argp): Likewise.
26517 (main): Use the environment variable `prefix' instead of using
26518 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
26519 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
26520 and terminal.
26521
26522 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
26523 * util/misc.c: Include <malloc.h>.
26524 (pupa_malloc): Rewritten so errors are correctly reported.
26525 (pupa_realloc): Likewise.
26526 (pupa_memalign): Likewise.
26527 (pupa_mm_init_region): Declare unused variables with
26528 `__attribute__ ((unused))' to silence a gcc warning.
26529 * normal/i386/setjmp.S: Remove tab at the end of the file to
26530 silence a gcc warning.
26531 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
26532 variables with `__attribute__ ((unused))' to silence a gcc
26533 warning.
26534 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
26535 local variable i unsigned to silence a gcc warning.
26536
26537 * kern/term.c: Include <pupa/misc.h>.
26538 (pupa_more_lines): New variable.
26539 (pupa_more): Likewise.
26540 (pupa_putcode): When the pager is active pause at the end of every
26541 screen.
26542 (pupa_set_more): New function.
26543 * include/pupa/term.h (pupa_set_more): New prototype.
26544
26545
3b1139cb 265462004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
26547
26548 Now this project is GRUB 2 rather than PUPA. The location of
26549 the CVS repository was moved to GRUB's.
f19dbdb7 26550
3b1139cb 26551 * configure.ac: Use bug-grub as the reporting address.
26552 Use GRUB instead of PUPA.
26553 Change the version number to 1.90.
26554
8367695c 265552004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
26556
26557 * genkernsyms.sh: Updated copyright information.
26558 * genmk.rb: Likewise.
26559 * genmodsrc.sh: Likewise.
26560 * gensymlist.sh: Likewise.
26561 * boot/i386/pc/boot.S: Likewise.
26562 * boot/i386/pc/diskboot.S: Likewise.
26563 * disk/i386/pc/biosdisk.c: Likewise.
26564 * disk/i386/pc/partition.c: Likewise.
26565 * font/manager.c: Likewise.
26566 * fs/ext2.c: Likewise.
26567 * fs/fat.c: Likewise.
26568 * include/pupa/boot.h: Likewise.
26569 * include/pupa/device.h: Likewise.
26570 * include/pupa/disk.h: Likewise.
26571 * include/pupa/dl.h: Likewise.
26572 * include/pupa/elf.h: Likewise.
26573 * include/pupa/err.h: Likewise.
26574 * include/pupa/file.h: Likewise.
26575 * include/pupa/font.h: Likewise.
26576 * include/pupa/fs.h: Likewise.
26577 * include/pupa/kernel.h: Likewise.
26578 * include/pupa/loader.h: Likewise.
26579 * include/pupa/misc.h: Likewise.
26580 * include/pupa/mm.h: Likewise.
26581 * include/pupa/net.h: Likewise.
26582 * include/pupa/normal.h: Likewise.
26583 * include/pupa/rescue.h: Likewise.
26584 * include/pupa/setjmp.h: Likewise.
26585 * include/pupa/symbol.h: Likewise.
26586 * include/pupa/term.h: Likewise.
26587 * include/pupa/types.h: Likewise.
26588 * include/pupa/i386/setjmp.h: Likewise.
26589 * include/pupa/i386/types.h: Likewise.
26590 * include/pupa/i386/pc/biosdisk.h: Likewise.
26591 * include/pupa/i386/pc/boot.h: Likewise.
26592 * include/pupa/i386/pc/console.h: Likewise.
26593 * include/pupa/i386/pc/init.h: Likewise.
26594 * include/pupa/i386/pc/kernel.h: Likewise.
26595 * include/pupa/i386/pc/linux.h: Likewise.
26596 * include/pupa/i386/pc/loader.h: Likewise.
26597 * include/pupa/i386/pc/memory.h: Likewise.
26598 * include/pupa/i386/pc/multiboot.h: Likewise.
26599 * include/pupa/i386/pc/partition.h: Likewise.
26600 * include/pupa/i386/pc/time.h: Likewise.
26601 * include/pupa/i386/pc/vga.h: Likewise.
26602 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
26603 * include/pupa/util/getroot.h: Likewise.
26604 * include/pupa/util/misc.h: Likewise.
26605 * include/pupa/util/resolve.h: Likewise.
26606 * kern/device.c: Likewise.
26607 * kern/disk.c: Likewise.
26608 * kern/dl.c: Likewise.
26609 * kern/err.c: Likewise.
26610 * kern/file.c: Likewise.
26611 * kern/fs.c: Likewise.
26612 * kern/loader.c: Likewise.
26613 * kern/main.c: Likewise.
26614 * kern/misc.c: Likewise.
26615 * kern/mm.c: Likewise.
26616 * kern/rescue.c: Likewise.
26617 * kern/term.c: Likewise.
26618 * kern/i386/dl.c: Likewise.
26619 * kern/i386/pc/init.c: Likewise.
26620 * kern/i386/pc/lzo1x.S: Likewise.
26621 * kern/i386/pc/startup.S: Likewise.
26622 * loader/i386/pc/chainloader.c: Likewise.
26623 * loader/i386/pc/linux.c: Likewise.
26624 * loader/i386/pc/multiboot.c: Likewise.
26625 * normal/cmdline.c: Likewise.
26626 * normal/command.c: Likewise.
26627 * normal/main.c: Likewise.
26628 * normal/menu.c: Likewise.
26629 * normal/i386/setjmp.S: Likewise.
26630 * term/i386/pc/console.c: Likewise.
26631 * term/i386/pc/vga.c: Likewise.
26632 * util/console.c: Likewise.
26633 * util/genmoddep.c: Likewise.
26634 * util/misc.c: Likewise.
26635 * util/pupa-emu.c: Likewise.
26636 * util/resolve.c: Likewise.
26637 * util/unifont2pff.rb: Likewise.
26638 * util/i386/pc/biosdisk.c: Likewise.
26639 * util/i386/pc/getroot.c: Likewise.
26640 * util/i386/pc/pupa-mkimage.c: Likewise.
26641 * util/i386/pc/pupa-setup.c: Likewise.
26642
e6eced71 266432004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
26644
26645 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
26646 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
26647 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
26648 reading and reset it after reading.
26649 (pupa_ext2_close): Return PUPA_ERR_NONE.
26650
26651 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
26652 Correct value.
26653 (struct linux_kernel_header): Add kernel_version and
26654 initrd_addr_max.
26655 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
26656 pupa_file_read succeeds.
26657 (pupa_rescue_cmd_initrd): Implement.
26658
5aded270 266592003-12-03 Marco Gerards <metgerards@student.han.nl>
26660
26661 * fs/ext2.c (pupa_ext2_label): New function.
26662 (pupa_ext2_fs): Added label.
26663 * fs/fat.c (pupa_fat_label): New function.
26664 (pupa_fat_fs): Added label.
26665 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
26666
26667 * kern/misc.c (pupa_strndup): New function.
26668 * include/pupa/misc.h (pupa_strndup): New prototype.
26669
26670 * include/pupa/normal.h: Include <pupa/err.h>.
26671 (pupa_set_history): New prototype.
26672 (pupa_iterate_commands): New prototype.
26673 * normal/cmdline.c: Include <pupa/machine/partition.h>,
26674 <pupa/disk.h>, <pupa/file.h>.
26675 (hist_size): New variable.
26676 (hist_lines): Likewise.
26677 (hist_end): Likewise.
26678 (hist_used): Likewise.
26679 (pupa_set_history): New function.
26680 (pupa_history_get): Likewise.
26681 (pupa_history_add): Likewise.
26682 (pupa_history_replace): Likewise.
26683 (pupa_tab_complete): Likewise.
26684 (pupa_cmdline_run): Added tab completion and history buffer. Tab
26685 completion shows partitionnames while completing partitions, this
26686 feature was suggested by Jeff Bailey.
26687 * normal/command.c (pupa_iterate_commands): New function.
26688 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
26689 (pupa_normal_init): Initialize history buffer.
26690 (PUPA_MOD_INIT): Likewise.
26691 (pupa_normal_fini): Free the history buffer.
26692 (PUPA_MOD_FINI): Likewise.
26693
26694 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
26695 key.
26696
26697 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
26698 * configure.ac [i386]: Check for regparam bug.
26699 (NESTED_FUNC_ATTR) [! i386]: Defined.
26700
1f7315a3 267012003-11-17 Marco Gerards <metgerards@student.han.nl>
26702
26703 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
26704 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
26705 (pupa_emu_SOURCES): New variable.
26706 (pupa_emu_LDFLAGS): Likewise.
26707 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
26708 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
26709 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
26710 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26711 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
26712 (pupa_jmp_buf): New typedef.
26713 (pupa_setjmp) [PUPA_UTIL]: New macro.
26714 (pupa_longjmp) [PUPA_UTIL]: Likewise.
26715 * include/pupa/term.h (struct pupa_term): New member `refresh'.
26716 (pupa_refresh): New prototype.
26717 * include/pupa/util/getroot.h: New file.
26718 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
26719 it.
26720 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
26721 (pupa_rescue_cmd_cat): Likewise.
26722 (pupa_rescue_cmd_ls): Likewise.
26723 (pupa_rescue_cmd_testload): Likewise.
26724 (pupa_rescue_cmd_lsmod): Likewise.
26725 * normal/cmdline.c (pupa_cmdline_get): Likewise.
26726 * normal/menu.c (run_menu): Likewise.
26727 * kern/term.c (pupa_cls): Likewise.
26728 (pupa_refresh): New function.
26729 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
26730 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
26731 * util/console.c: New file.
f19dbdb7 26732
1f7315a3 26733 * util/i386/pc/getroot.c: New file.
26734 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
26735 (pupa_putchar): New function.
26736 (pupa_refresh): Likewise.
26737 (xgetcwd): Function moved to ...
26738 (strip_extra_slashes): Likewise.
26739 (get_prefix): Likewise.
f19dbdb7 26740 * util/i386/pc/getroot.c: ... here.
1f7315a3 26741 (find_root_device): Function moved and renamed to...
26742 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
26743 Changed all callers.
26744 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
26745 and renamed to...
26746 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
26747 Changed all callers.
26748 * util/misc.c (pupa_memalign): New function.
26749 (pupa_mm_init_region): Likewise.
26750 (pupa_register_exported_symbols): Likewise.
26751 (pupa_putchar): Function removed.
26752 * util/pupa-emu.c: New file.
26753
9a5c1ade 267542003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
26755
26756 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
26757 (_multiboot_mod_SOURCES): New variable.
26758 (_multiboot_mod_CFLAGS): Likewise.
26759 * loader/i386/pc/multiboot.c: New file.
26760 * include/pupa/i386/pc/multiboot.h: Likewise.
26761 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
26762 (pupa_multiboot_real_boot): New function.
26763 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
26764 (pupa_multiboot_real_boot): New prototype.
26765 (pupa_rescue_cmd_multiboot): Likewise
26766 (pupa_rescue_cmd_module): Likewise.
26767
26768 * kern/loader.c (pupa_loader_set): Continue when
26769 pupa_loader_unload_func() fails.
26770 (pupa_loader_unset): New function.
26771 * include/pupa/loader.h (pupa_loader_unset): New prototype.
26772
26773 * kern/misc.c (pupa_stpcpy): New function.
26774 * include/pupa/misc.h (pupa_stpcpy): New prototype.
26775
8e72a9c0 267762003-11-12 Marco Gerards <metgerards@student.han.nl>
26777
26778 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
26779 for available extensions.
26780
26781 * include/pupa/i386/pc/time.h: New file.
26782 * kern/disk.c: Include <pupa/machine/time.h>.
26783 (PUPA_CACHE_TIMEOUT): New macro.
26784 (pupa_last_time): New variable.
26785 (pupa_disk_open): Flush the cache when there was a timeout.
26786 (pupa_disk_close): Reset the timer.
26787 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
26788 pupa_currticks.
26789 * util/misc.c: Include <sys/times.h>
26790 (pupa_get_rtc): New function.
26791
c4adbd32 267922003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26793
26794 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
26795 as blocks.
26796 (pupa_ext2_get_file_block): Use blocks member.
26797
26798 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
26799 first block. Return -1 instead of pupa_errno on error.
26800
bfd30f06 268012003-10-27 Marco Gerards <metgerards@student.han.nl>
26802
26803 * README: In the pupa-mkimage example use _chain instead of chain
26804 and ext2 instead of fat.
26805 * TODO: Replace ext2fs with jfs as an example. Add an item for
26806 adding journal playback for ext2fs.
26807 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
26808 (pkgdata_MODULES): Added ext2.mod.
26809 (ext2_mod_SOURCES): New variable.
26810 (ext2_mod_CFLAGS): Likewise.
26811 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
26812 * include/pupa/misc.h (pupa_strncpy): New prototype.
26813 (pupa_strcat): Likewise.
26814 (pupa_strncmp): Likewise.
26815 * kern/misc.c (pupa_strcat): Enable function.
26816 (pupa_strncpy): New function.
26817 (pupa_strncmp): Likewise.
26818 * fs/ext2.c: New file.
f19dbdb7 26819
bfd30f06 26820 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
26821 when the read failed before retrying.
26822 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
26823 (_FILE_OFFSET_BITS): Likewise.
26824 * configure.ac: Added AC_SYS_LARGEFILE.
26825
98d15063 268262003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26827
26828 * genmk.rb (PModule#rule): Make sure to get only symbol names
26829 from the output of nm.
59cad637 26830 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 26831
18d9c7cd 268322003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
26833
26834 I forgot to check in these changes for a long time. This adds
26835 incomplete support for VGA console, and this is still very
26836 buggy. Also, a lot of consideration is required for I18N,
26837 UNICODE, and VGA font issues. Therefore, assume that this is
26838 such that "better than nothing".
f19dbdb7 26839
18d9c7cd 26840 * font/manager.c: New file.
26841 * include/pupa/font.h: Likewise.
26842 * include/pupa/i386/pc/vga.h: Likewise.
26843 * term/i386/pc/vga.c: Likewise.
26844 * util/unifont2pff.rb: Likewise.
26845
26846 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
26847 (pkgdata_MODULES): Added vga.mod and font.mod.
26848 (vga_mod_SOURCES): New variables.
26849 (vga_mod_CFLAGS): Likewise.
26850 (font_mod_SOURCES): Likewise.
26851 (font_mod_CFLAGS): Likewise.
26852
26853 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
26854
26855 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 26856 (struct pupa_term): Added init and fini.
18d9c7cd 26857 Changed the argument of putchar to pupa_uint32_t.
26858
26859 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
26860 (pupa_console_real_putchar): New prototype.
26861 (pupa_console_putchar): Removed.
26862 (pupa_console_checkkey): Exported.
26863 (pupa_console_getkey): Likewise.
26864
26865 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
26866 characters.
26867
26868 * kern/term.c (pupa_term_set_current): Rewritten.
26869 (pupa_putchar): Likewise.
26870 (pupa_putcode): New function.
26871
26872 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
26873 (pupa_console_real_putchar): ... this.
26874 (pupa_vga_set_mode): New function.
26875 (pupa_vga_get_font): Likewise.
26876
26877 * normal/command.c: Include pupa/term.h.
26878 (terminal_command): New function.
26879 (pupa_command_init): Register the command "terminal".
26880
26881 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
26882 (DISP_UP): Likewise.
26883 (DISP_RIGHT): Likewise.
26884 (DISP_DOWN): Likewise.
26885 (DISP_HLINE): Likewise.
26886 (DISP_VLINE): Likewise.
26887 (DISP_UL): Likewise.
26888 (DISP_UR): Likewise.
26889 (DISP_LL): Likewise.
26890 (DISP_LR): Likewise.
26891
26892 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 26893
977329f5 268942003-02-08 NIIBE Yutaka <gniibe@m17n.org>
26895
26896 * util/resolve.c (pupa_util_resolve_dependencies): BUG
26897 FIX. Reverse the path_list.
26898
26899 * include/pupa/normal.h: Export pupa_register_command and
26900 pupa_unregister_command.
26901
26902 * hello/hello.c (pupa_cmd_hello): New module.
26903 * conf/i386-pc.rmk: Added hello.mod.
26904
1f5ab428 269052003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
26906
26907 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 26908
1f5ab428 26909 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
26910 (compress_kernel): New variable.
26911 (generate_image): Heavily modified to support compressing a
26912 large part of the core image.
26913
26914 * util/misc.c (pupa_util_read_image): Fix a file descriptor
26915 leak.
26916 (pupa_util_load_image): New function.
26917
26918 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
26919 (pupa_compressed_size): New variable.
26920 (codestart): Enable Gate A20 here.
26921 Decompress the compressed part of the core image.
26922 Rearrange the code to put functions and variables which are
26923 required for initialization in the non-compressed part.
26924 Include lzo1x.S.
26925
26926 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
26927 here.
26928
26929 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
26930
f19dbdb7 26931 * include/pupa/i386/pc/kernel.h
1f5ab428 26932 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
26933 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
26934 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
26935 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
26936 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
26937
26938 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
26939
26940 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
26941 (Utility#rule): Likewise.
26942
26943 * configure.ac: Check if LZO is available.
26944
ce5bf700 269452003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
26946
26947 * include/pupa/normal.h: New file.
26948 * include/pupa/setjmp.h: Likewise.
26949 * include/pupa/i386/setjmp.h: Likewise.
26950 * normal/cmdline.c: Likewise.
26951 * normal/command.c: Likewise.
26952 * normal/main.c: Likewise.
26953 * normal/menu.c: Likewise.
26954 * normal/i386/setjmp.S: Likewise.
f19dbdb7 26955
ce5bf700 26956 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
26957 (pupa_rescue_cmd_initrd): Likewise.
26958
26959 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
26960 Likewise.
26961
26962 * kern/i386/pc/startup.S (translation_table): New variable.
26963 (translate_keycode): New function.
26964 (pupa_console_getkey): Call translate_keycode.
26965
26966 * kern/rescue.c (attempt_normal_mode): New function.
26967 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
26968 it failed, print a message.
26969
26970 * kern/mm.c (pupa_real_malloc): Print more information when a
26971 free magic is broken.
26972 (pupa_free): If the first free header is not free actually, set
26973 it to P.
26974
26975 * kern/main.c (pupa_load_normal_mode): Just load the module
26976 "normal".
26977 (pupa_main): Don't print the message
26978 "Entering into rescue mode..." here.
26979
26980 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
26981 Declared.
26982 (pupa_rescue_cmd_initrd): Likewise.
26983 (pupa_rescue_cmd_initrd): Likewise.
26984
26985 * include/pupa/symbol.h (FUNCTION): Specify the type.
26986 (VARIABLE): Likewise.
26987
26988 * include/pupa/err.h (pupa_err_t): Added
26989 PUPA_ERR_UNKNOWN_COMMAND.
26990
26991 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
26992 (pupa_dl_get_prefix): Likewise.
26993
26994 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
26995 Added _chain.mod and _linux.mod instead of chain.mod and
26996 linux.mod.
26997 (chain_mod_SOURCES): Renamed to ...
26998 (_chain_mod_SOURCES): ... this.
26999 (chain_mod_CFLAGS): Renamed to ...
27000 (_chain_mod_CFLAGS): ... this.
27001 (linux_mod_SOURCES): Renamed to ...
27002 (_linux_mod_SOURCES): ... this.
27003 (linux_mod_CFLAGS): Renamed to ...
27004 (_linux_mod_CFLAGS): ... this.
27005 (normal_mod_SOURCES): New variable.
27006 (normal_mod_CFLAGS): Likewise.
27007 (normal_mod_ASFLAGS): Likewise.
27008
270092003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27010
27011 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27012 possible.
27013
fe6b695a 27014 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 27015 recursively.
27016 (pupa_dl_unref): Unrefer depending modules recursively.
27017 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27018 a module is unloaded before one depending on that module is
27019 unloaded.
27020 (pupa_dl_unload): Unload depending modules explicitly,
27021 if possible.
27022
c04da074 270232003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27024
27025 * include/pupa/i386/pc/linux.h: New file.
27026 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 27027
c04da074 27028 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27029 Removed.
27030 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27031 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27032 of PUPA_CHAINLOADER_BOOT_SECTOR.
27033
27034 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27035 (pupa_linux_prot_size): New variable.
27036 (pupa_linux_tmp_addr): Likewise.
27037 (pupa_linux_real_addr): Likewise.
27038 (pupa_linux_boot_zimage): New function.
27039 (pupa_linux_boot_bzimage): Likewise.
27040
27041 * kern/i386/pc/init.c (struct mem_region): New structure.
27042 (MAX_REGIONS): New macro.
27043 (mem_regions): New variable.
27044 (num_regions): Likewise.
27045 (pupa_os_area_addr): Likewise.
27046 (pupa_os_area_size): Likewise.
27047 (pupa_lower_mem): Likewise.
27048 (pupa_upper_mem): Likewise.
27049 (add_mem_region): New function.
27050 (compact_mem_regions): Likewise.
27051 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27052 the size of the conventional memory and that of so-called upper
27053 memory (before the first memory hole).
27054 Instead of adding each found region to free memory, use
27055 add_mem_region and add them after removing overlaps.
27056 Also, add only 1/4 of the upper memory to free memory. The rest
27057 is used for loading OS images. Maybe this is ad hoc, but this
27058 makes it much easier to relocate OS images when booting.
27059
27060 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27061 (pupa_enter_rescue_mode): Don't register initrd and module.
27062
27063 * kern/mm.c: Include pupa/dl.h.
27064
27065 * kern/main.c: Include pupa/file.h and pupa/device.h.
27066
27067 * kern/loader.c (pupa_loader_load_module_func): Removed.
27068 (pupa_loader_load_module): Likewise.
27069
27070 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27071 ``.o''.
27072
27073 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27074 (pupa_linux_tmp_addr): Likewise.
27075 (pupa_linux_real_addr): Likewise.
27076 (pupa_linux_boot_zimage): Likewise.
27077 (pupa_linux_boot_bzimage): Likewise.
27078
27079 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27080 (pupa_upper_mem): Likewise.
27081 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27082 module is too dangerous.
27083
27084 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27085 (pupa_os_area_size): Likewise.
27086 (pupa_loader_set): Remove the first argument. Loader doesn't
27087 manage modules or initrd any longer.
27088 (pupa_loader_load_module): Removed.
27089
27090 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27091 (linux_mod_SOURCES): New variable.
27092 (linux_mod_CFLAGS): Likewise.
27093
a13f9237 270942003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27095
27096 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27097 the length of a blocklist correctly.
27098
27099 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27100 Use ioctl only if the OS file is a block device.
27101 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27102 not very useful for normal files.
27103
27104 * kern/main.c (pupa_set_root_dev): New function.
27105 (pupa_load_normal_mode): Likewise.
27106 (pupa_main): Call those above.
27107
27108 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27109 pupa_uint16_t.
27110
27111 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27112
a5ffe966 271132003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27114
27115 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27116 (setup): Configure the installed partition information and the
27117 dl prefix.
27118
27119 * loader/i386/pc/chainloader.c (my_mod): New variable.
27120 (pupa_chainloader_unload): New function.
27121 (pupa_rescue_cmd_chainloader): Refer itself.
27122 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27123
27124 * kern/i386/pc/startup.S (install_partition): Removed.
27125 (version_string): Likewise.
27126 (config_file): Likewise.
27127 (pupa_install_dos_part): New variable.
27128 (pupa_install_bsd_part): Likewise.
27129 (pupa_prefix): Likewise.
27130 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27131
27132 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27133 and pupa/misc.h.
27134 (make_install_device): New function.
27135 (pupa_machine_init): Set the dl prefix.
27136
27137 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27138 (buf): Renamed to ...
27139 (linebuf): ... this.
27140 (pupa_rescue_cmd_prefix): New function.
27141 (pupa_rescue_cmd_insmod): Likewise.
27142 (pupa_rescue_cmd_rmmod): Likewise.
27143 (pupa_rescue_cmd_lsmod): Likewise.
27144 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27145 rmmod and lsmod.
27146
27147 * kern/mm.c (pupa_memalign): If failed even after invalidating
27148 disk caches, unload unneeded modules and retry.
27149
27150 * kern/misc.c (pupa_memmove): New function.
27151 (pupa_memcpy): Removed.
27152 (pupa_strcpy): New function.
27153 (pupa_itoa): Made static.
27154
27155 * kern/dl.c (pupa_dl_iterate): New function.
27156 (pupa_dl_ref): Likewise.
27157 (pupa_dl_unref): Likewise.
27158 (pupa_dl_unload): Return if succeeded or not.
27159 (pupa_dl_unload_unneeded): New function.
27160 (pupa_dl_unload_all): Likewise.
27161 (pupa_dl_init): Renamed to ...
27162 (pupa_dl_set_prefix): ... this.
27163 (pupa_dl_get_prefix): New function.
27164
27165 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27166 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27167 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27168 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27169 (pupa_install_dos_part): Declared.
27170 (pupa_install_bsd_part): Likewise.
27171 (pupa_prefix): Likewise.
27172 (pupa_boot_drive): Likewise.
27173
27174 * include/pupa/types.h: Fix a typo.
27175
27176 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
27177 pupa_memmove.
27178 (pupa_memmove): Declared.
27179 (pupa_strcpy): Likewise.
27180
27181 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
27182 pupa_mod_init takes one argument, its own module.
27183 (pupa_dl_unload_unneeded): Declared.
27184 (pupa_dl_unload_all): Likewise.
27185 (pupa_dl_ref): Likewise.
27186 (pupa_dl_unref): Likewise.
27187 (pupa_dl_iterate): Likewise.
27188 (pupa_dl_init): Renamed to ...
27189 (pupa_dl_set_prefix): ... this.
27190 (pupa_dl_get_prefix): Declared.
27191
27192 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 27193 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 27194 unloaded.
27195 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
27196 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
27197
27198 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
27199 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
27200
012d7999 272012003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27202
27203 * util/i386/pc/pupa-setup.c (setup): Define the internal
27204 function find_first_partition_start at the top level, because GCC
27205 3.0.x cannot compile internal functions in deeper scopes
27206 correctly.
27207 (find_root_device): Use lstat instead of stat.
27208 Don't follow symbolic links.
27209 Fix the path-constructing code.
27210
27211 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
27212 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
27213 by a BLKGETSIZE ioctl first, because block devices don't fill
27214 the member st_mode of the structure stat on Linux.
27215 [__linux__] (linux_find_partition): Use a temporary buffer
27216 REAL_DEV for the working space. Copy it to DEV before returning.
27217 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
27218 buffer cache consistent.
27219 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
27220 strncmp. The previous value was merely wrong.
27221 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
27222
27223 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
27224 FAT size is 12. The previous value was merely wrong.
27225
27226 * kern/main.c (pupa_main): Don't split the starting message from
27227 newlines.
27228
27229 * kern/term.c (pupa_putchar): Put CR after LF instead of before
27230 LF, because BIOS goes crazy about character attributes in this
27231 case.
27232
1cc73a62 272332003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27234
27235 * include/i386/pc/util/biosdisk.h: New file.
27236 * util/i386/pc/biosdisk.c: Likewise.
27237 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 27238
1cc73a62 27239 * Makefile.in (INCLUDE_DISTFILES): Added
27240 include/pupa/i386/pc/util/biosdisk.h.
27241 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
27242 directory util/i386/pc.
27243 (install-local): Added a rule for sbin_UTILITIES.
27244 (uninstall): Likewise.
27245
27246 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
27247
27248 * util/misc.c (xrealloc): New function.
27249 (pupa_malloc): Likewise.
27250 (pupa_free): Likewise.
27251 (pupa_realloc): Likewise.
27252 (pupa_stop): Likewise.
27253 (pupa_putchar): Likewise.
27254
27255 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
27256
27257 * include/pupa/util/misc.h (xrealloc): Declared.
27258
27259 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
27260 macro.
27261 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
27262 (PUPA_BOOT_MACHINE_BPB_END): ... this.
27263
27264 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
27265 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27266
27267 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
27268 way should be implemented.
27269 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27270
27271 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
27272 the size of NAME for safety.
27273 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
27274 0x88.
27275
27276 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
27277 (pupa_setup_SOURCES): Likewise.
27278
27279 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
27280
08b70fe8 272812002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27282
27283 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
27284 bunch of pushl's from pusha, because this destroys the return
27285 value.
27286
62ddcc8f 272872002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27288
27289 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
27290 This means that any missing prototypes could be fatal. Also, you
27291 must take care when writing assembly code. See the comments at
27292 the beginning of startup.S, for more details.
f19dbdb7 27293
62ddcc8f 27294 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
27295 compilation mechanism.
27296 (pupa_chainloader_real_boot): Likewise.
27297 (pupa_biosdisk_rw_int13_extensions): Likewise.
27298 (pupa_biosdisk_rw_standard): Likewise.
27299 (pupa_biosdisk_check_int13_extensions): Likewise.
27300 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
27301 (pupa_biosdisk_get_diskinfo_standard): Likewise.
27302 (pupa_get_memsize): Likewise.
27303 (pupa_get_mmap_entry): Likewise.
27304 (pupa_console_putchar): Likewise.
27305 (pupa_console_setcursor): Likewise.
27306 (pupa_getrtsecs): Use pushl instead of push.
27307
27308 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
27309 memory instead of the stack for a mmap entry, because some
27310 BIOSes may ignore the maximum size and overflow.
27311
27312 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
27313
27314 * genmk.rb (PModule#rule): Compile automatically generated
27315 sources with module-specific CFLAGS as well as other sources.
27316
9962ed99 273172002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27318
27319 * configure.ac: Check ld.
27320 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
27321 respectively, before checking endianness and sizes.
27322
27323 * Makefile.in (LD): New variable.
f19dbdb7 27324
abdfc3c5 273252002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27326
27327 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
27328
6a161fa9 273292002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27330
27331 * Changelog: New file.
27332