]> git.proxmox.com Git - grub2.git/blame - ChangeLog
IA64 support.
[grub2.git] / ChangeLog
CommitLineData
32297d5f
TG
12011-05-15 Tristan Gingold <gingold@free.fr>
22011-05-15 Robert Millan <rmh.grub@aybabtu.com>
32011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4
5 IA64 support.
6
7 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8 * configure.ac: Add ia64-efi target.
9 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11 * gentpl.py: Add ia64_efi platform.
12 Rename x86_efi to efi and Add ia64-efi. All users updated.
13 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15 Remove kern/generic/rtc_get_time_ms.c on EFI.
16 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17 kern/ia64/dl_helper.c on ia64-efi.
18 Add kern/emu/cache.c on emu.
19 (linux): Use on loader/ia64/efi/linux.c on ia64.
20 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
21 whether symbol is a function.
22 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
23 (grub_symbol): New field 'isfunc'.
24 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
25 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
26 (grub_dl_load_segments): Place all sections into the same region.
27 [__ia64__]: Create trampolines and got.
28 [GRUB_MACHINE_EMU]: Call mprotect.
29 (grub_dl_resolve_symbols): Resolve symbol type as well.
30 [__ia64__]: Create function descriptors.
31 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
32 (grub_rtc_get_time_ms): ... this. Expressions simplified.
33 (grub_get_rtc): New function.
34 * grub-core/kern/emu/cache.c [__ia64__]: New file.
35 * grub-core/kern/emu/cache.S: Renamed to ...
36 * grub-core/kern/emu/cache_s.S: ... this.
37 [__ia64__]: Add a nop.
38 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
39 [__ia64__]: New function.
40 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
41 * grub-core/kern/ia64/dl.c: New file.
42 * grub-core/kern/ia64/dl_helper.c: Likewise.
43 * grub-core/kern/ia64/efi/init.c: New file.
44 * grub-core/kern/ia64/efi/startup.S: Likewise.
45 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
46 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
47 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
48 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
49 * grub-core/loader/ia64/efi/linux.c: New file.
50 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
51 (GRUB_MOD_DEP): Likewise.
52 (grub_dl) [__ia64__]: New fields got and tramp.
53 (grub_dl): New field 'base'.
54 (grub_dl_register_symbol): New argument isfunc. All users updated.
55 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
56 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
57 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
58 (grub_ia64_dl_get_tramp_got_size): New proto.
59 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
60 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
61 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
62 * include/grub/efi/api.h: Skip call wrappers on ia64.
63 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
64 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
65 * include/grub/elf.h (ELF_ST_INFO): New definition.
66 * include/grub/ia64/efi/kernel.h: New file.
67 * include/grub/ia64/efi/memory.h: Likewise.
68 * include/grub/ia64/efi/time.h: Likewise.
69 * include/grub/ia64/kernel.h: Likewise.
70 * include/grub/ia64/setjmp.h: Likewise (from glibc).
71 * include/grub/ia64/time.h: New file.
72 * include/grub/ia64/types.h: Likewise.
73 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
74 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
75 New protos.
76 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
77 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
78 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
79 * util/grub-mkimage.c (image_target_desc): New field pe_target.
80 All users updated.
81 (EFI64_HEADER_SIZE): New definition. All users updated.
82 (image_targets): Add ia64-efi.
83 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
84 jumpers_addr. All users updated.
85 Create function descriptors.
86 (count_funcs): New function.
87 (unaligned_uint32): New struct.
88 (MASK20): New definition.
89 (MASK19): Likewise.
90 (MASKF21): Likewise.
91 (add_value_to_slot_20b): New function.
92 (add_value_to_slot_21_real): Likewise.
93 (add_value_to_slot_21): Likewise.
94 (ia64_kernel_trampoline): New struct.
95 (nopm): New variable.
96 (jump): Likewise.
97 (make_trampoline): New function.
98 (relocate_addresses): Handle ia64.
99 (make_reloc_section): Likewise.
100 (load_image): Likewise.
101
983b414d
VS
1022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
105 warning. Move variables before code while on it.
106
5d063cdc
VS
1072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Fuloong support.
110
111 * configure.ac: Rename yeeloong platform to loongson. All users updated.
112 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
113 * grub-core/boot/mips/loongson/fuloong.S: New file.
114 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
115 Explicitly init CS5536.
116 [FULOONG]: Don't use serial until CS5536 is available.
117 Set GPIO based on dumps.
118 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
119 [FULOONG]: Handle GPIO and memory controller differences.
120 Parse machine type in $a2.
121 * grub-core/boot/mips/startup_raw.S: Determine and save the
122 architecture.
123 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
124 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
125 init on architecture type.
126 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
127 SIS315E. Don't init at_keyboard on fuloong.
128 (grub_halt): Support Fuloong.
129 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
130 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
131 (loongson_machtypes): New array.
132 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
133 type.
134 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
135 config. All users updated. Handle CS5536 serial.
136 * grub-core/term/serial.c (grub_serial_register): Conditionalise
137 default port on machine type. Register serial as inactive.
138 * grub-core/video/sis315pro.c: New file.
139 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
140 definition.
141 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
142 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
143 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
144 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
145 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
146 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
147 to ...
148 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
149 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
150 definition.
151 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
152 (grub_arch_machine): New extern var.
153 * include/grub/mips/loongson/serial.h
154 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
155 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
156 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
157 (GRUB_MACHINE_SERIAL_PORT0): ... this.
158 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
159 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
160 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
161 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
162 * include/grub/term.h (grub_term_register_input_inactive): New inline
163 function.
164 (grub_term_register_output_inactive): Likewise.
165 * include/grub/video.h (grub_video_driver_id): New value
166 GRUB_VIDEO_DRIVER_SIS315PRO.
167 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
168 New field "names". All users updated.
169 New field value IMAGE_FULOONG_FLASH.
170 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
171
6ada82d1
JU
1722011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
173
174 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
175 and add some clarification.
176
90c571a4
VS
1772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
180 platforms if kernel is compressed.
181
de04eecf
VS
1822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
185 unused modules since currently referrence counter isn't reliable and
186 there isn't much memory to recover there anyway.
187
57688121
VS
1882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
191 rather than resetting it to allow modules to reference themselves
192 in init.
193
3d2c7e35
VS
1942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
197 counter on dependencies since grub_dl_unref already handles this.
198
b25db218
VS
1992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
202 on error if not already done.
203
25a45338
VS
2042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
205
206 Fix few potential memory misusage.
207
208 * grub-core/font/font.c (load_font_index): Don't free char_index to
209 avoid double free.
b25db218
VS
210 (grub_font_load): Zero-fill font at alloc for safety.
211 Close file on error.
212 (free_font): Free bmp_idx.
25a45338 213
0cac83df
VS
2142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * docs/grub.texi (Installation): Fix several outdated claims.
217
2217a143
VS
2182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
219
220 Handle module_license on windows.
221
222 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
223 sections shifted.
224 (insert_string): Make argument const char * instead of char *.
225 (write_section_data): Handle long section names.
226 Handle module_license.
227
d4de6b01
VS
2282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
231 handle class-free menuentries.
232 (grub_normal_add_menu_entry): Add a check to be sure.
233
4c2a3b43
VS
2342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
237 PgUp and PgDown.
238
85c6210f
VS
2392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * configure.ac: Bump version to 1.99.
242
36084912
VS
2432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Give ATA device a bit more time on first try in order to allow disks
246 to spin up.
247
248 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
249 if dev->present is 1. Reset dev->present on failure.
250 (grub_ata_device_initialize): Set dev->present to 1.
251 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
252 (grub_ata_device): New member 'present'.
253
bda0e219
VS
2542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * util/grub-mkimage.c (generate_image): Update hash.
257
19e1c41b
VS
2582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Flush caches on DMA memory.
261
262 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
263 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
264 (grub_dma_free): Likewise.
265 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
266
91bbcc0c
VS
2672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
270 to avoid asm treating ld and sd as macros.
271
60ddfad3
VS
2722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
275 decompressor.
276
a298aa04
VS
2772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
280 grub_decompress_core since later would fail if grub_decompress_core
281 is too far.
282
9b44feca
VS
2832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
286 R_MIPS_JALR since it's used by newer compiler.
287
56dbe7b4
VS
2882011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
291
52856af2
VS
2922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
295 file_path to 0 for surety.
296 (grub_chainloader_boot): Set exit_data to NULL.
297 Unset the loader once done.
298 (grub_cmd_chainloader): Fix confusing error message if file is empty.
299
9c9bfc6d
VS
3002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
303 unknown key into a dprintf.
304
dd94a3df
VS
3052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
308 on first non-existant partition.
309
fa68d99c
VS
3102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
313 openning fails.
314 Reported by: Mark Korenberg.
315
157effb7
VS
3162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
319 overflow.
320
ea75312f
VS
3212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * util/grub-mkimage.c (main): Explicitely flush and sync the output
324 before closing to ensure that it will be readable by grub-setup.
325
072b5d31
VS
3262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
329 (devpath_1): Use MAKE_PIWG_PATH.
330 (devpath_2): Likewise.
331 (devpath_3): Likewise.
332 (devpath_4): Likewise.
333 (devpath_5): Likewise.
334 (devpath_6): Likewise.
335
336 The appleldr.mod was checked that to be binary identical to previous
337 version.
338
7fae0051
Z
3392011-05-05 Zach <mikezackles>
340
341 Support 2010 Macbooks.
342
343 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
344 (devs): Add devpath_6.
345
7c515bee
VS
3462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
349 /dev/random. /dev/urandom is good enough for our purposes (salting).
350
ed660bd8
VS
3512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
354
ee5614b7
VS
3552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
358 hexadecimal.
359
664889a6
VS
3602011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
363 and not 0 on failure.
364
bd405bbc
CW
3652011-05-03 Colin Watson <cjwatson@ubuntu.com>
366
367 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
368 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
369 disk; otherwise grub_fs_probe will not fall back to the next
370 filesystem.
371 (grub_pxefs_open): Likewise, for consistency.
372 Reported and tested by: Ezekiel Grave.
373
4ebff753
CW
3742011-05-03 Colin Watson <cjwatson@ubuntu.com>
375
376 * tests/partmap_test.in: Don't hardcode path to parted.
377 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
378
8f942553
CW
3792011-05-01 Colin Watson <cjwatson@ubuntu.com>
380
381 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
382 of `ls' to find out which devices are available.
383
3c62402d
VS
3842011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
387 than source address for efi mmap buffer.
388
723f63f2
VS
3892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
392 wrong action on non-detecting the magic.
393
68797f92
VS
3942011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
397 already supplied by another part of the module (fixes compilation on
398 FreeBSD).
399
6be8715d
VS
4002011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
403 match the one used by mdadm.
404
e91dba5b
CW
4052011-04-21 Colin Watson <cjwatson@ubuntu.com>
406
407 * po/README: Add instructions for creating po/LINGUAS.
408
c85140b3
CW
4092011-04-21 Colin Watson <cjwatson@ubuntu.com>
410
411 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
412 #551428.
413
414 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
415 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
416 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
417 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
418 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
419 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
420 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
421 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
422 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
423 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
424 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
425 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
426 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
427 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
428 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
429 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
430 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
431 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
432 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
433 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
434 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
435 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
436
92051871
CW
4372011-04-21 Colin Watson <cjwatson@ubuntu.com>
438
439 * grub-core/kern/emu/getroot.c
440 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
441 test that was incorrectly reintroduced in r3214.
442 Reported by: Ian Dall. Fixes Savannah bug #33133.
443
b13f79a4
CW
4442011-04-21 Colin Watson <cjwatson@ubuntu.com>
445
446 Fix stack pointer handling in 16-bit relocator.
447
448 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
449 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
450 Fixes Ubuntu bug #683904.
451
9b710a88
VS
4522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * configure.ac: Bump version to 1.99~rc2.
455
d97e7b59
VS
4562011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
459 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
460 * grub-core/lib/x86_64/setjmp.S: Likewise.
461 * grub-core/lib/mips/setjmp.S: Likewise.
462 * grub-core/lib/powerpc/setjmp.S: Likewise.
463 * grub-core/lib/sparc64/setjmp.S: Likewise.
464
0624551c
VS
4652011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
468 * grub-core/lib/efi/datetime.c: Likewise.
469
e8f28d4c
VS
4702011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
473 New function.
474 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
475 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
476 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
477
bba79a15
VS
4782011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
481 bitmap.
482 (grub_gfxterm_term_init): Likewise.
483
abc474ef
VS
4842011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
485
486 Take into account the decorations the computing menu entry width.
487
488 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
489 (grub_gfxmenu_create_box): Register get_border_width.
490 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
491 if available.
492 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
493 get_border_width.
494
e74b3947
EP
4952011-04-18 Endres Puschner <code@e7p.de>
496
497 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
498 Don't skip first class.
499
34faa595
VS
5002011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
503 chunks.
504 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
505
93a777e3
VS
5062011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
507
508 Complete 64-bit division support.
509
510 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
511 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
512 * include/grub/misc.h (grub_divmod64): Rename to ...
513 (grub_divmod64_full): ... this.
514 (grub_divmod64): New inline function.
515
a5102d94
VS
5162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * util/grub-mkimage.c (generate_image): Add forgotten comma.
519
f3fb7b36
VS
5202011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
523 performing the necessary test.
524
9ac718b0
VS
5252011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
528 (kfreebsd.elf): Likewise.
529 (pc-chainloader.elf): Likewise.
530 (ntldr.elf): Likewise.
531
50d2cc5a
VS
5322011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
533
534 Identify RAID by its UUID rather than (guessed) name.
535
536 * grub-core/disk/raid.c (ascii2hex): New function.
537 (grub_raid_open): Accept mduuid/%s specification.
538 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
539 (get_mdadm_uuid): ... this.
540 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
541
e03f7bea
VS
5422011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
545 to negative size.
546
e74c3112
CW
5472011-04-13 Colin Watson <cjwatson@ubuntu.com>
548
549 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
550 btrfs subvolume.
551 * util/grub.d/20_linux_xen.in: Likewise.
552
78fa584f
CW
5532011-04-13 Colin Watson <cjwatson@ubuntu.com>
554
555 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
556 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
557
558 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
559 Build a list of relevant visible mounts using the mnt_id and
560 parent_mnt_id fields, and then scan that list at the end.
561
9d5f8162
CW
5622011-04-12 Colin Watson <cjwatson@ubuntu.com>
563
564 * docs/grub.texi (normal): New section.
565 (normal_exit): New section.
566 (Embedded configuration): Add reference to normal.
567 (GRUB only offers a rescue shell): Likewise.
568 * docs/grub-dev.texi (Error Handling): Fix typo.
569
09a9d66f
CW
5702011-04-12 Colin Watson <cjwatson@ubuntu.com>
571
572 * NEWS: Drop obsolete entry about probe-only btrfs support.
573
0c676933
CW
5742011-04-12 Colin Watson <cjwatson@ubuntu.com>
575
576 * util/import_gcry.py: Fix typo.
577
ec9f5e0d
VS
5782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * NEWS: Add btrfs support.
581
fe6b2cba
VS
5822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5832011-04-11 Colin Watson <cjwatson@ubuntu.com>
584
585 BtrFS support. Written by me (Vladimir) with important bugfixes and
586 even more important testing by Colin.
587
588 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
589 * grub-core/Makefile.core.def (btrfs): Add crc.c.
590 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
591 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
592 mem_input_off and mem_input. All users updated to accept in-RAM input.
593 (gzio_seek): New function.
594 (test_zlib_header): Likewise.
595 (grub_gzio_read): Likewise.
596 (grub_zlib_decompress): Likewise.
597 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
598 Accept partial and non-virtual mounts.
599 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
600 avoid receiving /dev/dm-X as device.
601 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
602 Handle bind and partial mounts.
603 * grub-core/lib/crc.c: New file.
604 * include/grub/deflate.h: Likewise.
605 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
606 proto.
607 * include/grub/lib/crc.h: New file.
608
e745cf0c
VS
6092011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
610
611 Implement automatic module license checking according to new GNU
612 guidelines.
613
614 * grub-core/kern/dl.c (grub_dl_check_license): New function.
615 (grub_dl_load_core): Use grub_dl_check_license.
616 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
617 (GRUB_MOD_LICENSE): Likewise.
618 (GRUB_MOD_DUAL_LICENSE): Likewise.
619 All modules updated.
620
2a9bc016
CW
6212011-04-11 Colin Watson <cjwatson@ubuntu.com>
622
623 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
624 reserved_first_sector to 1. btrfs reserves plenty of space for boot
625 loaders.
626 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
627
8a3bc88e
VS
6282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
631
af869a4a
VS
6322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * util/grub-fstest.c (read_file): Report GRUB error if file opening
635 failed.
636
9ee8d94f
VS
6372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/kern/file.c (grub_file_open): Don't take into account the
640 parenthesis in the middle of the filename.
641
b01abe3e
VS
6422011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
645 rather than trying to put initrd way too high.
646 Reported by: Ryan Lortie <desrt@desrt.ca>
647
335bda1e
VS
6482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
651 improperly removed string.
652
5ca1a64d
VS
6532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
656 is_disk.
657 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
658 (open_device) Likewise.
659 (grub_util_biosdisk_close): Likewise.
d8ce9995 660 Reported by: Mark Korenberg.
5ca1a64d 661
cbac5b1e
AK
6622011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
663
664 * util/grub-mkconfig_lib.in: Add missing quotes.
665
088cdb65
CW
6662011-04-10 Colin Watson <cjwatson@ubuntu.com>
667
668 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
669 is NULL.
670
8b8a81fa
VS
6712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
672
673 Dynamically count the number of lines for the lower banner.
674
675 * grub-core/normal/menu_entry.c (per_term_screen): New member
676 num_entries.
677 (print_down): Use num_entries.
678 (update_screen): Likewise.
679 (grub_menu_entry_run): Set num_entries.
680 * grub-core/normal/menu_text.c (menu_viewer_data): New member
681 num_entries.
682 (grub_print_message_indented): Move real part to ...
683 (grub_print_message_indented_real): ... here. Additional argument
684 dry_run.
685 (draw_border): Additional argument num_entries.
686 (print_message): Additional argument dry_run.
687 (print_entries): Receive menu viewer data.
688 (grub_menu_init_page): New argment num_entries.
689 (menu_text_set_chosen_entry): Use num_entries.
690 (grub_menu_try_text): Likewise.
691 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
692 All users updated.
693 (grub_ucs4_count_lines): New function.
694 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
695 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
696 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
697 (grub_term_border_height): Likewise.
698 (grub_term_num_entries): Likewise.
699
277f955b
VS
7002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
703 Remove now unused string.
704
536ce85a
CW
7052011-04-09 Colin Watson <cjwatson@ubuntu.com>
706
707 * docs/grub-dev.texi (Finding your way around): Update for 1.99
708 build system.
709 (Getting started): GRUB is developed in Bazaar now, not Subversion.
710
711 (Comment): Fix typo.
712 (Getting started): General copy-editing.
713 (Typical Development Experience): Likewise.
714 (Error Handling): Likewise.
715 (Video API): Likewise.
716
2cf09e32
CW
7172011-04-09 Colin Watson <cjwatson@ubuntu.com>
718
719 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
720 throughout.
721
1ec652f4
VS
7222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * util/grub-mkimage.c (main): Handle special naming of yeeloong
725 directory.
726
2c583728
CW
7272011-04-08 Colin Watson <cjwatson@ubuntu.com>
728
729 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
730 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
731 "development".
732
d7a565e9
VS
7332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
736 grub_strcpy since the lines aren't necessarily 0-terminated.
737
7c2e4909
VS
7382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
741 root on legacy.
742
34c09785
VS
7432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/commands/probe.c (options): Argument to set isn't optional.
746 (GRUB_MOD_INIT): DEVICE isn't optional.
747
6a6f8058
VS
7482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
751 word on new line if it's too long anyway. Fixes a hang.
752
2e335e90
VS
7532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
756 const.
757 * util/grub-setup.c (main): Reuse md device name if available.
758 * util/raid.c (grub_util_raid_getmembers): Receive device name and
759 not GRUB name as argument.
760 Based on patch by: Florian Wagner <fwagner>.
761
10a7a867
VS
7622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
765 Place mbi on low memory for better compatibility.
766
7a3d6cd9
VS
7672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
770
18dd6b47
VS
7712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7722011-04-08 Colin Watson <cjwatson@ubuntu.com>
773
774 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 775 * conf/Makefile.common: Likewise.
18dd6b47 776
3c0e3f14
VS
7772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
778
f7148863
VS
779 * grub-core/normal/menu.c: Add missing include.
780
7812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 784
6d1fa41f
MZ
7852011-04-08 Martin Zuther <mzuther@mzuther.de>
786
787 * util/grub-mkconfig.in: Ignore emacsen backup.
788
478182a8
VS
7892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
792 on open.
793 (grub_util_biosdisk_close): Likewise.
794
72a89a54
VS
7952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
798 const attribute and use grub_isdigit.
799
b5ebecfa
A
8002011-04-06 Andrey <dev_null@ukr.net>
801
802 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
803 gcc warning.
804
7755f66e
VS
8052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
808 useful grub_dprintf's.
809
461121ff
VS
8102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
813
2a961775
VS
8142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
817
adf594cc
VS
8182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
819
820 Output errors if theme loading failed.
821
822 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
823 grub_gfxterm_fullscreen on error paths to ...
824 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
825 theme loading error.
826
665900a3
VS
8272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
830 space for older compilers.
831 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
832
a562b479
VS
8332011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
836 and report them as not RAID members since they are useless for GRUB.
837 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
838
850e9373
VS
8392011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Increase LVM implementation robustness in order not to crash on
842 configurations like pvmove. Previously code assumed that in some places
843 only lvs or only pvs are used whereas it seems that they are used
844 interchangeably.
845
846 * grub-core/disk/lvm.c (read_node): New function.
847 (read_lv): Use read_node.
848 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
849 Match volumes only at the end when all lvs are found. Take both
850 pvs (first) and lvs (second) into account.
851 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
852 mirror_* into node_*. All users updated.
853 (grub_lvm_stripe): Merge this ...
854 (grub_lvm_mirror): ... and this ...
855 (grub_lvm_node): ... into this. All users updated.
856
6f332153
VS
8572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
860 of function to allow further scanning for LVMs.
861
829ea451
VS
8622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
865 on failed seek as it breaks open fd reusage.
866
09ceb9a5
VS
8672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * util/grub-install.in: Add a recommendation to use --recheck before
870 reporting bugs.
871
67e11623
VS
8722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
875 are obtained.
876
caee5efd
VS
8772011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
878
879 GRUB developper manual based on existing Internals section and
880 contributions by the various authors with active copyright assignment.
881
882 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
883 * docs/font_char_metrics.png: New file.
884 * docs/font_char_metrics.txt: Likewise.
885 * docs/grub-dev.texi: Likewise.
886 * docs/grub.texi (Internals): Move from here ...
887 * docs/grub-dev.texi: ... here.
888
2cccc747
CW
8892011-04-01 Colin Watson <cjwatson@ubuntu.com>
890
891 Store the loopback device as data on loopback grub_disk structures,
892 rather than the file it points to. This fixes use of freed memory
893 if an existing loopback device is replaced.
894
895 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
896 disk->data, not dev->file.
897 (grub_loopback_read): Adjust file assignment to match.
898 Fixes Ubuntu bug #742967.
899
186ae367
CW
9002011-04-01 Colin Watson <cjwatson@ubuntu.com>
901
902 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
903 when replacing an existing device.
904
cfed2ad0
VS
9052011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
908 memory corruptions.
909
910 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
911 unsigned.
912 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
913 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
914 (grub_jfs_read_inode): Likewise.
915 (grub_jfs_opendir): Likewise. Remove now useless casts.
916 (grub_jfs_getent): Likewise.
917 Make ino a grub_uint32_t rather than int.
918 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
919 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
920 division and module with bit operations.
921 (grub_jfs_find_file): Make ino a grub_uint32_t.
922 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
923
05d2ed32
CW
9242011-04-01 Colin Watson <cjwatson@ubuntu.com>
925
926 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
927 warning. (This was in fact always initialised before use, but GCC
928 wasn't smart enough to prove that.)
929 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
930
91dc6073
VS
9312011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
934 stack alignment.
935 (efi_wrap_1): Likewise.
936 (efi_wrap_2): Likewise.
937 (efi_wrap_3): Likewise.
938 (efi_wrap_4): Likewise.
939 (efi_wrap_5): Likewise.
940 (efi_wrap_6): Likewise.
941 (efi_wrap_10): Likewise.
942 Based on information by: Red Hat/Peter Jones.
943
a8afc1d1
CW
9442011-03-31 Colin Watson <cjwatson@ubuntu.com>
945
946 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
947 set-but-not-used variable.
948
a826cc7d
CW
9492011-03-31 Colin Watson <cjwatson@ubuntu.com>
950
951 * docs/grub.texi (Simple configuration): Be more explicit about
952 GRUB_DEFAULT, and add an example.
953 Reported by: Leslie Rhorer.
954
875b67ba
CW
9552011-03-30 Colin Watson <cjwatson@ubuntu.com>
956
957 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
958 shell".
959
fd7cd914
AS
9602011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
961
962 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
963 * util/grub.d/20_linux_xen.in: Likewise.
964
090b1b6a
VS
9652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * util/grub.d/10_linux.in: Try alternative config filenames where
968 we parse config file.
969 * util/grub.d/20_linux_xen.in: Likewise.
970
baad885c
AS
9712011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
972
973 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
974 * util/grub.d/20_linux_xen.in: Likewise.
975
241e41f5
VS
9762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/disk/raid.c (insert_array): Add few potentially
979 useful grub_util_info.
980 (grub_raid_register): Likewise.
981
56445fb2
VS
9822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
985 Preserve partition number in mdadm code path.
986
c871b1c6
VS
9872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
990 few potentially useful grub_util_info.
991
5e631b4f
CW
9922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
995
2d5d0333
CW
9962011-03-30 Colin Watson <cjwatson@ubuntu.com>
997
998 * docs/grub.texi (default): Use @example rather than nested
999 itemized lists to avoid breaking gendocs.
1000
3d7ed04e
CW
10012011-03-30 Colin Watson <cjwatson@ubuntu.com>
1002
1003 * docs/grub.texi (Future): Update.
1004
abf04200 10052011-03-30 Colin Watson <cjwatson@ubuntu.com>
1006
1007 * docs/grub.texi (Environment): New chapter.
1008 (Changes from GRUB Legacy): Link to "Environment block" section for
1009 details of limitations.
1010 (Simple configuration): Likewise. Link to documentation of gfxmode
1011 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
1012 respectively.
1013 (Shell-like scripting): Note that normal variables are stored in the
1014 environment.
1015 (gettext): Link to documentation of lang and locale_dir.
1016 (list_env): New section.
1017 (load_env): New section.
1018 (save_env): New section.
1019
1020 (Reporting bugs): Fix typo.
1021
e1ad0edd
VS
10222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
1025 the example.
1026
5d803174
VS
10272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/term/at_keyboard.c (set_scancodes)
1030 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
1031
2a2da1d0
CW
10322011-03-30 Colin Watson <cjwatson@ubuntu.com>
1033
1034 * docs/grub.texi (Menu-specific commands): Remove some semantics
1035 that were true in GRUB Legacy but not in GRUB 2.
1036 (submenu): New section.
1037 (false): New section.
1038 (read): New section.
1039 (true): New section.
1040
a7527639
CW
10412011-03-30 Colin Watson <cjwatson@ubuntu.com>
1042
1043 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
1044
10452011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
1046
1047 * docs/grub.texi (Simple configuration): Explain some of the
1048 current limitations of grub-mkconfig.
8a748df2 1049 Reported by: Leslie Rhorer.
e30af029 1050
fc858482
VS
10512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Old macs search for boot.efi rather than for bootia32.efi.
1054
1055 * util/grub-install.in: Copy bootia32.efi to boot.efi.
1056 * util/grub-mkrescue.in: Likewise.
1057 Suggested by: Peter Jones.
1058
e1eb511d
VS
10592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
1062
70e75364
VS
10632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
1066 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
1067 (grub_lvm_mirror): New struct.
1068 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
1069 (grub_lvm_iterate): Iterate only visible volumes.
1070 (grub_lvm_read): Factor out to ..
1071 (read_lv): ... this. Support mirrors.
1072 (grub_lvm_read): New wrapper function.
1073 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
1074 stripped or mirrored.
1075
fc18f6a3
VS
10762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
1079
5c650f4c
CW
10802011-03-29 Colin Watson <cjwatson@ubuntu.com>
1081
1082 * docs/grub.texi (loopback): New section.
1083
61d7156b
CW
10842011-03-29 Colin Watson <cjwatson@ubuntu.com>
1085
1086 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
1087 removed -p option.
1088
994b8264
CW
10892011-03-29 Colin Watson <cjwatson@ubuntu.com>
1090
1091 * docs/grub.texi (BIOS installation): New section, partly based on
1092 previous text in other sections.
1093 (Installing GRUB using grub-install): Replace BIOS discussion with a
1094 cross-reference.
1095 (Images): Likewise.
1096
9e4d19e0
VS
10972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/kern/emu/hostdisk.c (find_partition_start)
1100 [HAVE_DIOCGDINFO]: Add safety checks.
1101
a307c0b2
VS
11022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
1105 per default compiled in kernel and prior to 8.0 isn't shipped at all.
1106
b4db4f39
CW
11072011-03-29 Colin Watson <cjwatson@ubuntu.com>
1108
1109 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
1110 real_sb->size is zero (e.g. RAID-0), get the disk size from
1111 real_sb->data_size instead.
1112 Fixes Ubuntu bug #743136.
1113
35e5f84c
VS
11142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
1117 printf clauses for printing size and start.
1118
d2e29d81
VS
11192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
1122 Reported and tested by: Timothy Nikkel.
1123
ed5587af
VS
11242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
1127 (dirty_region_add_real): ... this.
1128 (dirty_region_add): Don't discard margin refresh when performing
1129 scheduled repaint.
1130
a1dc717c
VS
11312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/lib/relocator.c (allocate_regstart)
1134 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
1135 terminals are capabple of malloc-free operation.
1136 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
1137 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
1138
9f3677d3
VS
11392011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
1140
1141 * util/grub-setup.c: Copy the partition table zone if floppy support
1142 is disabled, even if no partition table is found.
1143
1144 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
1145 during POST if an invalid partition table is contained in the PBR
1146 of the active partition when GRUB is installed to a partition.
1147
24148725
CW
11482011-03-28 Colin Watson <cjwatson@debian.org>
1149
1150 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
1151 comment.
1152
f329eda7
CW
11532011-03-28 Colin Watson <cjwatson@debian.org>
1154
1155 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
1156 to be specific about what kind of RAID device we're scanning for.
1157
c482ad98
SG
11582011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
1159
1160 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
1161 return freed string.
1162
5ee04984
VS
11632011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
1166
f4727da9
VS
11672011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Use libgeom on FreeBSD to detect partitions.
1170
1171 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
1172 (grub-mkrelpath): Likewise.
1173 (grub-script-check): Likewise.
1174 (grub-editenv): Likewise.
1175 (grub-mkpasswd-pbkdf2): Likewise.
1176 (grub-fstest): Likewise.
1177 (grub-mkfont): Likewise.
1178 (grub-mkdevicemap): Likewise.
1179 (grub-probe): Likewise.
1180 (grub-setup): Likewise.
1181 (grub-ofpathname): Likewise.
1182 (grub-mklayout): Likewise.
1183 (example_unit_test): Likewise.
1184 (grub-menulst2cfg): Likewise.
1185 * grub-core/Makefile.core.def (grub-emu): Likewise.
1186 (grub-emu-lite): Likewise.
1187 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
1188 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
1189 define HAVE_DIOCGDINFO.
1190 (follow_geom_up) [FreeBSD]: New function.
1191 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
1192 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
1193 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
1194 unconditionally of HAVE_DIOCGDINFO.
1195
82fe6c75
VS
11962011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Fix FreeBSD compilation problem.
1199
1200 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
1201 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
1202
4c6c9431
CW
12032011-03-24 Colin Watson <cjwatson@ubuntu.com>
1204
1205 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
1206 Switch back to page zero before loading a kernel, since some kernel
1207 drivers expect that.
1208 Thanks to: Felix Kuehling.
1209
c7064d94
VS
12102011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
1213 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
1214 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
1215
3f71cded
VS
12162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
1219 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
1220
ef6de21a
VS
12212011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
1224 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
1225 malloc is disabled.
1226
8bc66a2c
VS
12272011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
1230 for modules headers when counting the needed allocation size.
1231
5657722c
VS
12322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
1235 if no ASCII character is found to prevent crash.
1236
41a85f55
AK
12372011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
1238
1239 * grub-core/video/bitmap.c (match_extension): Ignore case.
1240
59e1e5f1
VS
12412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
1244
bd4d051a
VS
12452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/script/parser.y: Declare "time" as valid argument.
1248
bae7fcc1
PJ
12492011-03-23 Peter Jones <pjones@redhat.com>
1250
1251 Fix incorrect assert failure reporting.
1252
1253 * grub-core/tests/example_functional_test.c (example_test): Add
1254 a failure comment.
1255 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
1256 (failure_start): ...this. Check that malloc succeeded.
1257 Don't call xvasprintf. Return failure struct.
1258 (failure_append_vtext): New function.
1259 (failure_append_text): Likewise.
1260 (add_failure): Likewise.
1261 (grub_test_assert_helper): Likewise.
1262 * include/grub/test.h (grub_test_assert_helper): New declaration.
1263 (grub_test_assert): Macro rewritten.
1264
537dc9be
VS
12652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
1268
fa3e01bf
VS
12692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
1272
b1d28404
VS
12732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
1276 into GRUB-style one.
1277
2e3e2e09
VS
12782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
1281 error and not grub_errno.
1282 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1283
ed57e557
VS
12842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
1287 GRUB_USB_SPEED_NONE in case of failure and not the error code.
1288
d1611f01
VS
12892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/efiemu/i386/pc/cfgtables.c
1292 (grub_machine_efiemu_init_tables): Make declaration a prototype.
1293 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
1294 (grub_xnu_unlock): Likewise.
1295 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
1296
7d4e39d6
VS
12972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
1300 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
1301 * grub-core/commands/hashsum.c (aliases): Likewise.
1302 * grub-core/commands/setpci.c (pci_registers): Likewise.
1303 * grub-core/disk/usbms.c (attach_hook): Likewise.
1304 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
1305 (zio_checksum_table): Likewise.
1306 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
1307 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
1308 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
1309 * grub-core/lib/relocator.c (leftovers): Likewise.
1310 (extra_blocks): Likewise.
1311 * grub-core/loader/i386/bsd.c (relocator): Likewise.
1312 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
1313 (modules_last): Likewise.
1314 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
1315 (devices): Likewise.
1316 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
1317 (modules_last): Likewise.
1318 * grub-core/normal/auth.c (users): Likewise.
1319 * grub-core/normal/context.c (initial_menu): Likewise.
1320 (current_menu): Likewise.
1321 * grub-core/normal/crypto.c (crypto_specs): Likewise.
1322 * grub-core/term/serial.c (grub_serial_ports): Likewise.
1323 (grub_serial_terminfo_input_template): Likewise.
1324 (grub_serial_terminfo_output_template): Likewise.
1325 (grub_serial_terminfo_input): Likewise.
1326 (grub_serial_terminfo_output): Likewise.
1327 (registered): Likewise.
1328 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
1329
40fc4659
VS
13302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
1333 grub_video_mode_type_t.
1334 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
1335 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
1336 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
1337
2da48d28
VS
13382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * util/grub-install.in: Correct the x86-64 name as x86_64.
1341
9b43bf39
CW
13422011-03-11 Colin Watson <cjwatson@ubuntu.com>
1343
1344 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1345 initial chunk read from the kernel always includes GRUB's multiboot
1346 header, which is now outside the first sector.
1347
be1a7ce0
CW
13482011-03-09 Colin Watson <cjwatson@ubuntu.com>
1349
1350 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1351 cached mmap_size, so that this works correctly when called multiple
1352 times.
1353 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1354
83a3c48d
CW
13552011-03-09 Colin Watson <cjwatson@ubuntu.com>
1356
1357 * docs/grub.texi (Simple configuration): Tidy up formatting.
1358
57d75699
SJ
13592011-03-07 Szymon Janc <szymon@janc.net.pl>
1360
1361 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1362 Set-but-not-used variable removed.
1363
028501a0
VS
13642011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 Workaround yet another IEEE1275 bug.
1367
1368 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1369 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1370 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1371 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1372 is set.
1373 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1374 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1375
d998657d
VS
13762011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1379 error.
1380
fee7cdd4
CW
13812011-02-11 Colin Watson <cjwatson@ubuntu.com>
1382
1383 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1384 empty, since in that case we can only generate either nothing or a
1385 syntactically invalid configuration file.
1386 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1387
97286eb5
CW
13882011-02-09 Colin Watson <cjwatson@ubuntu.com>
1389
1390 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1391 (Making a GRUB bootable CD-ROM): Likewise.
1392 (Invoking grub-mkrescue): New section.
1393 Reported by: Yann Dirson. Fixes Debian bug #612585.
1394
22b28eb3
CW
13952011-02-09 Colin Watson <cjwatson@ubuntu.com>
1396
1397 * util/grub-install.in: Remove unnecessary brackets from tr
1398 arguments.
1399 * util/grub.d/10_hurd.in: Likewise.
1400 * util/grub.d/10_kfreebsd.in: Likewise.
1401 * util/grub.d/10_linux.in: Likewise.
1402 * util/grub.d/20_linux_xen.in: Likewise.
1403 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1404
7e735e43
CW
14052011-02-08 Colin Watson <cjwatson@ubuntu.com>
1406
1407 * include/grub/file.h (not_easly_seekable): Rename to ...
1408 (not_easily_seekable): ... this. Update all users.
1409
800f1881
CW
14102011-01-28 Colin Watson <cjwatson@ubuntu.com>
1411
1412 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1413 grub-mkrescue.
1414
3281d3d6
VS
14152011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * util/grub-mkimage.c (generate_image): Refuse to create the images
1418 bigger than the actual flash (512K) in Loongson machines. 512K is also
1419 the biggest chip supported by them.
1420
3533413c
VS
14212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1424
73ae4f4f
VS
14252011-01-22 Anthony DeRobertis <anthony@derobert.net>
1426
1427 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1428 super_offset field.
1429
37f4f608
VS
14302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * util/grub-install.in: Ignore install device on platforms
1433 where it doesn't make sense. Always use UUIDs except on pc, efi and
1434 sparc64.
1435 Reported by: Daniel Kahn Gillmor.
1436
03a4ccb5
VS
14372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1440
ffc8f4d8
VS
14412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1444 (iterate_real): Don't rely on partition being non-NULL.
1445
80f23be7
VS
14462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1449 supported platforms. Put a compile time assert for this rather than
1450 generate a warning with 32-bit shift.
1451
5d4f4dd5
VS
14522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1455 logical expression more readable.
1456
e489601a
VS
14572011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1460 even if some elements have a name.
1461 Reported by: Alexander GQ Gerasiov.
1462
96e0a6ea
CW
14632011-01-22 Colin Watson <cjwatson@ubuntu.com>
1464
1465 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1466 path unreadable if `grub-probe -t abstraction' fails, for example if
1467 memberlist fails on an LVM volume group.
1468 Reported by: Darius Jahandarie.
1469
81431e2b
CW
14702011-01-22 Colin Watson <cjwatson@ubuntu.com>
1471
1472 * docs/grub.texi (Simple configuration): Document
1473 GRUB_PRELOAD_MODULES.
1474
5e79d66a
CW
14752011-01-17 Colin Watson <cjwatson@ubuntu.com>
1476
1477 * .bzrignore: Remove nonexistent grub-pbkdf2.
1478
646ada34
VS
14792011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * configure.ac: Bump version to 1.99~rc1.
1482
04360337
VS
14832011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1486 for safety.
1487
46c9db88
VS
14882011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1491 module.
1492
14932011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
1494
1495 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1496
4fbf1852
VS
14972011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1500 diskdevid.
1501
f1632d4d
VS
15022011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Fix compilation on cygwin.
1505
1506 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1507 -R .drectve on cygwin.
1508 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1509 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1510 (COND_CYGWIN): New condition.
1511 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1512 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1513 not @TARGET_OBJ2ELF@.
1514 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1515 type to determine whether aux is to be used.
1516
0b5e127b
VS
15172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1520 realpath'ed device string.
1521 Handle floppy (somewhat).
1522 Issue error in unknown case rather than garbage.
1523 Reported by: Axel Beckert.
1524
173b71e9
VS
15252011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * util/grub.d/00_header.in (load_video): Handle the case when no video
1528 drivers available.
1529 Thanks to: Axel Beckert.
1530
f8f479db
VS
15312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1534 variable. Fixes problem on big endian platforms.
1535
8fc0a245
VS
15362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1539 It doesn't work well there.
1540
b8494fbe
VS
15412011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1544 warning.
1545 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1546 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1547 counter.
1548
b44a558c
VS
15492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 Use alias->path rather than buggy "canon".
1552
1553 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1554 (ofdisk_hash_add): New argument curcan. All users updated.
1555
51fa856c
CW
15562011-01-11 Colin Watson <cjwatson@ubuntu.com>
1557
1558 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1559
9da068a5
VS
15602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1563 loadmask before doing any calculations. Use correct type for offset.
1564 (grub_linux_load64): Likewise.
1565
86205c94
CW
15662011-01-11 Colin Watson <cjwatson@ubuntu.com>
1567
1568 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1569 with NULL.
1570 (console_grub_equivalences_unshift): Likewise.
1571 Reported by: Daniel Dehennin.
1572
4531a206
VS
15732011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1576 (set_env_limn_ro): Likewise.
1577 (GRUB_MOD_INIT): Likewise.
1578 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1579 ARRAY_SIZE while on it.
1580 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1581 * grub-core/normal/context.c (grub_env_export): Move from here ...
1582 * grub-core/kern/env.c (grub_env_export): ... here.
1583 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1584 prefix.
1585 * grub-core/kern/main.c (grub_main): Export root and prefix.
1586 * include/grub/env.h (grub_env_export): Export.
1587 Reported by: Seth Goldberg.
1588
45146057
VS
15892011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1592 Take into account space used by ELF sections and multiboot palette.
1593 Reported by: Grégoire Sutre.
1594
f093110b
VS
15952011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * BUGS: New file.
1598
3395fe52
VS
15992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 Pass more appropriate video id to Linux.
1602
1603 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1604 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1605 fill have_vga.
1606 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1607 shift params->lfb_size.
1608 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1609
c2fa6cbb
VS
16102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1613
b3ff6ff0
VS
16142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1617 separator and pass bootpath/devid even if only one of them is available.
1618 Reported by: Seth Goldberg.
1619
ae67942e
VS
16202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1623 implementations bug on them.
1624
1625 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1626 memory.
1627 (filter_memory_map): Likewise.
1628
d570097a
VS
16292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1632 Reported by: nebuchadnezzar.
1633
a508e776
VS
16342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1637 Reported by: nebuchadnezzar.
1638
dcb883b1
VS
16392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Submenu default support.
1642
1643 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1644 auto_boot. All users updated.
1645 Declared static.
1646 Handle chosen and default with submenus.
1647 (grub_menu_execute_with_fallback): Declared static.
1648 Don't notify failure if autobooted. Upper level does it.
1649 (menuentry_eq): New function.
1650 (get_entry_number): Use menuentry_eq.
1651 (show_menu): New parameter "autobooted". All users updated.
1652 (grub_show_menu): Likewise.
1653 * include/grub/normal.h (grub_show_menu): Likewise.
1654 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1655 (grub_menu_execute_with_fallback): Likewise.
1656
6fef99b4
VS
16572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * util/grub-mklayout.c (usage): Update help text.
1660
47a77af5
VS
16612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1664
ce6bb3ee
VS
16652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * util/grub-menulst2cfg.c (main): Trim the line.
1668
db87be2a
VS
16692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1672 (grub_machine_init): Don't check amount of low memory as reportedly
1673 INT 12h can be broken and if low memory is too low we wouldn't have
1674 gotten into grub_machine_init anyway.
1675
c49849cc
VS
16762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1679 (grub_machine_mmap_iterate): Take low memory into account
1680
b1969b30
VS
16812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1684 badfs.
1685 Reported by: TiCPU.
1686
cf0eaf13
VS
16872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1690 members errors.
1691
1f060f39
GS
16922011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1693
1694 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1695 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1696
a21e5672
GS
16972011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1698
1699 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1700 openbsd and netbsd types being in part_bsd module.
1701
c88172fa
VS
17022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1705 (_FILE_OFFSET_BITS): Likewise.
1706 Reported by: Seth Goldberg.
1707
53798c4b
GS
17082011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1709
1710 * configure.ac: Check for libdevmapper header.
1711
e7121b69
VS
17122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1715 avoid aliasing.
1716 (fzap_lookup): Likewise.
1717 (dnode_get): Likewise.
1718 (make_mdn): Likewise.
1719 (zfs_mount): Likewise.
1720 (fzap_iterate): Use temporary pointer to avoid aliasing.
1721 (grub_zfs_read): Likewise.
1722 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1723 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1724 pointers to avoid aliasing.
1725 (grub_cmd_xnu_kernel64): Likewise.
1726 (grub_xnu_load_driver): Likewise.
1727
fc836af9
VS
17282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1731 aliasing warning.
1732 (grub_cmd_terminal_output): Likewise.
1733 Reported and tested by: Grégoire Sutre.
1734
f9f37648
VS
17352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1738 warning.
1739 Reported and tested by: Grégoire Sutre.
1740
ec1dfd63
VS
17412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * configure.ac: Do CPU substitution even if it's specified explicitly.
1744 Reported and tested by: Alain Greppin.
1745
9462775a
VS
17462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1749 Reported and tested by: Alain Greppin.
1750
0fd48e35
VS
17512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 Satisfy some bison versions need for inttypes.h.
1754
1755 * grub-core/lib/posix_wrap/inttypes.h: New file.
1756 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1757 (int16_t): Likewise.
1758 (int32_t): Likewise.
1759 (int64_t): Likewise.
1760 Reported and tested by: Alain Greppin.
1761
43f1bc83
VS
17622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1765 Silence spurious warning.
1766 Reported and tested by: Alain Greppin.
1767
64d1f041
SJ
17682011-01-07 Szymon Janc <szymon@janc.net.pl>
1769
1770 * docs/grub.texi (Support automatic decompression): Update with xz
1771 decompression support.
1772
25953e10
SJ
17732011-01-07 Szymon Janc <szymon@janc.net.pl>
1774
1775 Improve loaders' kernel command line handling.
1776
1777 * grub-core/lib/cmdline.c: New file.
1778 * include/grub/lib/cmdline.h: Likewise.
1779 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1780 grub_create_loader_cmdline to create kernel command line.
1781 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1782 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1783 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1784 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1785 (linux): Add lib/cmdline.c on common.
1786
e72d259f
VS
17872011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1790 inopos might be unaligned.
1791
c0cf26da
VS
17922011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1795 endian transformations.
1796 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1797 Based on report by: Doug Nazar.
1798
0ca09e6c
DN
17992011-01-07 Doug Nazar <nazard.michi@gmail.com>
1800
1801 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1802 array->members[i].start_sector.
1803 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1804
014b6806
VS
18052011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1808 Reported and tested by: Grégoire Sutre.
1809
415502c2
CW
18102011-01-06 Colin Watson <cjwatson@ubuntu.com>
1811
1812 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1813 avoid causing test failures by clearing the screen.
1814
71b6a2b7
CW
18152011-01-06 Colin Watson <cjwatson@ubuntu.com>
1816
1817 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1818 Fix prefix check to handle the case where dir ends with a slash
1819 (most significantly, "/" itself).
1820 Reported by: Michael Vogt.
1821
b3f8d28a
VS
18222011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Run terminfo_cls on initing terminfo output to clear the screen and
1825 move the cursor to (0,0).
1826
1827 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1828 Call grub_terminfo_output_init.
1829 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1830 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1831 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1832
4c3e4f37
VS
18332011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1836 only when needed.
1837
488f71f1
VS
18382011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1841 CTRL.
1842
18a38098
VS
18432011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 The E820 type 5 is BADRAM, not EXEC_CODE.
1846
1847 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1848 (GRUB_E820_BADRAM): New define.
1849 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1850 into reserved. Propagate BADRAM.
1851 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1852 (GRUB_E820_BADRAM): New define.
1853
9eae2084
VS
18542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1857 Ignore the memory post-4G.
1858 (grub_relocator_firmware_alloc_region): Additional debug statement.
1859
ebc71d28
VS
18602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1863 names.
1864 Reported by: David Pravec.
1865
446fa400
VS
18662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1869 BIOSes.
1870
a0159f37
VS
18712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1874 Prevent overflow.
1875 (grub_reed_solomon_recover): Likewise.
1876
e5146ca1
VS
18772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1880
18812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
1882
1883 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1884 variable.
1885
5b1bdf12
CW
18862011-01-04 Colin Watson <cjwatson@ubuntu.com>
1887
1888 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1889 descriptions of extract_legacy_entries_source and
1890 extract_legacy_entries_configfile.
1891 Reported by: Seung Soo, Ha.
1892
99d925aa
CW
18932011-01-03 Colin Watson <cjwatson@ubuntu.com>
1894
1895 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1896 on devices that do not implement function 0.
1897
4af0504b
DV
18982011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1899
1900 * grub-core/fs/hfsplus.c: Make parent unsigned.
1901 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1902 overflows.
1903 (grub_hfsplus_cmp_extkey): Likewise
1904
469ee10a
VS
19052011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * util/grub-install.in: Correctly use bootloader_id and not
1908 GRUB_DISTRIBUTOR on efibootmgr line.
1909
323a8e9c
VS
19102011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1913
1b394975
IC
19142010-12-31 Ian Campbell <ijc@hellion.org.uk>
1915
1916 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1917 Xen and reorder menu item wording to make it clearer that this entry
1918 will launch Xen. Print separate messages when loading Xen and
1919 Linux.
1920
275bff5f
VS
19212010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1924 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1925 loop in case of incorrect amiga partmap.
1926
307806cb
VS
19272010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1930 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1931 Reported by:EHeM.
1932
b12b923e
VS
19332010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1936 spurious warning.
1937 Reported by: crocket
1938
14b48a19
VS
19392010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1942 Preload EFIemu.
1943 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1944
693db2df
VS
19452010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1948 is loaded
1949 (grub_cmd_xnu_kextdir): Likewise.
1950 (grub_cmd_xnu_splash): Likewise.
1951
c7638645
VS
19522010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 Avoid using Reed-Solomon with 0 redundancy.
1955
1956 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1957 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1958 or 0 redundancy.
1959 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1960 (grub_reed_solomon_recover): Likewise.
1961
25dd4780
VS
19622010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 Don't use disk subsystem in freebsd_boot.
1965
1966 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1967 (freebsd_biosdev): Likewise.
1968 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1969 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1970
0b2db943
VS
19712010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 Handling of files of unknown size is currently limited. They can't be
1974 used e.g. for initrd or modules. Moreover gzip handling of not
1975 easily seekable files is buggy. Disable unknown file size for now. May
1976 be inefficient but works.
1977
1978 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1979 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1980
5c408d0f
MP
19812010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1982
1983 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1984 floppy probe.
1985
190a011a
JD
19862010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1987
1988 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1989
022d01b8
SL
19902010-12-25 Shea Levy <shlevy>
1991
1992 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1993
c4855fdc
VS
19942010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1997 Windows Server 2008.
1998 Reported by: Devin Giddings.
1999
0354b867
VS
20002010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
2003 writing an error message because of async power management.
2004 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
2005 (grub_reboot): Likewise.
2006
ab66c69f
JU
20072010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
2008
2009 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
2010 keep unit tests from failing when they shouldn't.
2011
1426ef35
CW
20122010-12-21 Colin Watson <cjwatson@ubuntu.com>
2013
2014 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
2015 previous patch increased the size of the RS code by 20 bytes (at
2016 least with gcc-4.4), so increase this by 20 bytes to match.
2017 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2018
20641b6b
CW
20192010-12-21 Colin Watson <cjwatson@ubuntu.com>
2020
2021 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
2022 scratch area. Make sure to initialise chosen in standalone mode as
2023 well as non-standalone.
2024 Reported by: Robert Hooker and Andy Whitcroft.
2025 Tested by: Andy Whitcroft.
2026
d060ad60
CW
20272010-12-21 Colin Watson <cjwatson@ubuntu.com>
2028
2029 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
2030 constructing a new unescaped string and passing it to grub_xputs in
2031 one go, rather than passing characters to grub_printf one at a time.
2032
b889cfad
CW
20332010-12-21 Colin Watson <cjwatson@ubuntu.com>
2034
2035 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
2036 initialising utf16.
2037
4e01b6c8
CW
20382010-12-21 Colin Watson <cjwatson@ubuntu.com>
2039
2040 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
2041 comment. Add an extra layer of quotation, requiring the output of
2042 this function to be used in a printf format string.
2043 (gettext_printf): New function.
2044 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
2045 Extract translatable strings from here-documents and use a temporary
2046 variable instead, so that xgettext can find them.
2047 * util/grub.d/10_kfreebsd.in: Likewise.
2048 * util/grub.d/10_linux.in: Likewise.
2049 * util/grub.d/20_linux_xen.in: Likewise.
2050
2051 * po/grub.d.sed: New file.
2052 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
2053 arguments. Set c-format flags on all strings extracted from
2054 util/grub.d/ (xgettext refuses to include these itself for strings
2055 it extracted from a shell file, but these really are c-format).
2056
5318fe98
VS
20572010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
2060 Avoid next pointing to nowhere.
2061
6c85b743
VS
20622010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
2065 rather than assuming than rootblock is exactly in the middle.
2066 (grub_affs_label): Likewise.
2067
a2a08a35
VS
20682010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
2071 reserved_first_sector to 0.
2072 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
2073 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
2074 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
2075
7059d1ec
VS
20762010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 Fix handling of UTF-16 UDF labels.
2079
2080 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
2081 (read_string): .. here.
2082 (grub_udf_label): Use read_string.
2083
30aff4cb
BC
20842010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
2085
2086 * grub-core/normal/menu_entry.c (run): Execute commands from menu
2087 editor under argument scope.
2088 Reported by: Jordan Uggla
2089
5cf86f4b
VS
20902010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
2093
32570200
CW
20942010-12-18 Colin Watson <cjwatson@ubuntu.com>
2095
2096 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
2097 line, and other keys scroll an entire page (previous handling was
2098 for \r and \n to scroll a page and other keys to scroll two lines).
2099
e1dffcf2
VS
21002010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2103 Set ptrdest to correct get_physical_target_address rather than
2104 incorrect get_virtual_current_address.
2105
b04298cf 21062010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
2107
2108 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
2109 correct cat to grub_uint8_t * rather than grub_uint32_t *.
2110
5367ecd3
CW
21112010-12-10 Colin Watson <cjwatson@ubuntu.com>
2112
2113 * .bzrignore: Ignore grub-core/rs_decoder.S.
2114
1fb430f8
CW
21152010-12-10 Colin Watson <cjwatson@ubuntu.com>
2116
2117 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
2118 .mo/.mo.gz opening sequence to ...
2119 (grub_mofile_open_lang): ... here.
2120 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
2121 * util/grub.d/00_header.in (grub_lang): Include country part of
2122 locale.
2123 Reported by: Mario Limonciello.
2124
a94a6671
RM
21252010-12-09 Robert Millan <rmh@gnu.org>
2126
2127 * NEWS: Document addition of ZFS support.
2128
24b7938b
CW
21292010-12-04 Colin Watson <cjwatson@ubuntu.com>
2130
2131 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
2132 rather than `/ 2', as the latter requires -Wa,--divide which would
2133 require bumping our minimum binutils version.
2134
bddc3ef6
BC
21352010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
2136
2137 * util/grub-script-check.c (main): Print script line number on
2138 error.
2139
bf78d5b2
RM
21402010-12-01 Robert Millan <rmh@gnu.org>
2141
2142 * grub-core/fs/zfs/zfs.c: New file.
2143 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
2144 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
2145 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
2146 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2147
2148 * include/grub/zfs/dmu.h: Likewise.
2149 * include/grub/zfs/dmu_objset.h: Likewise.
2150 * include/grub/zfs/dnode.h: Likewise.
2151 * include/grub/zfs/dsl_dataset.h: Likewise.
2152 * include/grub/zfs/dsl_dir.h: Likewise.
2153 * include/grub/zfs/sa_impl.h: Likewise.
2154 * include/grub/zfs/spa.h: Likewise.
2155 * include/grub/zfs/uberblock_impl.h: Likewise.
2156 * include/grub/zfs/vdev_impl.h: Likewise.
2157 * include/grub/zfs/zap_impl.h: Likewise.
2158 * include/grub/zfs/zap_leaf.h: Likewise.
2159 * include/grub/zfs/zfs.h: Likewise.
2160 * include/grub/zfs/zfs_acl.h: Likewise.
2161 * include/grub/zfs/zfs_znode.h: Likewise.
2162 * include/grub/zfs/zil.h: Likewise.
2163 * include/grub/zfs/zio.h: Likewise.
2164 * include/grub/zfs/zio_checksum.h: Likewise.
2165
2166 * Makefile.util.def: Build ZFS into libgrubmods.
2167 * grub-core/Makefile.core.def: Build zfs.mod.
2168
3f0f3831
SJ
21692010-11-30 Szymon Janc <szymon@janc.net.pl>
2170
2171 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
2172 variable.
2173 * grub-core/commands/wildcard.c (match_files): Likewise.
2174
3a4253b2
RM
21752010-11-30 Robert Millan <rmh@gnu.org>
2176
2177 * grub-core/loader/i386/bsd.c
2178 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
2179 whether kernel is loaded using grub_loader_is_loaded(), rather
2180 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
2181 certain error conditions.
2182
8c317b27
RM
21832010-11-30 Robert Millan <rmh@gnu.org>
2184
c5c9cd3e
RM
2185 * grub-core/commands/echo.c: Include `<grub/term.h>'.
2186 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 2187
49d3ab46
VS
21882010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 Avoid using tricks for initialising endian variables.
2191
2192 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
2193 Make const.
2194 (GRUB_MOD_INIT): Don't byte-swap.
2195 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2196 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
2197 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
2198 (grub_swap_bytes32_compile_time): Likewise.
2199 (grub_cpu_to_le32_compile_time): Likewise.
2200 (grub_cpu_to_le16_compile_time): Likewise.
2201
f420a804
VS
22022010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * util/grub-setup.c (setup): Stop recommending --force. People who
2205 understand the dangers of blocklists are able to find this option
2206 anyway and the ones who don't shouldn't use it anyway.
2207
4e7db17b
RM
22082010-11-26 Robert Millan <rmh@gnu.org>
2209
2210 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
2211 Update all users.
2212
9be57a0d
CW
22132010-11-26 Colin Watson <cjwatson@ubuntu.com>
2214
2215 Fix LVM-on-RAID probing.
2216
2217 * util/grub-probe.c (probe): Remember which disk was detected as
2218 RAID (perhaps an LVM physical volume). Use that disk's raidname
2219 rather than that of the top-level disk.
2220
2c7859b3 22212010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 2222
d7647bb6
BC
2223 Fix cmdline argument quotes for setparams command of menuentry
2224 definitions.
7e623b0d
BC
2225
2226 * grub-core/commands/menuentry.c (setparams_prefix): Use single
2227 quotes for arguments.
f866fe80 2228 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 2229 grub_strchrsub function instead.
f866fe80 2230
7955bea0 2231 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 2232
74f72a64
CW
22332010-11-24 Colin Watson <cjwatson@ubuntu.com>
2234
2235 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
2236 effort by skipping "." and ".." entries up-front.
2237 Suggested by: Michael Lazarev.
2238
5a407278
CW
22392010-11-24 Colin Watson <cjwatson@ubuntu.com>
2240
2241 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
2242 ldflags to ldadd, to fix link line ordering.
2243 (none_decompress): Likewise.
2244
3030d8ec
CW
22452010-11-24 Colin Watson <cjwatson@ubuntu.com>
2246
2247 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
2248 platforms.
2249 (grub-emu-lite): Remove kern/emu/cache.S.
2250
b7fbac12
CW
22512010-11-23 Colin Watson <cjwatson@ubuntu.com>
2252
2253 * util/deviceiter.c (compare_devices): If the by-id link for a
2254 device couldn't be resolved, fall back to sorting by the by-id link
2255 rather than segfaulting.
2256 Reported and tested by: Daniel Mierswa.
2257
5225f328
CW
22582010-11-23 Colin Watson <cjwatson@ubuntu.com>
2259
2260 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
2261 ldflags, to fix link line ordering.
2262
038b3ce8
CW
22632010-11-23 Colin Watson <cjwatson@ubuntu.com>
2264
2265 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
2266 linkers are picky about this.
2267
bf16e98e
CW
22682010-11-23 Colin Watson <cjwatson@ubuntu.com>
2269
2270 * grub-core/Makefile.am (command.lst): Adjust sed expression
2271 ordering so that extended and priority commands aren't treated as
2272 ordinary commands.
2273
7242bab6
CW
22742010-11-23 Colin Watson <cjwatson@ubuntu.com>
2275
2276 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2277 Remove byte-swapping function calls, which are not valid in
2278 structure initialisers.
2279 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
2280 non-const.
2281 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
2282 grub_gpt_partition_type_bios_boot.
2283
14e8b279
CW
22842010-11-22 Colin Watson <cjwatson@ubuntu.com>
2285
2286 Fix test program build on GNU/kFreeBSD.
2287
2288 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
2289 $(LIBNVPAIR)' library dependencies.
2290
e6f63338 22912010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
2292
2293 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
2294
cf8ffc38
CW
22952010-11-22 Colin Watson <cjwatson@ubuntu.com>
2296
2297 * util/grub-install.in: Remove excessive quoting that broke
2298 installations to RAID devices.
2299
7f8b0fd7
VS
23002010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
2303 bootloader version instead of 0.
2304
dfd240b1
VS
23052010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
2308 warning.
2309
7b61e609
VS
23102010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
2313 retrieve the metadat sector if size isn't known.
2314 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2315
9dfe92d0
RM
23162010-11-18 Robert Millan <rmh@gnu.org>
2317
2318 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
2319 with grub_memcmp().
2320
41cc919e
VS
23212010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
2324 arrow.
2325 Reported by: Jordan Uggla.
2326
1afcc914
VS
23272010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 Make better UTF compliant.
2330
2331 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
2332 sequences as incorrect.
2333 (grub_is_valid_utf8): Likewise.
2334 (grub_utf8_to_ucs4): Likewise.
2335 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
2336 (grub_ucs4_to_utf8_alloc): Likewise.
2337 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
2338
f1808884
VS
23392010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 Make legacy_source behave like source.
2342
2343 * grub-core/commands/legacycfg.c (legacy_file): Don't call
2344 grub_show_menu.
2345 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2346
24ec575b
CW
23472010-11-16 Colin Watson <cjwatson@debian.org>
2348
2349 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2350 (-Wunused implies -Wunused-parameter, but not vice versa).
2351
72b7c7aa
CW
23522010-11-16 Colin Watson <cjwatson@ubuntu.com>
2353
2354 * configure.ac: Make error messages less confusing by testing for
2355 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2356 accepted, but produces a diagnostic if something else is wrong).
2357
e98937aa
VS
23582010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2361 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2362 (now unused).
2363 (grub_keyboard_controller_init)
2364 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2365 read the initial state since controller isn't inited yet.
2366
f6bbabc3
VS
23672010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2370 allocate_regbeg may need to create new chunk header.
2371
22e7dbb2
VS
23722010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 Fix quoting in legacy parser.
2375
2376 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2377 single quotes.
2378 (grub_legacy_parse): Likewise.
2379 Reported by: Jordan Uggla.
2380 Tested by: Jordan Uggla.
2381
03f80960
VS
23822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Don't add -lgcc on i386 and x86_64.
2385
2386 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2387 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2388 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2389
779dc15b
VS
23902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * configure.ac: Add -Wno-trampolines when supported.
2393
d20a3b37
MV
23942010-11-14 Modestas Vainius <modax@debian.org>
2395
2396 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2397 fakeraid.
2398
e5360933
GC
23992010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2400
2401 Add generic logical block size support for UDF.
2402
2403 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2404 (GRUB_UDF_BLKSZ): Removed.
2405 (struct grub_udf_data): New field "lbshift" to hold the logical block
2406 size of the file system in log2 format. All users updated.
2407 (sblocklist): Change type to unsigned.
2408 (grub_udf_mount): Change type of "sblklist" to unsigned.
2409 Move AVDP search before VRS recognition, because the latter requires
2410 knowledge of the logical block size, which is detected during the
2411 former.
2412 Detect and validate logical block size during AVDP search, adding
2413 support for block sizes 512, 1024 and 4096.
2414 Make VRS recognition independent of block size.
2415
cb0229c5
GC
24162010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2417
2418 Properly handle deleted files on UDF.
2419
2420 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2421 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2422 set.
2423
406858a8
GC
24242010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2425
2426 Support reading files larger than 2 GiB.
2427
2428 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2429 "offset" to grub_off_t.
2430 (grub_udf_read_file): Likewise for parameter "pos".
2431
130da6a7
VS
24322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2435 unavailable.
2436 (Simple configuration): Refer to Changes from GRUB Legacy about
2437 save_env availability.
2438
65e93f6b
VS
24392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * util/grub-install.in: Ignore empty partition table detection
2442 instead of trying to include part_ module.
2443
1fd08bf1
VS
24442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2447 LVM on RAID support.
2448
de1a024f
VS
24492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Properly define WORDS_BIGENDIAN in wrapped environments.
2452
2453 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2454 definition.
2455 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2456
2457 Reported by: Manoel Rebelo Abranches.
2458 Tested by: Manoel Rebelo Abranches.
2459
bc5dd0b9
VS
24602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * util/grub-mkconfig.in: Fix quoting.
2463
58c184be
VS
24642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Support big ext2 files.
2467
2468 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2469 (grub_ext2_read_block): Support triple indirect blocks.
2470 (grub_ext2_read_file): Use 64-bit types and read size_high.
2471 (grub_ext2_open): Read size_high.
2472 Reported by: Ximin Luo.
2473 Tested by: Manoel Rebelo Abranches.
2474
5f0c02b3
VS
24752010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * util/grub-install.in: Handle filenames containing spaces.
2478 Reported by: Jordan Uggla.
2479 Tested by: Jordan Uggla.
2480
4417aae6
VS
24812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * util/grub-mkconfig.in (grub_script_check): New variable.
2484 Use grub_script_check instead of grub-script-check.
2485 Reported by: Barry Jackson.
2486
7625a68e
VS
24872010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * docs/grub.texi (menu): Correct the order.
2490 Reported by: D. Hugh Redelmeier.
2491
10001ac5
VS
24922010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2495 jump.
2496
9c4cf53b
MRA
24972010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2498
10001ac5
VS
2499 * include/grub/elfload.h (grub_elf32_size): New parameter.
2500 All users updated.
9c4cf53b
MRA
2501 Return maximum segments alignment.
2502 (grub_elf64_size): Likewise.
2503 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2504 Return maximum segments alignment.
2505 (grub_elf64_size): Likewise.
2506 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
2507 (grub_linux_claimmap_iterate): New function. Uses the
2508 "available" property in the "memory" node for memory allocation
2509 for kernel in the PowerPC loader.
9c4cf53b
MRA
2510 (grub_linux_load32): Correctly find linux entry point offset.
2511 (grub_linux_load64): Likewise.
2512
d2bf06bf
RM
25132010-11-07 Robert Millan <rmh@gnu.org>
2514
2515 On mips-yeeloong, build with -march=loongson2f when this flag is
2516 available (GCC >= 4.4).
2517 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2518 `-march=mips3'.
2519 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2520 or otherwise add -march=mips3.
2521
898c99a2
BC
25222010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2523
87220a68
BC
2524 Suppress shell expansion on echo '*' and echo "*" like cases.
2525 Reported by: Jordan Uggla.
898c99a2
BC
2526
2527 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2528 string arguments before shell expansion.
2529 * tests/grub_cmd_echo.in: New testcases.
2530
4f9b406a
RM
25312010-11-07 Robert Millan <rmh@gnu.org>
2532
2533 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2534 transition.
2535
80c6d25e
VS
25362010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/kern/emu/hostdisk.c
2539 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2540
4a1a0153
VS
25412010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2544 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2545 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2546
34706ddc
VS
25472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2550
6972dea9
VS
25512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub-install.in: Replace useless recomendation to pass
2554 --modules with a recomendation to report a bug.
2555
9c693bd6
VS
25562010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 Properly register serial terminfo.
2559 Reported by: Jordan Uggla
2560
2561 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2562 const.
2563 (grub_serial_terminfo_output_template): Likewise.
2564 (grub_cmd_serial): Register "serial" with terminfo.
2565 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2566 grub_serial_terminfo_output.
2567
6c9e4c0c
RM
25682010-11-05 Robert Millan <rmh@gnu.org>
2569
2570 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2571 needed).
2572
b9b3839f
RM
25732010-11-05 Robert Millan <rmh@gnu.org>
2574
2575 On Yeeloong, pass machine type information to Linux.
2576
2577 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2578 (LOONGSON_MACHTYPE): New macro, set to
2579 "machtype=lemote-yeeloong-2f-8.9inches".
2580 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2581 additional argument to Linux.
2582
1a3aaff4
RM
25832010-11-04 Robert Millan <rmh@gnu.org>
2584
2585 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2586 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2587 (its SATA disks are detected as slaveless IDE master drives on
2588 kFreeBSD).
2589 Reported by Carsten Aulbert.
2590
a75f4f62
CW
25912010-11-02 Colin Watson <cjwatson@ubuntu.com>
2592
2593 * util/bin2h.c (main): Fix spelling error in generated output.
2594
33b4b0c6
GS
25952010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2596
2597 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2598
2b36fbf4
VS
25992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2602 vga= option is supplied.
2603
74aaf558
VS
26042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2607 * util/grub.d/10_kfreebsd.in: Likewise.
2608 * util/grub.d/10_linux.in: Likewise.
2609 * util/grub.d/20_linux_xen.in: Likewise.
2610
6428dec3
VS
26112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2614 argument as an argument to no-argument option.
2615
f8729d98
VS
26162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * util/grub.d/10_linux.in: Add missing load_video with explicit
2619 GRUB_GFXPAYLOAD_LINUX.
2620
89d68fa6
VS
26212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2624
3a1197cd
VS
26252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2628 elements with invlid index.
2629 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2630 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2631 members.
2632 * include/grub/raid.h (grub_raid_member): New struct.
2633 (grub_raid_array): Transform devices and start_sector into usage of
2634 grub_raid_member. All users updated
2635 (allocated_devs): New member.
2636
71574288
VS
26372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2640 is modified
2641
8d40ec65
BC
26422010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2643
2644 NetBSD build fix for getline function conflict from gnulib.
2645
2646 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2647 components that depend on gnulib headers.
2648 (libgrubmods.a): Renamed from earlier libgrub.a.
2649 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2650
95b9257e
VS
26512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2654 install rather than creating a broken install.
2655
26c53dc6
VS
26562010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * util/grub-setup.c (argp): Remove misleading example of installing to
2659 a partition.
2660
4171b3c5
VS
26612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * util/grub-setup.c (setup): Clarify the error message.
2664
18568d18
VS
26652010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2668
4f6a2e21
VS
26692010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * grub-core/kern/emu/misc.c
2672 (grub_make_system_path_relative_to_its_root)
2673 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2674
26752010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
2676
2677 * grub-core/kern/emu/misc.c
2678 (grub_make_system_path_relative_to_its_root): Revert r2882.
2679
e138c458
VS
26802010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2683 useless field head. All users updated.
2684 (free_subchunk): Correct handling of IN_REGION subchunk.
2685
0cbcdf0e
CW
26862010-10-22 Colin Watson <cjwatson@ubuntu.com>
2687
2688 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2689 (Supported kernels): Likewise.
2690
b65ea155
GS
26912010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2692
2693 Make mktemp invocations portable.
2694
2695 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2696 exit if mktemp fails.
2697 * tests/grub_script_blockarg.in: Likewise.
2698 * tests/partmap_test.in: Likewise.
2699 * tests/util/grub-shell-tester.in: Likewise.
2700 * tests/util/grub-shell.in: Likewise.
2701 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2702 * Makefile.am: Likewise, and chain shell commands with `&&'
2703 instead of ';'.
2704 * util/grub-mkrescue.in: Use the same explicit template as above, and
2705 exit if mktemp fails.
2706
05f43cdd
BC
27072010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2708
2709 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2710 Linux kernel, reported by Dennis Schridde.
2711
800e6a9b
SJ
27122010-10-17 Szymon Janc <szymon@janc.net.pl>
2713
2714 * grub-core/normal/auth.c (grub_auth_check_authentication):
2715 Set-but-not-used variable removed.
2716
d82df574
VS
27172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2720 32-bit linux protocol.
2721
7bced458
VS
27222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2725 cursor shape for sanity.
2726
5b027690
VS
27272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * docs/grub.texi (Installation): Document buggy BIOS install.
2730
ba5f65cf
VS
27312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * docs/grub.texi (Installation): Indent.
2734
fdf2ec9c
VS
27352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * util/grub-setup.c (setup): New parameter allow_floppy.
2738 (arguments): New member allow_floppy.
2739 (argp_parser): Handle --allow-floppy.
2740 (main): Pass allow_floppy.
2741 * util/grub-install.in: New option --allow-floppy passed though to
2742 grub-setup.
2743
861dfd4c
VS
27442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * util/grub-install.in: Handle partitionless disks.
2747
f77a8c24
VS
27482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * util/grub-setup.c (setup): Don't clean blocklists before readability
2751 verfification.
2752
27d9ee32
VS
27532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * docs/grub.texi (Installation): Document embedding zone. Remove
2756 obsolete grub-install example.
2757
6bdda8f8
SJ
27582010-10-16 Szymon Janc <szymon@janc.net.pl>
2759
2760 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2761 Set-but-not-used variable ifdef'ed.
2762 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2763 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2764 variable removed.
2765 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2766 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2767 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2768 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2769 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2770 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2771 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2772 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2773 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2774 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2775 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2776 Likewise.
2777
e19b016b
VS
27782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2781 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2782 enum value.
2783
6c8d3002
VS
27842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2787 synonym to _S5_. Needed for some DSDTs.
2788
c32b51c9
VS
27892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Userspace ACPI parser debugging.
2792
2793 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2794 headers and add relevant defines. Don't include standard headers.
2795 (main) [GRUB_DSDT_TEST]: New function.
2796 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2797 Don't declare functions.
2798
fbfbeb39
VS
27992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 Remove dead grub_efi_mm_fini.
2802
2803 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2804 (ALLOCATED_PAGES_SIZE): Likewise.
2805 (MAX_ALLOCATED_PAGES): Likewise.
2806 (allocated_pages): Likewise.
2807 (grub_efi_allocate_pages): Don't record allocated pages.
2808 (grub_efi_free_pages): Likewise.
2809 (grub_efi_mm_init): Likewise.
2810 (grub_efi_mm_fini): Removed.
2811
65f7ed7c
VS
28122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2815 (grub_efi_mm_init): Take into account the memory map size increase.
2816
24977b44
VS
28172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2820 (serial_hw_put): Wait based on real time rather than port reads. Don't
2821 roken ports.
2822 * include/grub/serial.h (grub_serial_port): New field broken.
2823
1eb01cd2
RM
28242010-10-16 Robert Millan <rmh@gnu.org>
2825
2826 * grub-core/kern/emu/misc.c
2827 (grub_make_system_path_relative_to_its_root): Fix premature return
2828 when processing non-root ZFS filesystems.
5f8b440b 2829 Reported by Sergio Talens-Oliag.
1eb01cd2 2830
2d5fed60
RM
28312010-10-15 Robert Millan <rmh@gnu.org>
2832
2833 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2834 guarantee compressed ones are processed first.
2835
d0f4c1ea
VS
28362010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2839 grub_efiemu_autocore.
2840
d87c681f
VS
28412010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2844 rather than 0x1b.
2845 (grub_console_getkey): Use correct jae opcode rather than ja.
2846
219b3564
RM
28472010-10-12 Robert Millan <rmh@gnu.org>
2848
2849 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2850 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2851 variable. All references updated.
2852
2853 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2854
20c6bb7e
VS
28552010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 Correctly distinguish mdraid flavours.
2858
2859 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2860 (insert_array): New argument raid.
2861 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2862 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2863 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2864
74baff84
VS
28652010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2868 handling of special keys.
2869
3ef068df 28702010-10-02 Aleš Nesrsta <starous@volny.cz>
2871
c7980ad9
VS
2872 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2873 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 2874
a9455194 28752010-10-02 Aleš Nesrsta <starous@volny.cz>
2876
c7980ad9
VS
2877 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2878 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2879 users updated.
a9455194 2880 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 2881 Use right endpoint when querying descriptor.
a9455194 2882
441cfe65
VS
28832010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 Clear out 0x80 color bit on EFI.
2886 Tested by: decoder
2887 Reported by: decoder and meta tech.
2888
2889 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2890 (grub_console_setcolorstate): Clear out 0x80 bit.
2891 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2892 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2893 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2894
bf26bcc4
VS
28952010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2898 Set to "auto".
2899
6e3c515d
VS
29002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2903 mo_file after freeing.
2904
e6d983ba
VS
29052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2908
74ccb5b5
VS
29092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2912 flags.
2913
17821956
VS
29142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2917 usage.
2918
ee74fa48
VS
29192010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2922
2923 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2924 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2925 and terminfo.h when needed.
2926 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2927 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2928 (terminfo): Enable only on terminfokernel.
2929 (extcmd): Likewise.
2930 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2931 * include/grub/lib/arg.h: Likewise.
2932 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2933 incorrect usage of ->.
2934
aa438e68
VS
29352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2938 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2939
57994012
VS
29402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 Fix coreboot compilation.
2943
2944 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2945 Take VBE info into account even if only text is supported.
2946 (fill_vbe_info): Take into account the case when only VGA text
2947 is supported.
2948 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2949 on coreboot, multiboot and qemu.
2950
2a406611
VS
29512010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2954 debug messages.
2955 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2956
d33613fc
VS
29572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2960 parameters.
2961
44a1b432
VS
29622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2965 if they were BSD-style.
2966
edde54e6
VS
29672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/boot/i386/pc/lnxboot.S: Replace
2970 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2971 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2972
b65830fa
VS
29732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Write embedding zone using Reed-Solomon.
2976
2977 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2978 * grub-core/Makefile.am (rs_decoder.S): New target.
2979 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2980 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2981 (multiboot): Move to RS part.
2982 (post_reed_solomon): New label.
2983 (grub_boot_drive): Move to non-RS part since it's modified in memory
2984 on boot.
2985 Include rs_decoder.S.
2986 * grub-core/lib/reed_solomon.c: New file.
2987 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2988 New definition.
2989 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2990 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2991 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2992 * include/grub/partition.h (grub_partition_map): Change prototype of
2993 embed to allow returning additional sectors.
2994 * include/grub/reed_solomon.h: New file.
2995 * util/grub-setup.c (setup): Handle Reed-Solomon.
2996
0b4b227f
CW
29972010-09-28 Colin Watson <cjwatson@ubuntu.com>
2998
2999 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
3000 i386 and x86-64 definedness tests.
3001
f772623b
YB
30022010-09-27 Yves Blusseau <blusseau@zetam.org>
3003
3004 Fix generation of kernel_syms.lst
3005
3006 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
3007 ASM_PREFIX
3008
8e57a6ca
RM
30092010-09-26 Robert Millan <rmh@gnu.org>
3010
3011 Support degraded ZFS arrays in "grub-probe -t device" resolution.
3012
3013 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
3014 the pool is an array of devices, iterate through it and return the
3015 first device that passes a stat() test (instead of blindly returning
3016 the first one).
3017
f9130836
RM
30182010-09-26 Robert Millan <rmh@gnu.org>
3019
3020 Build fixes for GNU/kFreeBSD.
3021
3022 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
3023 to programs that require ZFS conversion.
3024 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
3025 kernels that don't have FLOPPY_MAJOR.
3026
96510faf
BC
30272010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
3028
3029 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
3030
449333eb
BC
30312010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
3032
3033 Fix grub-emu build.
3034
3035 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
3036 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
3037 mdraid09 and mdraid1x.
3038
e1fd1939
CW
30392010-09-24 Colin Watson <cjwatson@ubuntu.com>
3040
3041 Re-enable grub-extras.
3042
3043 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
3044 avoid confusing Automake. Run autogen only twice, once for the top
3045 level and once for grub-core. Add Makefile.util.def and
3046 Makefile.core.def from extra modules to the appropriate autogen
3047 invocations. If Makefile.common exists in an extra module, include
3048 it in both Makefile.util.am and grub-core/Makefile.core.am;
3049 similarly, include any Makefile.util.common file in Makefile.util.am
3050 and any Makefile.core.common file in grub-core/Makefile.core.am.
3051 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
3052 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
3053 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
3054 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
3055
3056 * gentpl.py (gvar_add): Turn GVARS into a set.
3057 (global_variable_initializers): Sort global variables on output.
3058 (vars_init): New function.
3059 (first_time): Likewise.
3060 (library): Ensure that non-global variable initialisations are
3061 emitted before the first time we emit code for a library block.
3062 Append to variables rather than setting them. Only emit
3063 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
3064 each conditional path.
3065 (program): installdir() emits an Autogen macro, so must be passed to
3066 var_add rather than gvar_add.
3067 (data): Likewise.
3068 (script): Likewise.
3069 (rules): New function, centralising handling for different target
3070 types. Set up Guile association lists for first_time and vars_init,
3071 and send most output to a diversion so that variable initialisations
3072 can be emitted first.
3073 (module_rules): Use new rules function.
3074 (kernel_rules): Likewise.
3075 (image_rules): Likewise.
3076 (library_rules): Likewise.
3077 (program_rules): Likewise.
3078 (script_rules): Likewise.
3079 (data_rules): Likewise.
3080
3081 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
3082
3083 * .bzrignore: Add contrib and grub-core/contrib. Remove
3084 grub-core/Makefile.gcry.am.
3085
1d12cf29
YB
30862010-09-24 Yves Blusseau <blusseau@zetam.org>
3087
3088 * grub-core/lib/LzFind.c: Add missing include.
3089 * grub-core/lib/LzmaEnc.c: Likewise.
3090 * grub-core/script/lexer.c: Likewise.
3091 * grub-core/script/yylex.l: Likewise.
3092 * util/grub-macho2img.c: Likewise.
3093 * util/grub-menulst2cfg.c: Likewise.
3094 * util/grub-mklayout.c: Likewise.
3095 * util/grub-mkpasswd-pbkdf2.c
3096 * util/grub-mkrelpath.c: Likewise.
3097 * util/resolve.c: Likewise.
3098
dd363028
BC
30992010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
3100
3101 * Makefile.util.def (example_unit_test): Add
3102 grub-core/gnulib/libgnu.a.
3103
f5a109e2
GS
31042010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
3105
3106 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
3107
6d0fa83c
VS
31082010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Support xz compression on yeeloong.
3111
3112 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
3113 * configure.ac: Check for LZMA.
3114 * grub-core/Makefile.core.def (xz_decompress): New target.
3115 (none_decompress): Likewise.
3116 * grub-core/boot/decompressor/minilib.c: New file.
3117 * grub-core/boot/decompressor/none.c: Likewise.
3118 * grub-core/boot/decompressor/xz.c: Likewise.
3119 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
3120 * grub-core/kern/mips/cache_flush.S: Likewise.
3121 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
3122 * grub-core/kern/mips/startup.S: Move first stage to ...
3123 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
3124 nomacro.
3125 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
3126 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
3127 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
3128 Allocate statically.
3129 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
3130 Allocate statically or use scratch. Don't check CRC32.
3131 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
3132 Allocate statically. Don't check CRC32.
3133 * include/grub/decompressor.h: New file.
3134 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
3135 Removed.
3136 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
3137 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
3138 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
3139 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
3140 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
3141 * util/grub-mkimage.c (grub_compression_t): New type.
3142 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
3143 (image_target_desc): New field default_compression.
3144 (image_targets): Adjust yeeloong targets.
3145 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
3146 (compress_kernel): New parameter comp.
3147 (generate_image): Likewise. Handle new compression case.
3148 (options): New option --compression
3149 (help): Likewise.
3150 (main): Handle new option.
3151
1b655af6
GS
31522010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
3153
3154 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
3155
8f03f0b5
CW
31562010-09-22 Colin Watson <cjwatson@ubuntu.com>
3157
3158 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
3159 typo in __i386__ conditional.
3160
7835dfd3
VS
31612010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
3164 include.
3165
e255597e
VS
31662010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3167
6d0fa83c 3168 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
3169
3170 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
3171 new tags as supported.
3172 (acpiv2_size): New function.
3173 (grub_multiboot_get_mbi_size): Take new tags into account.
3174 (grub_multiboot_make_mbi): Add new tags.
3175 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 3176
6cc14051 31772010-09-21 Aleš Nesrsta <starous@volny.cz>
3178
3179 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
3180 Added missing configuration of USB device.
3181
df7769d8
CW
31822010-09-21 Colin Watson <cjwatson@ubuntu.com>
3183
3184 * grub-core/normal/menu_entry.c (run): Make sure we always return
3185 a value.
3186
b031012d
CW
31872010-09-21 Colin Watson <cjwatson@ubuntu.com>
3188
3189 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
3190 NumberOfPages is UINT64 according to the UEFI specification, not
3191 UINTN. Fix printf format.
3192
174de8f3
CW
31932010-09-21 Colin Watson <cjwatson@ubuntu.com>
3194
3195 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
3196 `err' to grub_usb_err_t.
3197 Reported and tested by: KESHAV P.R.
3198
d7dbe923
CW
31992010-09-21 Colin Watson <cjwatson@ubuntu.com>
3200
3201 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
3202 tpart non-const, so that we can assign to it. (Since this is a
3203 typedef, the constness refers to the pointer rather than what it
3204 points to.)
3205
8d5e2af3
CW
32062010-09-21 Colin Watson <cjwatson@ubuntu.com>
3207
3208 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
3209 $(top_srcdir)/grub-core/gnulib as well as
3210 $(top_builddir)/grub-core/gnulib.
3211 Reported by: KESHAV P.R.
3212
5c527783
CW
32132010-09-21 Colin Watson <cjwatson@ubuntu.com>
3214
3215 * util/grub-install.in: Fix the bootloader ID option to be
3216 consistently --bootloader-id, not --bootloader_id.
3217 Reported by: KESHAV P.R.
3218
d309a16e
CW
32192010-09-21 Colin Watson <cjwatson@ubuntu.com>
3220
3221 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
3222 check hash checksum." consistently translatable.
3223
b830cd16
YB
32242010-09-21 Yves Blusseau <blusseau@zetam.org>
3225
3226 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
3227 $(top_builddir).
3228
c4fe27a8
CW
32292010-09-21 Colin Watson <cjwatson@ubuntu.com>
3230
3231 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
3232 (GRUB_MOD_INIT): Register sha1sum command.
3233 (GRUB_MOD_FINI): Unregister sha1sum command.
3234
a4c1d277
YB
32352010-09-21 Yves Blusseau <blusseau@zetam.org>
3236
3237 Keep boot and grub directory names in sync with utils scripts
3238
3239 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
3240 * config.h.in: Add previous macros.
3241 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
3242 * util/grub-install.in: Use $bootdir and $grubdir variables.
3243
4eff79d2
CW
32442010-09-21 Colin Watson <cjwatson@ubuntu.com>
3245
3246 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
3247 convert partition names to disk names if the new `convert' parameter
3248 is set.
3249 (grub_util_biosdisk_get_grub_dev): If opening the disk device
3250 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
3251 disk in its own right. This can happen with Xen disk images.
3252
934d7e44
YB
32532010-09-21 Yves Blusseau <blusseau@zetam.org>
3254
3255 * util/grub-editenv.c: Update strings to avoid warnings when generating
3256 grub.pot file.
3257 * util/grub-setup.c: Likewise.
934d7e44 3258
df3367cc
VS
32592010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * configure.ac: Change version to 1.99~beta0.
3262
77a94e98
VS
32632010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3266 Add BADRAM.
3267 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
3268 Likewise.
3269 * include/multiboot.h: Resynced with specification.
3270 * include/multiboot2.h: Likewise.
3271
269004c1
CW
32722010-09-21 Colin Watson <cjwatson@ubuntu.com>
3273
3274 Fix po directory handling.
3275
3276 * configure.ac: Create po/Makefile.in rather than po/Makefile.
3277 * grub-core/gnulib/Makefile.am: Import gettext module.
3278 * m4/gnulib-cache.m4: Likewise.
3279 * m4/gnulib-comp.m4: Likewise.
3280 * m4/gettext.m4: New file, from gnulib.
3281 * m4/glibc2.m4: Likewise.
3282 * m4/iconv.m4: Likewise.
3283 * m4/intdiv0.m4: Likewise.
3284 * m4/intl.m4: Likewise.
3285 * m4/intldir.m4: Likewise.
3286 * m4/intlmacosx.m4: Likewise.
3287 * m4/intmax.m4: Likewise.
3288 * m4/inttypes-pri.m4: Likewise.
3289 * m4/lcmessage.m4: Likewise.
3290 * m4/lib-ld.m4: Likewise.
3291 * m4/lib-link.m4: Likewise.
3292 * m4/lib-prefix.m4: Likewise.
3293 * m4/lock.m4: Likewise.
3294 * m4/nls.m4: Likewise.
3295 * m4/po.m4: Likewise.
3296 * m4/printf-posix.m4: Likewise.
3297 * m4/progtest.m4: Likewise.
3298 * m4/threadlib.m4: Likewise.
3299 * m4/uintmax_t.m4: Likewise.
3300 * m4/visibility.m4: Likewise.
3301 * po/Makefile.am: Remove.
3302 * po/Makefile.in.in: New file, from gettext.
3303 ($(DOMAIN).pot-update): Support POTFILES-shell.
3304 * po/Makevars: New file.
3305 * po/POTFILES-shell: Rename to ...
3306 * po/POTFILES-shell.in: ... this. Update.
3307 * po/POTFILES: Rename to ...
3308 * po/POTFILES.in: ... this. Update.
3309 * po/Rules-quot: New file, from gettext.
3310 * po/boldquot.sed: Likewise.
3311 * po/en@boldquot.header: Likewise.
3312 * po/en@quot.header: Likewise.
3313 * po/insert-header.sin: Likewise.
3314 * po/quot.sed: Likewise.
3315 * po/remove-potcdate.sin: Likewise.
3316
3e0fa5d0
VS
33172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
3320
ade9bd66
VS
33212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * util/grub.d/20_linux_xen.in: Use submenus.
3324
fc55cc4c
VS
33252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 Support submenus.
3328
3329 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
3330 parameter submenu. All users updated.
3331 * grub-core/normal/main.c (free_menu): Rename to ...
3332 (grub_normal_free_menu): ... this. Made global.
3333 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
3334 if requested.
3335 * grub-core/normal/menu_entry.c (screen): New field submenu.
3336 (make_screen): Set submenu.
3337 (run): Open new context if requested.
3338 * include/grub/menu.h (grub_menu_entry): New field submenu.
3339 * include/grub/normal.h (grub_normal_free_menu): New proto.
3340
600cedf7
VS
33412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 Menu entries extractor.
3344
3345 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3346 variants.
3347 (GRUB_MOD_INIT): Register new variants.
3348 (GRUB_MOD_FINI): Unregister new variants.
3349 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3350 into grub_cmd_legacy_source.
3351 (grub_cmd_legacy_source): Implement extractor variants.
3352 (GRUB_MOD_INIT): Register new variants.
3353 (GRUB_MOD_FINI): Unregister new variants.
3354 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3355 as an extractor.
3356 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3357 search as an extractor.
3358 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3359 test as an extractor.
3360 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3361 as an extractor.
3362 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3363 (grub_env_new_context): New function.
3364 (grub_env_context_open): Likewise.
3365 (grub_env_extractor_open): Likewise.
3366 (grub_env_extractor_close): Likewise.
3367 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3368 grub_extractor_level.
3369 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3370 * include/grub/env.h (grub_env_extractor_open): New proto.
3371 (grub_env_extractor_close): Likewise.
3372 * include/grub/normal.h (grub_extractor_level): New external variable.
3373
7bda3a87
VS
33742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Make cutmem accept a region specification.
3377 Suggested by: Samuel Thibault
3378
3379 * grub-core/mmap/mmap.c (parsemem): New function.
3380 (grub_cmd_cutmem): Handle new arguments.
3381
2ea57f88
VS
33822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 New command cutmem.
3385
3386 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3387 (GRUB_MOD_INIT): Register new command.
3388 (GRUB_MOD_FINI): Unregister new command.
3389
74342e31
VS
33902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 Support some annoying BSD and Minix subpartitions.
3393
3394 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3395 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3396 Properly handle concatenation.
3397 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3398 * grub-core/normal/completion.c (iterate_partition): Likewise.
3399 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3400 contain partition. All users updated.
3401 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3402 struct.
3403 (grub_openbsdlabel_partition_map): Likewise.
3404 (bsdlabel_partition_map_iterate): Rename to ..
3405 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3406 (bsdlabel_partition_map_iterate): New function.
3407 (netopenbsdlabel_partition_map_iterate): Likewise.
3408 (netbsdlabel_partition_map_iterate): Likewise.
3409 (openbsdlabel_partition_map_iterate): Likewise.
3410 (GRUB_MOD_INIT): Register new partmaps.
3411 (GRUB_MOD_FINI): Unregister new partmaps.
3412 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3413 (grub_partition_msdos_iterate): ... this. All users updated.
3414 Don't support embedding other than in a minix partition.
3415 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3416 proto.
3417 * include/grub/partition.h (grub_partition): New field msdostype.
3418 * util/grub-install.in: Handle openbsd and netbsd types being in
3419 part_bsd module.
3420
1e8d555b
VS
34212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3424
3425 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3426 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3427 (mdraid09): ... this.
3428 (mdraid1x): New module.
3429 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3430 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3431
899d8af4
VS
34322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3435 vsprintf.
3436
40901acd
CW
34372010-09-20 Colin Watson <cjwatson@ubuntu.com>
3438
3439 * grub-core/commands/efi/lsefimmap.c: Correct header.
3440 * NEWS: Update.
3441
dfe3b247
CW
34422010-09-20 Colin Watson <cjwatson@ubuntu.com>
3443
3444 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3445 as printf format strings; the translations might contain '%' which
3446 could cause a crash.
3447 (main): Likewise.
3448 * util/grub-fstest.c (argp_parser): Likewise.
3449 * util/grub-setup.c (argp_parser): Likewise.
3450 (main): Likewise.
3451
3286a4b4
VS
34522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 Use argp in grub-fstest.
3455
3456 * util/grub-fstest.c: Don't include getopt.h.
3457 Include argp.h.
3458 (root): New variable.
3459 (args_count): Likewise.
3460 (nparm): Likewise.
3461 (num_disks): Likewise.
3462 (images): Likewise.
3463 (cmd): Likewise.
3464 (debug_str): Likewise.
3465 (args): Likewise.
3466 (options): Transformed to argp.
3467 (usage): Removed.
3468 (main): Split argument parsing into ...
3469 (argp_parser): ... this. Changed to argp format.
3470 (argp): New variable.
3471 (main): Use argp_parse.
3472
3dccbe4b
TG
34732010-09-20 Tristan Gingold <gingold@free.fr>
34742010-09-20 Robert Millan <rmh.grub@aybabtu.com>
34752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/commands/efi/lsefimmap.c: New file.
3478 * grub-core/Makefile.core.def (lsefimmap): New module.
3479 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3480
38c259a7
VS
34812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 Pause the execution (10s max) if any errors are displayed so the user
3484 has a chance to see them.
3485
3486 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3487 (grub_print_error): Increment grub_err_printed_errors.
3488 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3489 execution if any errors were displayed.
3490 (show_menu): Remove old code for pause.
3491 * grub-core/normal/menu_entry.c (run): Likewise.
3492 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3493 users updated.
3494 (grub_normal_get_char_counter): Likewise.
3495 * include/grub/err.h (grub_err_printed_errors): New external variable.
3496 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3497
f218b09c
VS
34982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 Support multiboot VBE info.
3501
3502 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3503 Take VBE info into account.
3504 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3505 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3506 Call fill_vbe_info when appropriate.
3507 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3508 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3509 as supported.
3510 (grub_multiboot_get_mbi_size): Take new tags into account.
3511 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3512 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3513 Call fill_vbe_tag when appropriate.
3514 (grub_multiboot_make_mbi): Properly align tags.
3515 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3516 function.
3517 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3518 proto.
3519 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3520
a9cc5438
VS
35212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 Suport manual terminal geometry specification.
3524
3525 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3526 Save state in grub_ofconsole_terminfo_output.
3527 (grub_ofconsole_term): Use grub_terminfo_getwh.
3528 (grub_ofconsole_getwh): Removed.
3529 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3530 (grub_serial_term): Use grub_terminfo_getwh.
3531 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3532 (options): New struct.
3533 (OPTION_*): New enum.
3534 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3535 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3536 width and height.
3537 (grub_terminfo_getwh): New proto.
3538 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3539
1a8fed20
VS
35402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 Handle legacy "terminal" command.
3543
3544 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3545 and FLAG_TERMINAL.
3546 (legacy_commands): Add terminal and title.
3547 (grub_legacy_parse): Handle terminal. Simplify title handling.
3548
41e9c57d
VS
35492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3552 parameters overflow.
3553
61c874c5
CW
35542010-09-20 Colin Watson <cjwatson@ubuntu.com>
3555
3556 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3557 widthspec.h.
3558
3559 * docs/grub.texi (Shell-like scripting): Document `!'.
3560 (Network): Simplify using new i386-pc-pxe format. Mention
3561 grub-mknetdir.
3562
3563 * NEWS: Update.
3564
943682b4
CW
35652010-09-20 Colin Watson <cjwatson@ubuntu.com>
3566
3567 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3568 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3569 when needed.
3570
6d3d698d
CW
35712010-09-20 Colin Watson <cjwatson@ubuntu.com>
3572
3573 * grub-core/commands/efi/lsefisystab.c: Correct header.
3574 * grub-core/commands/efi/lssal.c: Likewise.
3575 * grub-core/commands/testload.c: Likewise.
3576
c982589f
CW
35772010-09-20 Colin Watson <cjwatson@ubuntu.com>
3578
3579 * util/grub-mkrescue.in: Add explicit root argument to --set to
3580 prevent the UUID being interpreted as an argument to --set (matches
3581 previous change to prepare_grub_to_access_device).
3582
a63c31b6
CW
35832010-09-20 Colin Watson <cjwatson@ubuntu.com>
3584
3585 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3586 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3587 the verbosity of later #ifs.
3588 (find_partition_start): Define this function on FreeBSD too.
3589 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3590 function.
3591 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3592 on FreeBSD.
3593
6439b8ee
YB
35942010-09-20 Yves Blusseau <blusseau@zetam.org>
3595
3596 * util/grub-editenv.c: Use argp instead of getopt.
3597
c5930ec8
YB
35982010-09-20 Yves Blusseau <blusseau@zetam.org>
3599
3600 * util/grub-setup.c: Use argp instead of getopt.
3601
15c69261
YB
36022010-09-20 Yves Blusseau <blusseau@zetam.org>
3603
3604 Use gnulib-tool to create gnulib source files.
3605
3606 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3607 grub-core/gnulib directories
3608 * .bzignore: Add **/.deps and autogenerated gnulib files
3609 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3610 of gnulib macros, add grub-core/gnulib/Makefile
3611 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3612 include m4 directory to aclocal.
3613 * Makefile.util.def: Remove direct compilation of gnulib source files
3614 and use the new grub-core/gnulib/libgnu.a.
3615 * build-aux/config.rpath: move config.rpath from top directory to
3616 build-aux
3617 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3618 in gnulib headers
3619 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3620 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3621 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3622 header.
3623 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3624 string.
3625
e511c9f5
YB
36262010-09-20 Yves Blusseau <blusseau@zetam.org>
3627
3628 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3629 grub-core/genmod.sh and grub-core/gensyminfo.sh
3630
c2dede05
BC
36312010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3632
3633 Add a test for echo command options.
3634
3635 * tests/grub_cmd_echo.in: New test.
3636 * Makefile.util.def: Rules for new test.
3637
c55f5018
SJ
36382010-09-20 Szymon Janc <szymon@janc.net.pl>
3639
3640 Remove crc.mod and move crc command to hashsum.mod.
3641 Remove lib/crc.c - users updated to use gcrypt implementation.
3642
3643 * grub-core/commands/crc.c: Removed.
3644 * grub-core/Makefile.core.def (crc): Module removed.
3645 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3646 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3647 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3648 * grub-core/lib/crc.c: Removed.
3649 * include/grub/lib/crc.h: Removed.
3650 * Makefile.util.def (crc): Remove lib/crc.c
3651 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3652 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3653 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3654 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3655 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3656 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3657
e0337366
VS
36582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3661
742f9232
VS
36622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 Split config.h for util and core.
3665
3666 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3667 (ADDR32): Likewise.
3668 (DATA32): Likewise.
3669 (BSS_START_SYMBOL): Likewise.
3670 (END_SYMBOL): Likewise.
3671 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3672 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3673 * config.h.in: New file.
3674 * configure.ac: Use config-util.h as config define file.
3675 Rename MACHINE into GRUB_MACHINE. All users updated.
3676 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3677 updated.
3678 (NESTED_FUNC_ATTR): Likewise.
3679 Substitue new variables.
3680 (COND_HAVE_ASM_USCORE): New conditional.
3681 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3682 (kernel_syms.lst): Use ASM_PREFIX.
3683 * grub-core/kern/emu/console.c: Include config-util.h.
3684 * grub-core/kern/emu/misc.c: Likewise.
3685 * grub-core/kern/emu/mm.c: Likewise.
3686 * include/grub/emu/misc.h: Likewise.
3687 * include/grub/libgcc.h: Likewise.
3688
39feb0e8
VS
36892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3692 constants usage.
3693 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3694 Fix GRUB_TERM_KEY_* constants usage.
3695 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3696
9af6dac3
VS
36972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3700 print pointer.
3701 * grub-core/bus/usb/uhci.c: Remove empty define.
3702 (grub_uhci_check_transfer): Add missing cast.
3703 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3704 print pointer.
3705 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3706 PRIuGRUB_SIZE.
3707 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3708
d6d94820
VS
37092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/Makefile.core.def (legacycfg): Add
3712 lib/i386/pc/vesa_modes_table.c on emu.
3713
3572f2b6
BC
37142010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3715
3716 Reduce number of temporary files generated by build system.
3717
3718 * grub-core/gencmdlist.sh: Removed.
3719 * grub-core/genfslist.sh: Removed.
3720 * grub-core/genhandlerlist.sh: Removed.
3721 * grub-core/genmodsrc.sh: Removed.
3722 * grub-core/genpartmaplist.sh: Removed.
3723 * grub-core/genparttoollist.sh: Removed.
3724 * grub-core/gentermiinallist.sh: Removed.
3725 * grub-core/genvideolist.sh: Removed.
3726
3727 * grub-core/genmod.sh.in: New file.
3728 * grub-core/gensyminfo.sh.in: New file.
3729
3730 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3731 * conf/Makefile.extra-dist: Update with new files.
3732 * gentpl.py: Remove rules related to unnecessary temporary files.
3733 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3734 and und-* files.
3735 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3736 genmod.sh scripts.
3737 * grub-core/bus/usb/uhci.c: Remove empty #define.
3738 * grub-core/genmoddep.awk: Updated with new syminfo format.
3739 * util/bash-completion.d/Makefile.am: Add config.log to
3740 CLEANFILES.
3741
c836b030
YB
37422010-09-19 Yves Blusseau <blusseau@zetam.org>
3743
3744 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3745
2f4e8053
BC
37462010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3747
3748 * util/grub-mkconfig.in: Check the config script for syntax errors
3749 before saving.
3750
75831c34
CW
37512010-09-19 Colin Watson <cjwatson@ubuntu.com>
37522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3755 platforms.
3756 * util/grub-install.in: Add EFI and IEEE1275 support.
3757 * util/i386/efi/grub-install.in: Removed.
3758 * util/ieee1275/grub-install.in: Likewise.
3759
eaf41b25
VS
37602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3763 (grub_cmd_cmosclean): Likewise.
3764 (GRUB_MOD_INIT): Register command cmosclean.
3765 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3766 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3767
1a9130dd
CPE
37682010-09-18 Carles Pina i Estany <carles@pina.cat>
37692010-09-18 Aleš Nesrsta <starous@volny.cz>
37702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 Add keyboard layouts support.
3773
3774 * Makefile.util.def (grub-mklayout): New file.
3775 (grub-kbdcomp): New script.
3776 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3777 Add keyboard_layouts.h.
3778 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3779 commands/boot.c on yeeloong.
3780 (keylayouts): New module.
3781 * grub-core/bus/usb/ohci.c
3782 * grub-core/bus/usb/uhci.c
3783 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3784 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3785 (attach_root_port): Likewise.
3786 (poll_nonroot_hub): Likewise.
3787 (grub_usb_poll_devices): Likewise.
3788 (detach_device): Close transfer.
3789 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3790 function.
3791 (grub_usb_bulk_setup_readwrite): Likewise.
3792 (grub_usb_bulk_finish_readwrite): Likewise.
3793 * grub-core/commands/keylayouts.c: New file.
3794 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3795 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3796 aliases.
3797 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3798 support scancode 2.
3799 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3800 * include/grub/keyboard_layouts.h: New file.
3801 * util/grub-mklayout.c: New file.
3802 * util/grub-kbdcomp.in: Likewise.
3803
a1d84a5e
VS
38042010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 Unify memory types.
3807
3808 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3809 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3810 types.
3811 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3812 (grub_upper_mem): Likewise.
3813 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3814 * include/grub/memory.h (grub_memory_type_t): New enum.
3815 All users updated.
3816
9696382e
VS
38172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/Makefile.core.def (lsapm): New module.
3820 * grub-core/commands/i386/pc/lsapm.c: New file.
3821 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3822 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3823 Likewise.
3824 * include/grub/i386/pc/apm.h: New file.
3825 * include/multiboot.h (multiboot_apm_info): New struct.
3826
38272010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 GRUB-legacy configuration file support.
3830
3831 * Makefile.util.def (grub-menulst2cfg): New util.
3832 * docs/man/grub-menulst2cfg.h2m: New file.
3833 * grub-core/Makefile.core.def (legacycfg): New module.
3834 * grub-core/commands/legacycfg.c: New file.
3835 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3836 (grub_normal_add_menu_entry): ... this.
3837 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3838 (grub_normal_set_password): ...this.
3839 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3840 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3841 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3842 * grub-core/lib/legacy_parse.c: New file.
3843 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3844 * include/grub/i386/pc/vesa_modes_table.h: New file.
3845 * include/grub/legacy_parse.h: Likewise.
3846 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3847 * util/grub-menulst2cfg.c: New file.
3848
bf8d1338
CW
38492010-09-17 Colin Watson <cjwatson@ubuntu.com>
3850
3851 * grub-core/kern/emu/hostdisk.c
3852 (convert_system_partition_to_system_disk): Initialise node.
3853
9c0bad2e
CW
38542010-09-17 Colin Watson <cjwatson@ubuntu.com>
3855
3856 * grub-core/kern/emu/hostdisk.c
3857 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3858 leak.
3859 Reported and based on patch by: Modestas Vainius.
3860
a939d135
CW
38612010-09-17 Colin Watson <cjwatson@ubuntu.com>
3862
3863 Fix DM-RAID probing with recent versions of device-mapper udev
3864 rules.
3865
3866 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3867 canonicalise device paths under /dev/mapper/.
3868 (convert_system_partition_to_system_disk): Compare the
3869 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3870 path, since device nodes under /dev/mapper/ are often symlinks.
3871
0f7ee3c9
YB
38722010-09-17 Yves Blusseau <blusseau@zetam.org>
3873
3874 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3875
10854d0d
YB
38762010-09-16 Yves Blusseau <blusseau@zetam.org>
3877
3878 * configure.ac: Avoid some annoying error messages if freetype-config
3879 program is not found.
3880
108538d8
CW
38812010-09-16 Colin Watson <cjwatson@ubuntu.com>
3882
3883 Support RAID on virtio devices, and others.
3884
3885 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3886 Rename to ...
3887 [__MINGW32__] (grub_find_device): ... this.
3888 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3889 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3890 reasonable default if dir is NULL.
3891 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3892 ...
3893 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3894 (grub_guess_root_device): Update callers.
3895 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3896
3897 * util/raid.c (grub_util_getdiskname): Remove.
3898 (grub_util_raid_getmembers): Use grub_find_device rather than
3899 grub_util_getdiskname.
3900
e5bfc130
CW
39012010-09-16 Colin Watson <cjwatson@ubuntu.com>
3902
3903 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3904 needing to be compiled with serial support.
3905 (ls): Indicate that multiple files are accepted.
3906 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3907 indicate that multiple files are accepted.
3908
be458ae2
CW
39092010-09-16 Colin Watson <cjwatson@ubuntu.com>
3910
3911 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3912 libgrub_a_init.c, and util/bash-completion.d/grub.
3913
cb731b5e
VS
39142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * util/grub-setup.c (setup): Fix incorrect container semantics.
3917
35139e8a
VS
39182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3921 misusage.
3922 Reported by: J. Nick Terry
3923
e50fca4a
VS
39242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 Move embedding routines to partmap sources files.
3927
3928 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3929 [GRUB_UTIL]: New variable.
3930 (gpt_partition_map_iterate): Set part.parent.
3931 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3932 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3933 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3934 New function.
3935 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3936 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3937 (grub_partition_map) [GRUB_UTIL]: New field embed.
3938 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3939 (setup): Use ->embed.
3940
f00478b7
VS
39412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3944 function.
3945 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3946 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3947
2b94e3ff
YB
39482010-09-15 Yves Blusseau <blusseau@zetam.org>
3949
3950 Add function to get completions from usage.
3951
3952 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3953 completions from usage. Use LC_ALL=C to get options properly.
3954
2e04a006
VS
39552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/gnulib/basename-lgpl.c: Imported.
3958 * grub-core/gnulib/basename.c: Likewise.
3959 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3960 * grub-core/gnulib/dirname.c: Likewise.
3961 * grub-core/gnulib/dirname.h: Likewise.
3962 * grub-core/gnulib/stripslash.c: Likewise.
3963
5dcdf93a
VS
39642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/gnulib/error.c: Resynced.
3967 * grub-core/gnulib/getopt.c: Likewise.
3968 * grub-core/gnulib/getopt_int.h: Likewise.
3969 * grub-core/gnulib/regex.h: Likewise.
3970 * grub-core/gnulib/regex_internal.c: Likewise.
3971 * grub-core/gnulib/regex_internal.h: Likewise.
3972
014f47b7
SJ
39732010-09-15 Szymon Janc <szymon@janc.net.pl>
3974
3975 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3976 CRC calculations and validity checks.
3977 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3978 calculations.
3979
dd521a4a
SJ
39802010-09-15 Szymon Janc <szymon@janc.net.pl>
3981
3982 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3983
79c4eeb9
VS
39842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 Fix incorrect echo options handling.
3987 Reported by: Yves Blusseau.
3988
3989 * include/grub/command.h (grub_command_flags_t): New flags
3990 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3991 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3992 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3993
ed80f7d5
VS
39942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3997 users updated.
3998 (GRUB_COMMAND_FLAG_MENU): Likewise.
3999 (GRUB_COMMAND_FLAG_BOTH): Likewise.
4000 (GRUB_COMMAND_FLAG_TITLE): Removed.
4001 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
4002 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
4003 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
4004 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
4005 (grub_command_flags_t): New enum. All users updated.
4006
5fe7620a
SG
40072010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
4008
4009 Fix solaris compilation.
4010
4011 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
4012 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
4013 (grub-emu-list): Likewise.
4014
545b752f
VS
40152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 Remove deprecated root command.
4018
4019 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
4020 updated.
4021
6c1a338c
VS
40222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * util/i386/pc/grub-setup.c: Merge this ...
4025 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
4026 * util/grub-setup.c: ... into this.
4027 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
4028 New struct.
4029
40302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
4033 possible.
4034
d2ea4551
VS
40352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
4038 allocate p.
4039
3c3b5040
VS
40402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4043 explicit root argument to set to prevent UUID to be interpreted as
4044 argument to set.
4045
b71c3fae
VS
40462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
4049
275433e6
VS
40502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 Don't export grub_gate_a20.
4053
4054 * grub-core/kern/i386/pc/init.c: Remove leftovers.
4055 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
4056 to ...
4057 (grub_gate_a20): ... this. All users updated.
4058 * include/grub/i386/pc/init.h: Removed. All users updated.
4059
a5dbb1f1
VS
40602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 Create euro.pf2 which supports most European languages.
4063
4064 * Makefile.am (grubdata_DATA): Add euro.pf2.
4065 (euro.pf2): New target.
4066 (CLEANFILES): Add euro.pf2.
4067
62a747cb
VS
40682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * configure.ac: Disable emu-usb by default to prevent inadvertent
4071 device takeover.
4072
608e43b1
VS
40732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 Disable usbserial on grub-emu since our libusb code isn't good enough
4076 yet.
4077
4078 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
4079 (usbserial_pl2303): Likewise.
4080 (usbserial_ftdi): Likewise.
4081
94564f81
VS
40822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * include/grub/disk.h (grub_disk): Remove has_partitions.
4085 All users updated.
4086 * disk/loopback.c (grub_loopback): Remove has_partitions.
4087 All users updated.
4088 (options): Remove partitions. All users updated.
4089 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
4090 * util/i386/pc/grub-setup.c (setup): copy partition table only when
4091 actual partition table is found.
4092
3352800b
VS
40932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 Remove readability checks (too many false negatives).
4096
4097 * util/grub-install.in: Remove readability checks.
4098 * util/grub-mkconfig.in: Likewise.
4099 * util/grub.d/10_hurd.in: Likewise.
4100 * util/grub.d/10_kfreebsd.in: Likewise.
4101 * util/grub.d/10_linux.in: Likewise.
4102 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
4103 way.
4104
2419f17a
VS
41052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Enable acpi shutdown on all ACPI platforms.
4108
4109 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
4110 on coreboo, multiboot and EFI.
4111 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
4112 (grub_acpi_halt): Likewise.
4113 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
4114 (grub_cmd_halt): Don't call grub_acpi_halt directly.
4115 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
4116 * grub-core/lib/i386/halt.c (grub_halt)
4117 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
4118
0575c7c3
VS
41192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
4122 context.
4123
54ac3cd1
VS
41242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/video/efi_gop.c: Fix over-80-chars line.
4127 * grub-core/video/efi_uga.c: Likewise.
4128
b2a30ac5
VS
41292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 Filter devaliases and never open same device twice.
4132
4133 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
4134 (last_ihandle): Likewise.
4135 (ofdisk_hash_ent): New member shortest.
4136 (ofdisk_hash_add): Add canonical path too.
4137 (scan): New function.
4138 (grub_ofdisk_iterate): Iterate over hashed entries.
4139 (compute_dev_path): Don't add :0.
4140 (grub_ofdisk_open): Don't really open the disk.
4141 (grub_ofdisk_close): Avoid closing unrelated disk.
4142 (grub_ofdisk_read): Implement reopen logic.
4143 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
4144 New function.
4145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
4146 New proto.
4147
fb53b340
VS
41482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Fix sparc64.
4151
4152 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
4153 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
4154 right address. Add sparc64_ieee1275_ldflags.
4155 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
4156 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
4157 to grub_host_to_target_addr
4158 (load_image): Likewise.
4159
f452b040
VS
41602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/normal/completion.c (complete_file): Handle device
4163 containing slash.
4164 Fix based on patch by Doug Nazar.
4165
9b5b2541
VS
41662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 grub-mknetdir script.
4169
4170 * Makefile.util.def (grub-mknetdir): New module.
4171 * tests/util/grub-shell.in: Support boot=net
4172 * util/grub-mknetdir.in: New file.
4173
9d2be652
VS
41742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 videoinfo on non-vbe.
4177
4178 * grub-core/Makefile.core.def (vbeinfo): Removed.
4179 (vbetest): Removed.
4180 (videoinfo): New module.
4181 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
4182 * grub-core/commands/i386/pc/vbetest.c: Removed.
4183 * grub-core/commands/videoinfo.c: New file.
4184 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
4185 specification.
4186 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
4187 as vbetest.
4188 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
4189 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
4190 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
4191 mode_number. New parameter mode. All users updated.
4192 (grub_video_gop_iterate): New function.
4193 (grub_video_efi_gop): New member iterate.
4194 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
4195 (grub_vbe_set_video_mode): Remove setting useless fields.
4196 (vbe2videoinfo): New function.
4197 (grub_video_vbe_iterate): Likewise.
4198 (grub_video_vbe_setup): Use vbe2videoinfo.
4199 (grub_video_vbe_print_adapter_specific_info): New function.
4200 (grub_video_vbe_adapter): New fields iterate and
4201 print_adapter_specific_info.
4202 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
4203 All users updated.
4204 (grub_video_mode_info): New field mode_number.
4205 (grub_video_adapter): New fields iterate and
4206 print_adapter_specific_info.
4207
179503f5
TG
42082010-09-13 Tristan Gingold <gingold@free.fr>
42092010-09-13 Robert Millan <rmh.grub@aybabtu.com>
42102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/commands/efi/lsefisystab.c: New file.
4213 * grub-core/commands/efi/lssal.c: Likewise.
4214 * grub-core/Makefile.core.def (lsacpi): New module.
4215 (lsefisystab): Likewise.
4216 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
4217 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
4218 (grub_efi_sal_system_table): New struct.
4219 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
4220 (grub_efi_sal_system_table_memory_descriptor): Likewise.
4221 (grub_efi_sal_system_table_platform_features): Likewise.
4222 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
4223 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
4224 (grub_efi_sal_system_table_ap_wakeup): Likewise.
4225 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
4226
cf9827de
VS
42272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 Support explicit user claim that a device is BIOS-visible.
4230
4231 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
4232 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
4233 * grub-core/kern/emu/hostdisk.c
4234 (convert_system_partition_to_system_disk): Support mdX.
4235 (find_system_device): New parameter add. All users updated.
4236 (grub_util_biosdisk_is_present): New function.
4237 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
4238 proto.
4239
53f0eb1f
VS
42402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 Search hints support.
4243
4244 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
4245 All users updated.
4246
b23ffd70
YB
42472010-09-13 Yves Blusseau <blusseau@zetam.org>
4248
4249 Bash completion script for util commands
4250
4251 * Makefile.am: Add util/bash-completion.d directory
4252 * configure.ac: Likewise.
4253 * util/bash-completion.d/Makefile.am: New file.
4254 * util/bash-completion.d/grub-completion.bash.in: Likewise.
4255
d547dc28
VS
42562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
4259 (print_backlog): set backlog_ucs4 and backlog_glyphs.
4260 Reported by: Yves Blusseau.
4261
2fc8ccb9
VS
42622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
4265 partition size and offset.
4266
d8a84076
VS
42672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
4270
84fb3b3d
VS
42712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
4274
768ec2e2
VS
42752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
4278 (grub_xvasprintf): Likewise.
4279
4870900f
VS
42802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
4283
faca6bec
VS
42842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
4287 args ending with NULL.
4288
42892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
4290
4291 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
4292 pointer.
4293
3c70f225
SJ
42942010-09-11 Szymon Janc <szymon@janc.net.pl>
4295
4296 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
4297
4df7996d
VS
42982010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 Shutdown using ACPI.
4301
4302 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
4303 * grub-core/commands/acpihalt.c: New file.
4304 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
4305 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
4306 (grub_acpi_halt): New proto.
4307 (GRUB_ACPI_SLP_EN): New const.
4308 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
4309 (GRUB_ACPI_OPCODE_*): New enum.
4310 (GRUB_ACPI_EXTOPCODE_*): Likewise.
4311
126b4c32
TG
43122010-09-11 Tristan Gingold <gingold@free.fr>
43132010-09-11 Robert Millan <rmh.grub@aybabtu.com>
43142010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * commands/lsacpi.c: New file.
4317 * grub-core/Makefile.core.def (lsacpi): New module.
4318 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
4319 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
4320 (grub_acpi_madt_entry_header): New struct.
4321 (grub_acpi_madt): Likewise.
4322 (grub_acpi_madt_entry_interrupt_override): Likewise.
4323 (grub_acpi_madt_entry_sapic): Likewise.
4324 (grub_acpi_madt_entry_lsapic): Likewise.
4325 (grub_acpi_madt_entry_platform_int_source): Likewise.
4326 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
4327 (PRIuGRUB_UINT32_T): Likewise.
4328 (PRIxGRUB_UINT64_T): Likewise.
4329
1aa4fe88
VS
43302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 Implement loading palette on ieee1275_fb.
4333
4334 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
4335 (have_setcolors): Likewise.
4336 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
4337 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
4338 (grub_video_ieee1275_set_palette): Implement.
4339
25761e13
VS
43402010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
43412010-09-11 Colin Watson <cjwatson@ubuntu.com>
4342
4343 * util/grub-install.in (grub_partition): New variable.
4344 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4345 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4346 Fixes a bug reported by Yves Blusseau.
4347
050abaea
VS
43482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 Fix emu on mipsel.
4351
4352 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4353 =grub_cpu_flush_cache on all mips and not only yeeloong.
4354 * configure.ac (COND_mips): New conditional.
4355 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4356 platforms.
4357 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4358 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4359 [GRUB_LINKER_HAVE_INIT]: New function.
4360 (grub_emu_post_init): Likewise.
4361 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4362 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4363 * include/grub/cache.h (_mips): Include mips/cache.h.
4364 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4365 LVM and RAID prototypes.
4366 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4367 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4368 function.
4369
5ed7d816
CW
43702010-09-10 Colin Watson <cjwatson@ubuntu.com>
4371
4372 * util/grub-install.in: Don't try to verify core.img until after
4373 running grub-mkimage to create it.
4374
90367e04
RM
43752010-09-10 Robert Millan <rmh@gnu.org>
4376
4377 * util/grub.d/10_hurd.in: Add misc readability checks.
4378 * util/grub.d/10_kfreebsd.in: Likewise.
4379 * util/grub.d/10_linux.in: Likewise.
4380
c452fa66
CW
43812010-09-10 Colin Watson <cjwatson@ubuntu.com>
4382
4383 * util/grub-install.in: ${imgext} won't be defined here until the
4384 install branch is merged. For the meantime, only verify core.img on
4385 i386-pc and sparc64-ieee1275 platforms.
4386
c38fe9f4
RM
43872010-09-10 Robert Millan <rmh@gnu.org>
4388
4389 Solaris support in grub_find_zpool_from_dir(). Thanks
4390 Seth Goldberg for referring to getextmntent() facility.
4391
4392 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4393 `sys/mkdev.h'.
4394 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4395 `<sys/mnttab.h>'.
4396 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4397 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4398 method for finding zpool name.
4399
905f7773
CW
44002010-09-10 Colin Watson <cjwatson@ubuntu.com>
4401
4402 grub-fstest needs the host and hostfs modules while other utilities
4403 actively require those modules to be absent, so grub-fstest needs
4404 its own initialisation and finalisation code.
4405
4406 * Makefile.am (grub_fstest.pp): New target.
4407 (grub_fstest_init.lst): Likewise.
4408 (grub_fstest_init.c): Likewise.
4409 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4410
fb90b546
RM
44112010-09-10 Robert Millan <rmh@gnu.org>
4412
4413 * configure.ac: Check for `struct statfs.f_fstypename' and
4414 `struct statfs.f_mntfromname'.
4415
4416 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4417 kFreeBSD-specific code.
4418
66d4bea5
RM
44192010-09-10 Robert Millan <rmh@gnu.org>
4420
4421 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4422 on ZFS. Now non-main filesystems are supported as / too.
4423
b6a690ee
CW
44242010-09-09 Colin Watson <cjwatson@ubuntu.com>
4425
4426 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4427 and grub-core/disk/host.c to ...
4428 (grub-fstest): ... here. Having the host disk implementation
4429 present confuses grub-probe and other utility programs.
4430
4431 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4432 when writing to a file, not when writing to stdout.
4433
8901b00c 44342010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4435
4436 * tests/partmap_test.in: New test for partitions.
4437 * Makefile.util.def: Rules for new test.
4438
7bf45fdd
RM
44392010-09-09 Robert Millan <rmh@gnu.org>
4440
4441 * util/grub-probe.c (probe): Fix a pair of unhandled error
4442 conditions.
4443
4dfbc574
RM
44442010-09-09 Robert Millan <rmh@gnu.org>
4445
4446 Basic Btrfs support (detection and UUID).
4447
4448 * grub-core/fs/btrfs.c: New file.
4449 * Makefile.util.def (library): Register btrfs.c.
4450 * grub-core/Makefile.core.def: Likewise.
4451
6b8e78ae
RM
44522010-09-08 Robert Millan <rmh@gnu.org>
4453
4454 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4455 with (optional) parameters to specify device and relative path.
4456 * util/grub-install.in: Use is_path_readable_by_grub() to
4457 verify readability of a few critical files.
4458 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4459 verify readability of grub.cfg.new.
4460
27f21a8b
VS
44612010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 Split minix.mod into minix.mod and minix2.mod.
4464
4465 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4466 * grub-core/Makefile.core.def (minix2): New module.
4467 * grub-core/fs/minix.c: Use definitions instead of runtime version
4468 checking.
4469 * grub-core/fs/minix2.c: New file.
4470
c0e53ea5
YB
44712010-09-08 Yves Blusseau <blusseau@zetam.org>
4472
4473 Add new --boot-directory option to replace --root-directory
4474
4475 * util/grub-install.in: Add new --boot-directory option
4476 * util/grub-reboot.in: Likewise.
4477 * util/grub-set-default.in: Likewise.
4478
b9fe6ea2
YB
44792010-09-08 Yves Blusseau <blusseau@zetam.org>
4480
4481 * util/grub-mkconfig.in: Use new variable.
4482
d87aedff
YB
44832010-09-08 Yves Blusseau <blusseau@zetam.org>
4484
4485 * configure.ac: Define some useful variables.
4486
e55e8495
VS
44872010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4490 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4491 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4492 Use terminfo and don't use cursor-on/cursor-off unless it's known
4493 to work.
4494 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4495 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4496
6fa6d675
CW
44972010-09-08 Colin Watson <cjwatson@ubuntu.com>
4498
4499 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4500 starts with "(,", fill the drive containing the loaded image in
4501 between those two characters, but expect that a full partition
4502 specification including partition map names will follow.
4503
92f2aef0
RM
45042010-09-08 Robert Millan <rmh@gnu.org>
4505
4506 * configure.ac: Remove `--enable-grub-fstest' option.
4507 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4508
4509 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4510 `grub-fstest' instead of `grub-probe' for readability verification.
4511 * util/grub-probe.c (probe): Remove readability verification kludge.
4512
99fd620d
RM
45132010-09-08 Robert Millan <rmh@gnu.org>
4514
4515 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4516 initializing `GRUB_FS'.
4517
058e30ac 45182010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4519
4520 Not command (!) support to GRUB script.
4521
4522 * tests/grub_script_not.in: New test.
4523 * Makefile.util.def: Rules for new test.
4524
4525 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4526 ! command as a special case.
4527 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4528
b61d05ed 45292010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4530
058e30ac 4531 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4532 grub_free.
b61d05ed 4533
4d69c786 45342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4535
4536 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4537
aa3119c4 45382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4539
4540 * docs/grub.texi (Shell-like scripting): Documentation for break,
4541 continue, shift and return commands.
4542
db0f7e3d
VS
45432010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Rename CD-ROM to cd on BIOS.
4546
4547 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4548 "cd".
4549 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4550
88b87c93
VS
45512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4554 * util/grub-probe.c (main): Likewise.
4555 * util/i386/pc/grub-setup.c (main): Likewise.
4556 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4557 Reported and debugged by: alexxy
4558
294f324d
VS
45592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4562 diagnostic info.
4563
d7ee3441
JS
45642010-09-05 Jo Shields <directhex@apebox.org>
4565
4566 * util/grub.d/30_os-prober.in: Add missing classes.
4567
d7e06c1f
VS
45682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * docs/grub.texi (Theme file format): Document new position format.
4571
fc157e53
VS
45722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4575 a table. Use @code instead of @verbatim.
4576
506e9a1c
CB
45772010-09-05 Colin D Bennett <colin@gibibit.com>
4578
4579 Gfxmenu documentation.
4580
4581 * docs/grub.texi (Theme file format): New chapter.
4582
f0aff67c
SJ
45832010-09-05 Szymon Janc <szymon@janc.net.pl>
4584
4585 * grub-core/Makefile.core.def (xzio): New module.
4586 * grub-core/io/xzio.c: New file.
4587 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4588 * grub-core/lib/xzembed/xz_config.h: Likewise.
4589 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4590 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4591 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4592 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4593 * grub-core/lib/xzembed/xz_private.h: Likewise.
4594 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4595 * include/grub/file.h (grub_file_filter_id): New compression filter
4596 GRUB_FILE_FILTER_XZIO.
4597
82a85062
VS
45982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4601 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4602 size.
4603
3579415d
VS
46042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4607 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4608
5124ae6d
VS
46092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 Uncompressed checksum support.
4612
4613 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4614 (check_list): New parameter uncompress.
4615 (grub_cmd_hashsum): Handle --uncompress.
4616
9aadb3d1
VS
46172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 Reintroduce testload.
4620
4621 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4622 from here ...
4623 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4624 (GRUB_MOD_INIT): New function.
4625 (GRUB_MOD_FINI): Likewise.
4626 * grub-core/Makefile.core.def (testload): New module.
4627
a17792c3
SJ
46282010-09-05 Szymon Janc <szymon@janc.net.pl>
4629
4630 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4631 (uint8_t): New type.
4632 (uint16_t): Likewise.
4633 (uint32_t): Likewise.
4634 (uint64_t): Likewise.
4635
b81e40a3
SJ
46362010-09-05 Szymon Janc <szymon@janc.net.pl>
4637
4638 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4639
fc2ef117
VS
46402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4643 Made static.
4644 (grub_gzfile_open): Removed. All users updated.
4645 (GRUB_MOD_INIT): New function.
4646 (GRUB_MOD_FINI): Likewise.
4647 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4648 (grub_file_filters_enabled): Likewise.
4649 (grub_file_open): Handle filters.
4650 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4651 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4652 * include/grub/file.h (grub_file_filter_id_t): New type.
4653 (grub_file_filter_t): Likewise.
4654 (grub_file_filters_all): New extern variable.
4655 (grub_file_filters_enabled): Likewise.
4656 (grub_file_filter_register): New inline function.
4657 (grub_file_filter_unregister): Likewise.
4658 (grub_file_filter_disable): Likewise.
4659 (grub_file_filter_disable_compression): Likewise.
4660 * include/grub/gzio.h: Removed.
4661
35ee15e0
BC
46622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4663
4664 Filename expansion support for wildcards in GRUB script.
4665
4666 * tests/grub_script_expansion.in: New test.
4667 * Makefile.util.def: Rule for new test.
4668
4669 * grub-core/commands/wildcard.c: New file, implements filename
4670 expansion support for GRUB script.
4671 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4672 * grub-core/script/argv.c: Cosmetic changes.
4673 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4674 Refactored to perform wildcard expansion on arguments.
4675 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4676 struct.
4677
4678 * tests/util/grub-shell.in: Fix quoting for read input.
4679
5f0c4aca
BC
46802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4681
4682 Support for updating environment variables with matched substrings
4683 of regexp.
4684
4685 * tests/grub_cmd_regexp.in: New test.
4686 * Makefile.util.def: Rule for new test.
4687
4688 * grub-core/commands/regexp.c: New option -s to update environment
4689 variables with regexp matches.
4690
3759a35f
SJ
46912010-09-04 Szymon Janc <szymon@janc.net.pl>
4692
4693 * include/grub/file.h (grub_file): New member not_easly_seekable.
4694 (grub_file_seekable): New inline function.
4695 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4696 easily seekable.
4697 (grub_gzio_open): Set not_easly_seekable.
4698 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4699 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4700
ed8c6dec
BC
47012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4702
4703 Support for options to appear multiple times on cmdline.
4704
4705 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4706 * grub-core/commands/extcmd.c: Support for repeatable option.
4707 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4708 repeatable option support.
4709
4710 Refactor menuentry into a regular command.
4711
4712 * grub-core/commands/menuentry.c: New file, menuentry command
4713 implementation.
4714 * grub-core/Makefile.core.def: Rule update for normal.mod.
4715 * grub-core/normal/main.c: Moved menuentry creation to
4716 grub-core/commands/menuentry.c.
4717 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4718 (grub_menu_execute_entry_real): Removed.
4719 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4720 function.
4721 (grub_script_execute_menuentry): Removed.
4722 * grub-core/script/parser.y (menuentry): Removed.
4723 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4724 * grub-core/script/yylex.l (menuentry): Removed.
4725 * include/grub/menu.h (grub_menu_init): New prototype.
4726 (grub_menu_fini): New prototype.
4727 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4728 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4729 (grub_script_execute_sourcecode): New prototype.
4730
dacd0cf0
BC
47312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4732
4733 "return" command for GRUB script functions.
4734
4735 * tests/grub_script_return.in: New test.
4736 * Makefile.util.def: Rules for new test.
4737
4738 * grub-core/script/execute.c (grub_script_return): New function.
4739 * grub-core/script/main.c: Register/unregister return commaond.
4740 * include/grub/script_sh.h (grub_script_return): New prototype.
4741
52e72f9d
BC
47422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4743
4744 "setparams" command to update positional parameters.
4745
4746 * tests/grub_script_setparams.in: New test.
4747 * Makefile.util.def: Rules for new test.
4748
4749 * grub-core/script/argv.c (grub_script_argv_make): New function.
4750 * grub-core/script/execute.c (replace_scope): New function.
4751 (grub_script_setparams): New function.
4752 * grub-core/script/lexer.c: Remove unused variables.
4753 * grub-core/script/main.c: Register/unregister setparams command.
4754 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4755 (grub_script_setparams): New prototype.
4756
25b60c91
BC
47572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4758
4759 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4760 grub_free order.
4761
37e7bf68
BC
47622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4763
4764 Support for passing block of commands as an argument to extcmds.
4765
4766 * Makefile.util.def: Rules for new test.
4767 * tests/grub_script_blockarg.in: New test.
4768 * grub-core/tests/test_blockarg.c: New file, block argument
4769 command used in the test.
4770
4771 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4772 (grub_register_extcmd_prio): New function prototype.
4773 (grub_extcmd_dispatcher): New function prototype.
4774 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4775 type.
4776 * include/grub/script_sh.h (struct grub_script): New members
4777 `children', `next_siblings' and `refcnt' for block arguments and
4778 reference counting.
4779 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4780 (grub_script_arg): New member `script' for block argument.
4781 (grub_script_argv): New member `script' for block argument.
4782 (grub_parser_param): New member `scripts' for block argument.
4783 (grub_script_mem_free): New extern function prototype.
4784 (grub_script_ref): New function prototype.
4785 (grub_script_unref): New function prototype.
4786
4787 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4788 extcmd form to support block arguments.
4789 * grub-core/script/argv.c: Block arguments support.
4790 * grub-core/script/execute.c: Likewise.
4791 * grub-core/script/lexer.c: Likewise.
4792 * grub-core/script/main.c: Likewise.
4793 * grub-core/script/script.c: Likewise.
4794 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4795 non-terminals.
4796
4797 * grub-core/commands/acpi.c: Update extcmd implementations with
4798 grub_extcmd_context_t.
4799 * grub-core/commands/cat.c: Likewise.
4800 * grub-core/commands/echo.c: Likewise.
4801 * grub-core/commands/extcmd.c: Likewise.
4802 * grub-core/commands/hashsum.c: Likewise.
4803 * grub-core/commands/hdparm.c: Likewise.
4804 * grub-core/commands/help.c: Likewise.
4805 * grub-core/commands/hexdump.c: Likewise.
4806 * grub-core/commands/i386/cpuid.c: Likewise.
4807 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4808 * grub-core/commands/i386/pc/halt.c: Likewise.
4809 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4810 * grub-core/commands/iorw.c: Likewise.
4811 * grub-core/commands/keystatus.c: Likewise.
4812 * grub-core/commands/loadenv.c: Likewise.
4813 * grub-core/commands/ls.c: Likewise.
4814 * grub-core/commands/lspci.c: Likewise.
4815 * grub-core/commands/memrw.c: Likewise.
4816 * grub-core/commands/probe.c: Likewise.
4817 * grub-core/commands/search_wrap.c: Likewise.
4818 * grub-core/commands/setpci.c: Likewise.
4819 * grub-core/commands/sleep.c: Likewise.
4820 * grub-core/disk/loopback.c: Likewise.
4821 * grub-core/hello/hello.c: Likewise.
4822 * grub-core/loader/i386/bsd.c: Likewise.
4823 * grub-core/loader/xnu.c: Likewise.
4824 * grub-core/term/gfxterm.c: Likewise.
4825 * grub-core/term/serial.c: Likewise.
4826 * grub-core/tests/lib/functional_test.c: Likewise.
4827
888d1500
BC
48282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4829
4830 Multi-line quoted strings support.
4831
4832 * grub-core/script/lexer.c (append_newline): Removed.
4833 (grub_script_lexer_yywrap): Refactored.
4834 (grub_script_lexer_init): Refactored.
4835 * grub-core/script/yylex.l (yywrap): New function.
4836 (grub_lexer_resplit): New function.
4837 (grub_lexer_unput): New function.
4838 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4839 and resplit.
4840 * tests/grub_script_echo1.in: Added few more testcases.
4841
dda060dd
VS
48422010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/kern/misc.c: Don't add abort alias in utils.
4845 Reported by: echoline.
4846
6556eba9
BC
48472010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4848
4849 Add missing files into "make dist" tarball for other platforms.
4850
4851 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4852 * conf/Makefile.common (dist_noinst_DATA): New variable.
4853 * conf/Makefile.extra-dist: Added missing make dist files.
4854 * grub-core/Makefile.core.def: Likewise.
4855
c8e7bf5f
VS
48562010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Compress grub_prefix.
4859
4860 * grub-core/boot/i386/pc/lnxboot.S: Use
4861 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4862 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4863 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4864 GRUB_MACHINE_PREFIX_END. All users updated.
4865 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4866 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4867 + 0x40.
4868 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4869 * util/grub-mkimage.c (image_target_desc): Change data_end to
4870 prefix_end. All users updated.
4871
a7c00cdb
VS
48722010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4875 value.
4876 (grub_openbsd_boot): Likewise.
4877 (grub_netbsd_boot): Likewise.
4878 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4879 (grub_xnu_boot): Likewise.
4880
9f915872
VS
48812010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * configure.ac: Clean LIBS variable after tests.
4884
efa1bee7
CW
48852010-09-02 Colin Watson <cjwatson@ubuntu.com>
4886
4887 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4888
61d720e5
VS
48892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4892 echo if libdevmapper will be used.
4893
ef8e0ec8
IT
48942010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4895
4896 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4897 constant for the same file.
4898
03e261d8
VS
48992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4902
c2a4eba6
CW
49032010-09-02 Colin Watson <cjwatson@ubuntu.com>
4904
4905 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4906 grub-core/*.pp.
4907
9056cbf3
CW
49082010-09-02 Colin Watson <cjwatson@ubuntu.com>
4909
4910 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4911 required by the boot protocol.
4912
4913 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4914 ebp and edi members.
4915 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4916 state.ebp and state.edi.
4917 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4918 %ebp and %edi according to grub_relocator32_ebp and
4919 grub_relocator32_edi respectively.
4920 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4921 and state.edi.
4922
529cc99a
VS
49232010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 Add i386-pc-pxe image target.
4926
4927 * util/grub-mkimage.c (image_target_desc): New enum value
4928 IMAGE_I386_PC_PXE.
4929 (image_targets): New target i386-pc-pxe.
4930 (generate_image): Handle i386-pc-pxe image.
4931
9a093920
VS
49322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 Fix grub_pxe_scan.
4935
4936 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4937 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4938 All users updated.
4939 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4940 (grub_pxe_pxenv): Correct type.
4941
f9cefc4e
CW
49422010-09-01 Colin Watson <cjwatson@ubuntu.com>
4943
4944 * NEWS: Document most of the important changes since 1.98.
4945
4066f57f
CW
49462010-09-01 Colin Watson <cjwatson@ubuntu.com>
4947
4948 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4949 generated manual page) a little.
4950
da2891f9
CW
49512010-09-01 Colin Watson <cjwatson@ubuntu.com>
4952
4953 * docs/grub.texi: Add myself as an author.
4954
ad717fae
VS
49552010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * Makefile.util.def (libgrub.a): Add missing sunpc.
4958 Reported by: Seth Goldberg.
4959
eefe8abd
VS
49602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 Interrupt wrapping and code simplifications.
4963
9494ef9a
VS
4964 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4965 x86_noieee1275 which are functionaly equivalent in this case.
4966 (grub-install): Make source on each platform explicit. Enable on
4967 all noemu.
4968 * gentpl.py (x86_efi_pc): Removed group.
4969 (x86_noefi): Likewise.
4970 (i386_noefi): Likewise.
4971 (x86_noieee1275): Likewise.
4972 (i386_noieee1275): Likewise.
4973 (i386_noefi_noieee1275): Likewise.
4974 (i386_pc_qemu_coreboot): Likewise.
4975 (i386_coreboot_multiboot): Likewise.
4976 (i386_pc_coreboot_multiboot_qemu): Likewise.
4977 (x86_noefi_mips): Likewise.
4978 (noieee1275): Likewise.
4979 (ieee1275_mips): Likewise.
4980 (noemu_noieee1275): Likewise.
4981 (cmos): New group.
4982 (usb): Likewise.
4983 (videoinkernel): Likewise.
4984 (videomodules): Likewise.
eefe8abd 4985 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
4986 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4987 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4988 include/grub/loader.h, include/grub/msdos_partition.h,
4989 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4990 include/grub/machine/console.h, include/grub/machine/vga.h,
4991 include/grub/machine/vbe.h, include/grub/machine/init.h,
4992 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4993 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 4994 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
4995 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4996 * grub-core/Makefile.core.def (kernel): Explicit the source for
4997 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4998 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4999 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
5000 Use videoinkernel tag.
5001 (usb): Enable on all usb.
5002 (usbserial_common): Likewise.
5003 (usbserial_pl2303): Likewise.
5004 (usbserial_ftdi): Likewise.
5005 (uhci): Enable on all x86.
5006 (ohci): Enable on all pci.
5007 (cmostest): Enable on all CMOS.
5008 (acpi): Include commands/acpi.c on all platforms.
5009 (halt): Add relevant lib/*/halt.c.
5010 (hdparm): Enable on all pci.
5011 (lspci): Likewise.
5012 (usbtest): Enable on all usb.
5013 (ata): Enable on all pci.
5014 (ata_pthru): Likewise.
5015 (usbms): Enable on all usb.
5016 (usb_keyboard): Likewise.
5017 (font): Use tag videomodules.
5018 (bufio): Likewise.
5019 (datetime): Use tag cmos. Enable on all noemu.
5020 (mmap): Use tags common and x86.
5021 (gfxterm): Use tag videomodules.
5022 (bitmap): Likewise.
5023 (bitmap_scale): Likewise.
5024 (video_fb): Likewise.
5025 (video): Likewise.
5026 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
5027 adjust padding accordingly. All users updated.
5028 (grub_ohci_transaction): Fix bad format specification.
5029 (GRUB_MOD_INIT): Add asserts for struct size.
5030 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
5031 (grub_alloc_td): Likewise.
5032 (grub_free_queue): Likewise.
5033 (grub_uhci_transfer): Likewise.
5034 (grub_uhci_transaction): Fix bad format specification.
5035 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5036 (grub_usb_bulk_readwrite): Likewise.
5037 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
5038 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
5039 Made static.
5040 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
5041 Made static.
5042 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
5043 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
5044 Transformed into C.
5045 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
5046 Moved from here ...
5047 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
5048 ... here. Transformed into C. Made static.
5049 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
5050 Moved from here ...
5051 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
5052 ... here. Transformed into C. Made static.
5053 * grub-core/kern/i386/pc/startup.S
5054 (grub_biosdisk_check_int13_extensions): Moved from here ...
5055 * grub-core/disk/i386/pc/biosdisk.c
5056 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
5057 Made static.
5058 * grub-core/kern/i386/pc/startup.S
5059 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
5060 * grub-core/disk/i386/pc/biosdisk.c
5061 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
5062 Transformed into C. Made static.
5063 * grub-core/kern/i386/pc/startup.S
5064 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
5065 * grub-core/disk/i386/pc/biosdisk.c
5066 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
5067 Transformed into C. Made static.
5068 * grub-core/kern/i386/pc/startup.S
5069 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
5070 * grub-core/disk/i386/pc/biosdisk.c
5071 (grub_biosdisk_get_diskinfo_standard): ... here.
5072 Transformed into C. Made static.
5073 * grub-core/kern/i386/pc/startup.S
5074 (grub_biosdisk_get_num_floppies): Moved from here ...
5075 * grub-core/disk/i386/pc/biosdisk.c
5076 (grub_biosdisk_get_num_floppies): ... here.
5077 Transformed into C. Made static.
5078 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
5079 New function.
5080 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
5081 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
5082 Transformed into C. Made static.
5083 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
5084 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
5085 Transformed into C. Made static.
5086 * grub-core/kern/i386/ieee1275/init.c: Removed.
5087 * grub-core/kern/i386/misc.S: Likewise.
5088 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
5089 Splitted from here ...
5090 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
5091 Transformed into C. Made static. All users updated.
5092 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
5093 Transformed into C. Made static. All users updated.
5094 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
5095 Moved from here...
5096 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
5097 Transformed into C. Made static. All users updated.
5098 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
5099 Moved from here...
5100 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
5101 Transformed into C. Made static. All users updated.
5102 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
5103 Removed (replaced by C version).
5104 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
5105 Moved from here...
5106 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
5107 Transformed into C. Made static.
5108 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
5109 Moved from here...
5110 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
5111 ... here. Transformed into C.
5112 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
5113 Moved from here...
5114 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
5115 ... here. Transformed into C.
5116 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
5117 Moved from here...
5118 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
5119 ... here. Transformed into C. Made static.
5120 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
5121 Moved from here...
5122 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
5123 ... here. Transformed into C.
21ed554b
VS
5124 * grub-core/kern/i386/pc/startup.S
5125 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
5126 * grub-core/video/i386/pc/vbe.c
5127 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
5128 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
5129 Moved from here...
5130 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
5131 ... here. Transformed into C.
5132 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
5133 Moved from here...
5134 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
5135 ... here. Transformed into C.
5136 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
5137 Moved from here...
5138 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
5139 ... here. Transformed into C.
5140 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
5141 Moved from here...
5142 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
5143 ... here. Transformed into C.
5144 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
5145 Moved from here...
5146 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
5147 ... here. Transformed into C. Made static.
5148 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
5149 Moved from here...
5150 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
5151 ... here. Transformed into C. Made static.
5152 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
5153 Moved from here...
5154 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
5155 ... here. Transformed into C. Made static.
5156 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
5157 pxe_rm_entry as third argument.
5158 (grub_bios_interrupt): New function.
5159 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
5160 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
5161 of calling grub_stop.
5162 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
5163 * grub-core/lib/efi/halt.c (grub_halt): ...here.
5164 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
5165 * grub-core/lib/emu/halt.c (grub_halt): ... here.
5166 * grub-core/lib/i386/halt.c: Moved from here ...
5167 * grub-core/lib/i386/halt.c: ... here.
5168 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
5169 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
5170 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
5171 grub_stop_floppy.
5172 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
5173 * include/grub/i386/coreboot/init.h: Removed.
5174 * include/grub/i386/multiboot/init.h: Likewise.
5175 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
5176 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
5177 * include/grub/i386/pc/int.h: New file.
5178 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
5179 (grub_pxe_scan): Removed.
5180 (grub_pxe_call): Update prototype.
5181 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
5182 prototypes.
5183 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
5184 * include/grub/i386/qemu/init.h: Removed.
5185 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
5186 noreturn.
5187 (grub_halt): Likewise.
5188 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
5189 (grub_reboot): Likewise.
5190 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
5191 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
5192 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
5193
215dd471
RM
51942010-08-30 Robert Millan <rmh@gnu.org>
5195
5196 * NEWS: Document addition of ZFS support in `grub-install' and
5197 `grub-mkconfig'.
5198
ebd65b82
BC
51992010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
5200
5201 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
5202 dprintf output.
5203
11721d19
VS
52042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 Remove leftover embedding of font objects.
5207
5208 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5209 * util/grub-install.in (font): Removed.
5210 * util/grub-mkimage.c (generate_image): Remove font support. All users
5211 updated.
5212
37837d4e
VS
52132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 Remove leftover embedding of font objects.
5216
5217 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5218 * util/grub-install.in (font): Removed.
5219 * util/grub-mkimage.c (generate_image): Remove font support. All users
5220 updated.
5221
b4c1aae0
VS
52222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 5225 Reported by: Ian Turner
b4c1aae0 5226
8920a08d
VS
52272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
5230 timeout to avoid indefinite boot stalling.
5231
f21db033
VS
52322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
5235 (grub_env_write_color_highlight): Likewise.
5236
9a9de209
VS
52372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/normal/term.c (print_more): Return to normal and not
5240 to standard state after printing "---MORE---".
5241
3dca01d7
VS
52422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
5245 Mask out the bit 0x80 since it has other meaning that specifiing color.
5246
0b986c40
VS
52472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 New relocator. Allows for more kernel support and more straightforward
5250 loader writing.
5251
5252 * Makefile.am (BOOTTARGET): New variable.
5253 (QEMU32): Likewise.
5254 (linux.init.x86_64): New target.
5255 (linux.init.i386): Likewise.
5256 (multiboot.elf): Likewise.
5257 (kfreebsd.elf): Likewise.
5258 (kfreebsd.aout): Likewise.
5259 (pc-chainloader.elf): Likewise.
5260 (pc-chainloader.bin): Likewise.
5261 (ntldr.elf): Likewise.
5262 (ntldr.bin): Likewise.
5263 (multiboot2.elf): Likewise.
5264 (kfreebsd.init.x86_64): Likewise.
5265 (kfreebsd.init.i386): Likewise.
5266 (knetbsd.init.i386): Likewise.
5267 (kopenbsd.init.i386): Likewise.
5268 (knetbsd.init.x86_64): Likewise.
5269 (kopenbsd.init.x86_64): Likewise.
5270 (linux-initramfs.i386): Likewise.
5271 (linux-initramfs.x86_64): Likewise.
5272 (kfreebsd-mfsroot.i386.img): Likewise.
5273 (knetbsd.image.i386): Likewise.
5274 (kopenbsd.image.i386): Likewise.
5275 (kopenbsd.image.x86_64): Likewise.
5276 (knetbsd.miniroot-image.i386.img): Likewise.
5277 (kfreebsd-mfsroot.x86_64.img): Likewise.
5278 (knetbsd.image.x86_64): Likewise.
5279 (knetbsd.miniroot-image.x86_64.img): Likewise.
5280 (kfreebsd-mfsroot.i386.gz): Likewise.
5281 (bootcheck-kfreebsd-i386): Likewise.
5282 (kfreebsd-mfsroot.x86_64.gz): Likewise.
5283 (bootcheck-kfreebsd-x86_64): Likewise.
5284 (knetbsd.miniroot-image.i386.gz): Likewise.
5285 (bootcheck-knetbsd-i386): Likewise.
5286 (bootcheck-kopenbsd-i386): Likewise.
5287 (bootcheck-kopenbsd-x86_64): Likewise.
5288 (knetbsd.miniroot-image.x86_64.gz): Likewise.
5289 (bootcheck-knetbsd-x86_64): Likewise.
5290 (bootcheck-linux-i386): Likewise.
5291 (bootcheck-linux-x86_64): Likewise.
5292 (bootcheck-linux16-i386): Likewise.
5293 (bootcheck-linux16-x86_64): Likewise.
5294 (bootcheck-multiboot): Likewise.
5295 (bootcheck-multiboot2): Likewise.
5296 (bootcheck-kfreebsd-aout): Likewise.
5297 (bootcheck-pc-chainloader): Likewise.
5298 (bootcheck-ntldr): Likewise.
5299 (CLEANFILES): Add new targets.
5300 (BOOTCHECKS): New variable.
5301 (.PHONY): Add bootchecks.
5302 (SUCCESSFUL_BOOT_STRING): New variable.
5303 (BOOTCHECK_TIMEOUT): Likewise.
5304 (bootcheck): New target
5305 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
5306 * configure.ac: Correct efiemu excuse.
5307 * docs/grub.texi (Supported kernels): New chapter.
5308 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
5309 include/grub/mm_private.h. Simplify inclusion of
5310 include/grub/boot.h, include/grub/loader.h
5311 and include/grub/msdos_partition.h
5312 (KERNEL_HEADER_FILES) [i386_coreboot]:
5313 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
5314 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
5315 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
5316 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
5317 include/grub/machine/loader.h.
5318 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
5319 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
5320 extra_dist.
5321 (pci.mod): Enable on i386-multiboot.
5322 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
5323 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
5324 i386-qemu.
5325 (relocator.mod): Rewritten.
5326 (aout.mod): Enable on all x86.
5327 (bsd.mod): Likewise.
5328 (ntldr.mod): New module.
5329 (linux.mod): Use loader/i386/linux.c on all x86.
5330 (xnu.mod): Enable on all x86.
5331 (vga_text.mod): disable on EFI and QEMU.
5332 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
5333 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
5334 * grub-core/efiemu/loadcore.c: Likewise.
5335 * grub-core/efiemu/main.c: Likewise.
5336 (grub_efiemu_exit_boot_services): Removed.
5337 (grub_efiemu_finish_boot_services): Likewise.
5338 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
5339 function.
5340 * grub-core/efiemu/i386/nocfgtables.c: New file.
5341 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
5342 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
5343 (grub_efi_finish_boot_services): Moved from here ...
5344 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5345 Fille finish memory map and related data.
5346 (finish_mmap_buf): New variable.
5347 (grub_efi_uintn_t finish_mmap_size): Likewise.
5348 (grub_efi_uintn_t finish_key): Likewise.
5349 (grub_efi_uintn_t finish_desc_size): Likewise.
5350 (grub_efi_uint32_t finish_desc_version): Likewise.
5351 (grub_efi_is_finished): Likewise.
5352 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5353 finished.
5354 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5355 (grub_elf64_phdr_iterate): Likewise.
5356 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5357 (grub_os_area_size): Likewise.
5358 (grub_machine_init): Don't reserve os area.
5359 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5360 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5361 * grub-core/kern/i386/loader.S: Removed.
5362 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5363 (grub_os_area_size): Likewise.
5364 (grub_machine_init): Don't reserve os area.
5365 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5366 Don't call grub_dl_unload_all.
5367 Don't include loader.S.
5368 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5369 Declare the memory after _end as available.
5370 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 5371 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 5372 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
5373 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5374 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5375 * include/grub/mm_private.h (grub_mm_header): ... here.
5376 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5377 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
5378 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5379 (grub_mm_region): ..here. Removed addr. Added pre_size.
5380 All users updated.
5381 * grub-core/kern/mm.c (base): Renamed to ...
5382 (grub_mm_base): ... this. Made global.
5383 (grub_real_malloc): Alloc from end of region.
5384 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5385 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5386 * grub-core/kern/powerpc/cache_flush.S: ... here.
5387 * grub-core/lib/efi/relocator.c: New file.
5388 * grub-core/lib/i386/relocator.c: Rewritten.
5389 * grub-core/lib/i386/relocator16.S: New file.
5390 * grub-core/lib/i386/relocator32.S: Likewise.
5391 * grub-core/lib/i386/relocator64.S: Likewise.
5392 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5393 * grub-core/lib/i386/relocator_common.S: New file.
5394 * grub-core/lib/ieee1275/relocator.c: Likewise.
5395 * grub-core/lib/mips/relocator.c: Rewritten.
5396 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5397 stylistic adjustments.
5398 * grub-core/lib/powerpc/relocator.c: New file.
5399 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5400 * grub-core/lib/relocator.c: Rewritten.
5401 * grub-core/lib/x86_64/relocator_asm.S: New file.
5402 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5403 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5404 (bsd_tag): New struct.
5405 (tags): New variable.
5406 (tags_last): Likewise.
5407 (netbsd_module): New struct.
5408 (netbsd_mods): New variable.
5409 (netbsd_mods_last): Likewise.
5410 (openbsd_opts): New parameter "serial".
5411 (OPENBSD_SERIAL_ARG): New definition.
5412 (netbsd_opts): New parameter "serial".
5413 (NETBSD_SERIAL_ARG): New definition.
5414 (grub_freebsd_add_meta): Reorganised into ...
5415 (grub_bsd_add_meta): ...this. All users updated.
5416 (grub_freebsd_add_mmap): Reorganised into ...
5417 (generate_e820_mmap): ...this...
5418 (grub_bsd_add_mmap): ...and this. All users updated.
5419 (grub_freebsd_list_modules): Use tags.
5420 (grub_netbsd_add_meta_module): New function.
5421 (grub_netbsd_list_modules): Likewise.
5422 (grub_freebsd_boot): Use relocator and finish EFI.
5423 (grub_openbsd_boot): Likewise.
5424 (grub_netbsd_setup_video): New function.
5425 (grub_netbsd_add_modules): Likewise.
5426 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5427 and finish EFI.
5428 (grub_bsd_unload): Unload tags.
5429 (grub_bsd_load_aout): Use relocator.
5430 (grub_bsd_elf32_size_hook): New function.
5431 (grub_bsd_elf32_hook): Use relocator.
5432 (grub_bsd_elf64_size_hook): New function.
5433 (grub_bsd_elf64_hook): Use relocator.
5434 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5435 (grub_bsd_load): Zero-out openbsd_ramdisk.
5436 (grub_bsd_load): Use relocator.
5437 (grub_cmd_openbsd): Support serial.
5438 (grub_cmd_netbsd): Support modules.
5439 (grub_cmd_freebsd_module): Use relocator.
5440 (grub_netbsd_module_load): New function.
5441 (grub_cmd_netbsd_module): Likewise.
5442 (grub_cmd_openbsd_ramdisk): Likewise.
5443 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5444 kopenbsd_ramdisk.
5445 (GRUB_MOD_FINI): Unregister new commands.
5446 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5447 (grub_freebsd_load_elfmodule_obj): Use relocator.
5448 (grub_freebsd_load_elfmodule): Likewise.
5449 (grub_freebsd_load_elf_meta): Likewise.
5450 (grub_netbsd_load_elf_meta): New function.
5451 (grub_openbsd_find_ramdisk): Likewise.
5452 * grub-core/loader/i386/bsd_helper.S: Removed.
5453 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5454 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5455 * grub-core/loader/i386/efi/linux.c: Likewise.
5456 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5457 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5458 (DEFAULT_VIDEO_MODE): Likewise.
5459 (real_mode_target): New variable.
5460 (prot_mode_target): Likewise.
5461 (initrd_mem_target): Likewise.
5462 (relocator): Likewise.
5463 (efi_mmap_buf): Likewise.
5464 (efi_mmap_size): Likewise.
5465 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5466 (free_pages): Use relocator.
5467 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5468 (grub_linux_setup_video): Return error.
5469 (grub_linux_trampoline_start): Removed.
5470 (grub_linux_trampoline_end): Likewise.
5471 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5472 andd video parameters depending on firmware.
5473 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5474 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5475 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5476 (grub_cmd_initrd): Use relocator.
5477 * grub-core/loader/i386/linux_trampoline.S: Removed.
5478 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5479 (elf_sec_entsize): Likewise.
5480 (elf_sec_shstrndx): Likewise.
5481 (elf_sections): Likewise.
5482 (grub_multiboot_load): Use relocator.
5483 (grub_multiboot_get_mbi_size): Account for sections.
5484 (grub_multiboot_make_mbi): Use relocator and support sections.
5485 (grub_multiboot_add_elfsyms): New function.
5486 (grub_multiboot_free_mbi): Free sections.
5487 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5488 (grub_linux_real_target): Likewise.
5489 (grub_linux_real_chunk): Likewise.
5490 (grub_linux16_prot_size): Likewise.
5491 (grub_linux16_boot): Use relocator.
5492 (grub_linux_unload): Unload relocator.
5493 (grub_cmd_linux): Use relocator.
5494 (grub_cmd_initrd): Likewise.
5495 * grub-core/loader/i386/pc/ntldr.c: New file.
5496 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5497 Don't try to guess CPU frequency.
5498 (grub_xnu_set_video): Stretch bitmap.
5499 (grub_xnu_boot): Use relocator.
5500 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5501 (grub_linux_unload): Free relocator.
5502 (grub_linux_load32): Use relocator.
5503 (grub_linux_load64): Likewise.
5504 (grub_cmd_initrd): Likewise.
5505 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5506 (grub_multiboot_unload): Unload relocator.
5507 (grub_cmd_multiboot): Use relocator.
5508 (grub_cmd_module): Likewise.
5509 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5510 Use relocator and support sections.
5511 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5512 (elf_sec_entsize): Likewise.
5513 (elf_sec_shstrndx): Likewise.
5514 (elf_sections): Likewise.
5515 (grub_multiboot_load): Use relocator.
5516 (grub_multiboot_get_mbi_size): Account for sections.
5517 (grub_multiboot_make_mbi): Use relocator and support sections.
5518 (grub_multiboot_add_elfsyms): New function.
5519 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5520 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5521 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5522 Prototype changed. All users updated.
5523 (grub_xnu_align_heap): Simplified.
5524 (grub_xnu_writetree_toheap): Likewise.
5525 (grub_xnu_unload): Unload relocator.
5526 (grub_cmd_xnu_kernel): Use relocator.
5527 (grub_cmd_xnu_kernel64): Likewise.
5528 (grub_xnu_register_memory): Simplified.
5529 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
5530 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5531 EFI is finished.
5532 (grub_console_checkkey): Likewise.
5533 (grub_console_getkey): Likewise.
5534 (grub_console_getwh): Likewise.
5535 (grub_console_getxy): Likewise.
5536 (grub_console_gotoxy): Likewise.
5537 (grub_console_cls): Likewise.
5538 (grub_console_setcolorstate): Likewise.
5539 (grub_console_setcursor): Likewise.
5540 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5541 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5542 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5543 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5544 * grub-core/tests/boot/kernel-8086.S: Likewise.
5545 * grub-core/tests/boot/kernel-i386.S: Likewise.
5546 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5547 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5548 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5549 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5550 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5551 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5552 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5553 * grub-core/tests/boot/linux.cfg: Likewise.
5554 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5555 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5556 * grub-core/tests/boot/linux16.cfg: Likewise.
5557 * grub-core/tests/boot/multiboot.cfg: Likewise.
5558 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5559 * grub-core/tests/boot/ntldr.cfg: Likewise.
5560 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5561 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5562 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5563 New definition.
5564 * include/grub/dl.h (grub_dl_unload_all): Removed.
5565 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5566 (grub_efi_finish_boot_services): Change prototype.
5567 (grub_efi_is_finished): New variable.
5568 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5569 Changed prototype.
5570 (grub_efiemu_finish_boot_services): Removed.
5571 (grub_machine_efiemu_init_tables): New prototype.
5572 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5573 (grub_elf64_phdr_iterate): Likewise.
5574 * include/grub/i386/bsd.h: Include relocator.h.
5575 (freebsd_tag_header): New struct.
5576 (grub_openbsd_bios_mmap): Removed.
5577 (grub_unix_real_boot): Removed.
5578 (grub_freebsd_load_elfmodule32): Changed prototype.
5579 (grub_freebsd_load_elfmodule_obj64): Likewise.
5580 (grub_freebsd_load_elf_meta32): Likewise.
5581 (grub_freebsd_load_elf_meta64): Likewise.
5582 (grub_freebsd_add_meta): Removed.
5583 (grub_netbsd_load_elf_meta32): New prototype.
5584 (grub_netbsd_load_elf_meta64): Likewise.
5585 (grub_bsd_add_meta): Likewise.
5586 (grub_openbsd_ramdisk_descriptor): New struct.
5587 (grub_openbsd_find_ramdisk32): New prototype.
5588 (grub_openbsd_find_ramdisk64): Likewise.
5589 * include/grub/i386/coreboot/loader.h: Removed.
5590 * include/grub/i386/efi/loader.h: Likewise.
5591 * include/grub/i386/ieee1275/loader.h: Likewise.
5592 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5593 to grub_uint32_t.
5594 * include/grub/i386/loader.h: Removed.
5595 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5596 value.
5597 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5598 (grub_phys_addr_t): New type.
5599 (grub_vtop): New inline function.
5600 (grub_map_memory): Likewise.
5601 (grub_unmap_memory): Likewise.
5602 * include/grub/i386/multiboot/loader.h: Removed.
5603 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5604 (NETBSD_BTINFO_CONSOLE): New definition.
5605 (NETBSD_BTINFO_SYMTAB): Likewise.
5606 (NETBSD_BTINFO_MODULES): Likewise.
5607 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5608 (grub_netbsd_bootinfo): New struct.
5609 (grub_netbsd_btinfo_common): Use explicit bitsize.
5610 (grub_netbsd_btinfo_mmap_entry): Removed.
5611 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5612 (grub_netbsd_btinfo_bootdisk): New struct.
5613 (grub_netbsd_btinfo_symtab): Likewise.
5614 (grub_netbsd_btinfo_serial): Likewise.
5615 (grub_netbsd_btinfo_modules): Likewise.
5616 (grub_netbsd_btinfo_framebuf): Likewise.
5617 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5618 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5619 Likewise.
5620 (grub_openbsd_bootargs): Use explicit bitsize.
5621 (grub_openbsd_bootarg_console): New struct.
5622 (GRUB_OPENBSD_COM_MAJOR): New definition.
5623 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5624 * include/grub/i386/pc/efiemu.h: Removed.
5625 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5626 * include/grub/i386/qemu/loader.h: Removed.
5627 * include/grub/i386/relocator.h: Rewritten.
5628 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5629 * include/grub/mips/memory.h: New file.
5630 * include/grub/mips/multiboot.h: Rewritten.
5631 * include/grub/mips/relocator.h: Rewritten.
5632 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5633 (grub_vtop): New function.
5634 (grub_map_memory): Likewise.
5635 (grub_unmap_memory): Likewise.
5636 * include/grub/misc.h (ALIGN_DOWN): New definition.
5637 * include/grub/mm.h (grub_mm_check_real): New proto.
5638 (GRUB_MM_CHECK): New definition.
5639 * include/grub/mm_private.h: New file.
5640 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5641 (grub_multiboot_get_mbi_size): Removed.
5642 (grub_multiboot_make_mbi): Change prottype.
5643 (grub_multiboot_set_accepts_video): New proto.
5644 (grub_multiboot_add_elfsyms): Likewise.
5645 (grub_multiboot_payload_eip): New variable.
5646 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5647 New prototype.
5648 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5649 New definition.
5650 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5651 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5652 * include/grub/powerpc/ieee1275/loader.h: Removed.
5653 * include/grub/powerpc/memory.h: New file.
5654 * include/grub/powerpc/relocator.h: Likewise.
5655 * include/grub/relocator.h: Likewise.
5656 * include/grub/relocator_private.h: Likewise.
5657 * include/grub/sparc64/ieee1275/loader.h: Removed.
5658 * include/grub/x86_64/memory.h: New file.
5659 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5660 (grub_xnu_heap_malloc): Likewise.
5661 (grub_xnu_heap_real_start): Removed.
5662 (grub_xnu_heap_start): Likewise.
5663 (grub_xnu_relocator): New variable.
5664 (grub_xnu_heap_target_start): Likewise.
5665 * tests/util/grub-shell.in: Support non-pc.
5666 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 5667
5303b85d
VS
56682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5671 on malloc error.
5672 (grub_bidi_logical_to_visual): Check that malloc succeded.
5673 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5674 puts.
5675 (grub_xputs_normal): Likewise.
5676
d768d159
VS
56772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5680 extra_dist.
5681
56822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5685
5bf84df4
VS
56862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5689
3626810e
VS
56902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5693 dprintf.
5694
a7363f53
BC
56952010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5696
5697 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5698
902f75f6
VS
56992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/normal/term.c (print_more): Fix a memory leak.
5702 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5703 (grub_xputs_normal): Likewise.
5704
3c707967
VS
57052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5708 the begining of the string
5709
2053cc07
VS
57102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/script/script.c (grub_script_parse): Free parsed on
5713 failure.
5714
46422ebf
VS
57152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5718 on failure.
5719
9e0fa3f6
VS
57202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5723 return.
5724
3393cf16
VS
57252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5728 (scroll_up): Fix a memory leak.
5729
b17540cb
VS
57302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5733 errors.
5734
67140446
VS
57352010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 Handle USB pendrives exposed as floppies.
5738
5739 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5740 floppy.
5741 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5742 Check for partitions on all devices.
5743
e35e46fc
VS
57442010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5747 (readkey): Likewise.
5748
d24c6190
BC
57492010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5750
5751 Multiple variable names support to "export" command.
5752
5753 * normal/context.c (grub_cmd_export): "export" command supports
5754 multiple variable names.
5755
04ddcc6a
ST
57562010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5757
5758 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5759 --target=drive output to Mach device name.
5760
0c8b61d8
BC
57612010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5762
5763 New Automake based build system for GRUB.
5764
5765 * ABOUT-NLS: New file.
5766 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5767 in Makefile.util.def file.
5768 * Makefile.util.def: New file. Autogen build definitions file for
5769 GRUB host utils.
5770 * conf/Makefile.common: New file. Common variables for GRUB host
5771 utils and target modules.
5772 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5773 * docs/Makefile.am: New file. Automake file for docs.
5774 * gentpl.py: New file. Python script to generate Autogen
5775 template.
5776 * grub-core/Makefile.am: New file. GRUB target modules' rules
5777 that doesn't fit in Makefile.core.def file.
5778 * grub-core/Makefile.core.def: New file. Autogen build
5779 definitions file for GRUB target modules.
5780 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5781 specific setjmp.S file.
5782 * po/Makefile.am: New file.
5783
5784 * .bzrignore: New ignores.
5785 * INSTALL: New requirements, without Ruby.
5786 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5787 * autogen.sh: Updated to invoke autogen as necessary.
5788 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5789 and defines for Automake conditionals.
5790 * geninit.sh: Refactoring.
5791
5792 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5793 necessary.
5794 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5795 New prototype.
5796
5797 * include/grub/test.h: Fix functional test modules' naming.
5798 * grub-core/tests/example_functional_test.c: Fix test module name.
5799
5800 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5801 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5802 * util/grub-editenv.c: Likewise.
5803 * util/grub-fstest.c: Likewise.
5804 * util/grub-mkdevicemap.c: Likewise.
5805 * util/grub-mkfont.c: Likewise.
5806 * util/grub-mkimage.c: Likewise.
5807 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5808 * util/grub-probe.c: Likewise.
5809 * util/grub-script-check.c: Likewise.
5810 * util/i386/pc/grub-setup.c: Likewise.
5811 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5812
5813 * tests/util/grub-shell.in: Fix override directory path.
5814 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5815 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5816
5817 * util/lvm.c: Update #includes.
5818 * util/raid.c: Likewise.
5819 * util/resolve.c: Likewise.
5820 * grub-core/bus/emu/pci.c: Likewise.
5821 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5822 * grub-core/lib/posix_wrap/string.h: Likewise.
5823 * grub-core/kern/emu/main.c: Likewise.
5824
5825 * grub-core/gensymlist.sh: New file. Script for generating kernel
5826 symbols file.
5827 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5828
5829 * grub-core/gentrigtables.c: Fix unused variable warnings.
5830
5831 * Makefile.in: Removed.
5832 * conf/any-emu.rmk: Removed.
5833 * conf/common.rmk: Removed.
5834 * conf/i386-coreboot.rmk: Removed.
5835 * conf/i386-efi.rmk: Removed.
5836 * conf/i386-ieee1275.rmk: Removed.
5837 * conf/i386-multiboot.rmk: Removed.
5838 * conf/i386-pc.rmk: Removed.
5839 * conf/i386-qemu.rmk: Removed.
5840 * conf/i386.rmk: Removed.
5841 * conf/mips-yeeloong.rmk: Removed.
5842 * conf/mips.rmk: Removed.
5843 * conf/powerpc-ieee1275.rmk: Removed.
5844 * conf/sparc64-ieee1275.rmk: Removed.
5845 * conf/tests.rmk: Removed.
5846 * conf/x86-efi.rmk: Removed.
5847 * conf/x86_64-efi.rmk: Removed.
5848 * gendistlist.sh: Removed.
5849 * geninitheader.sh: Removed.
5850 * genkernsyms.sh.in: Removed.
5851 * genmk.rb: Removed.
5852 * gensymlist.sh.in: Removed.
5853 * mkinstalldirs: Removed.
5854 * boot: Moved ...
5855 * grub-core/boot: ... to here.
5856 * bus: Moved ...
5857 * grub-core/bus: ... to here.
5858 * commands: Moved ...
5859 * grub-core/commands: ... to here.
5860 * disk: Moved ...
5861 * grub-core/disk: ... to here.
5862 * efiemu: Moved ...
5863 * grub-core/efiemu: ... to here.
5864 * font: Moved ...
5865 * grub-core/font: ... to here.
5866 * fs: Moved ...
5867 * grub-core/fs: ... to here.
5868 * gencmdlist.sh: Moved ...
5869 * grub-core/gencmdlist.sh: ... to here.
5870 * genemuinit.sh: Moved ...
5871 * grub-core/genemuinit.sh: ... to here.
5872 * genemuinitheader.sh: Moved ...
5873 * grub-core/genemuinitheader.sh: ... to here.
5874 * genfslist.sh: Moved ...
5875 * grub-core/genfslist.sh: ... to here.
5876 * genhandlerlist.sh: Moved ...
5877 * grub-core/genhandlerlist.sh: ... to here.
5878 * genmoddep.awk: Moved ...
5879 * grub-core/genmoddep.awk: ... to here.
5880 * genmodsrc.sh: Moved ...
5881 * grub-core/genmodsrc.sh: ... to here.
5882 * genpartmaplist.sh: Moved ...
5883 * grub-core/genpartmaplist.sh: ... to here.
5884 * genparttoollist.sh: Moved ...
5885 * grub-core/genparttoollist.sh: ... to here.
5886 * genterminallist.sh: Moved ...
5887 * grub-core/genterminallist.sh: ... to here.
5888 * gentrigtables.c: Moved ...
5889 * grub-core/gentrigtables.c: ... to here.
5890 * genvideolist.sh: Moved ...
5891 * grub-core/genvideolist.sh: ... to here.
5892 * gettext: Moved ...
5893 * grub-core/gettext: ... to here.
5894 * gfxmenu: Moved ...
5895 * grub-core/gfxmenu: ... to here.
5896 * gnulib: Moved ...
5897 * grub-core/gnulib: ... to here.
5898 * hello: Moved ...
5899 * grub-core/hello: ... to here.
5900 * hook: Moved ...
5901 * grub-core/hook: ... to here.
5902 * io: Moved ...
5903 * grub-core/io: ... to here.
5904 * kern: Moved ...
5905 * grub-core/kern: ... to here.
5906 * lib: Moved ...
5907 * grub-core/lib: ... to here.
5908 * loader: Moved ...
5909 * grub-core/loader: ... to here.
5910 * mmap: Moved ...
5911 * grub-core/mmap: ... to here.
5912 * normal: Moved ...
5913 * grub-core/normal: ... to here.
5914 * partmap: Moved ...
5915 * grub-core/partmap: ... to here.
5916 * parttool: Moved ...
5917 * grub-core/parttool: ... to here.
5918 * script: Moved ...
5919 * grub-core/script: ... to here.
5920 * term: Moved ...
5921 * grub-core/term: ... to here
5922 * tests/example_functional_test.c: Moved ...
5923 * grub-core/tests/example_functional_test.c: ... to here.
5924 * tests/lib/functional_test.c: Moved ...
5925 * grub-core/tests/lib/functional_test.c: ... to here.
5926 * tests/lib/test.c: Moved ...
5927 * grub-core/tests/lib/test.c: ... to here.
5928 * video: Moved ...
5929 * grub-core/video: ... to here.
5930
645586e6
BC
59312010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5932
5933 Replace --enable-grub-emu-modules with grub-emu-lite.
5934
5935 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5936 cache.S.
5937
5938 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5939 * kern/emu/full.c: New file. For grub-emu specific initialization.
5940 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5941 * kern/emu/main.c: Call initialization function grub_emu_init.
5942
5943 * Makefile.in: Include grub-emu-lite in install.
5944 * commands/parttool.c: Use grub_no_autoload to differentiate
5945 between grub-emu and grub-emu-lite.
5946 * include/grub/misc.h: New variable grub_no_autoload.
5947
5948 * conf/any-emu.rmk: New rules for grub-emu-lite.
5949 * configure.ac: Remove --enable-grub-emu-modules.
5950 * genmk.rb: Cleanup unnecessary rules.
5951 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5952
5953 * normal/main.c: Don't load list files on grub-emu-lite.
5954 * util/misc.c (grub_arch_sync_caches): Removed.
5955
f86a4030
CW
59562010-08-23 Colin Watson <cjwatson@ubuntu.com>
5957
5958 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5959 grub-mkimage rather than grub-mkelfimage.
5960 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5961
06776944
VS
59622010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5965 a key after CapsLock or NumLock. It's just a qemu bug.
5966
df262419
VS
59672010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5970 needed by libusb wrapper.
5971
b40ea81b
ST
59722010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5973
5974 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5975
dee50575
VS
59762010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5979 --nounzip is passed.
5980
fb1d7b79
VS
59812010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 USB hotunplugging and USB serial support.
5984
5985 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5986 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5987 (grub_uhci_transfer): Respect timeout and set *actual.
5988 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5989 non-standard length.
5990 (grub_usb_device_attach): Autoload modules.
5991 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5992 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5993 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5994 users updated.
5995 (grub_usb_add_hub): Fill nports and children.
5996 (attach_root_port): Receive hub instead of controller.
5997 All users updated. Fill hub->devices.
5998 (grub_usb_root_hub): Allocate hub->devices.
5999 (detach_device): New function.
6000 (poll_nonroot_hub): Fill children and detach devices.
6001 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
6002 actual arguments. All users updated.
6003 (grub_usb_bulk_read_extended): New function.
6004 * bus/usb/serial/common.c: New file.
6005 * bus/usb/serial/ftdi.c: Likewise.
6006 * bus/usb/serial/pl2303.c: Likewise.
6007 * commands/terminal.c (handle_command): Support wildcard.
6008 * commands/usbtest.c: Output "Unknown" instead of empty string.
6009 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
6010 (usbserial_common_mod_SOURCES): New variable.
6011 (usbserial_common_mod_CFLAGS): Likewise.
6012 (usbserial_common_mod_LDFLAGS): Likewise.
6013 (pkglib_MODULES): Add usbserial_pl2303.mod.
6014 (usbserial_pl2303_mod_SOURCES): New variable.
6015 (usbserial_pl2303_mod_CFLAGS): Likewise.
6016 (usbserial_pl2303_mod_LDFLAGS): Likewise.
6017 (pkglib_MODULES): Add usbserial_ftdi.mod.
6018 (usbserial_ftdi_mod_SOURCES): New variable.
6019 (usbserial_ftdi_mod_CFLAGS): Likewise.
6020 (usbserial_ftdi_mod_LDFLAGS): Likewise.
6021 (pkglib_MODULES): Add serial.mod.
6022 (serial_mod_SOURCES): New variable.
6023 (serial_mod_CFLAGS): Likewise.
6024 (serial_mod_LDFLAGS): Likewise.
6025 * conf/i386-pc.rmk: Likewise.
6026 * conf/mips-yeeloong.rmk: Likewise.
6027 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
6028 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6029 * disk/usbms.c (first_available_slot): New variable.
6030 (grub_usbms_attach): Don't reuse free slots due to potential cache
6031 problems.
6032 * include/grub/serial.h: Moved to ..
6033 * include/grub/ns8250.h: ...this.
6034 * include/grub/serial.h: New file.
6035 * include/grub/term.h (grub_term_poll_usb): New variable.
6036 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
6037 readkey. All users updated.
6038 (grub_terminfo_output_state): Pass term to put.
6039 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
6040 (grub_usb_controller_dev): Add timeout and actual arguments to
6041 transfer. All users updated.
6042 (grub_usb_interface): New field detach_data.
6043 (grub_usb_device): New fields children and nports.
6044 (grub_usb_ep_type_t): New type.
6045 (grub_usb_get_ep_type): New function.
6046 (grub_usb_bulk_read_extended): Likewise.
6047 * include/grub/usbdesc.h (grub_usb_desc): New type.
6048 * include/grub/usbserial.h: New file.
6049 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
6050 * kern/term.c (grub_term_poll_usb): New variable.
6051 (grub_getkey): Call grub_term_poll_usb if set.
6052 (grub_checkkey): Likewise.
6053 (grub_getkeystatus): Likewise.
6054 * term/serial.c: Moved controller-specific parts to ...
6055 * term/ns8250.c: ... here.
6056 * term/serial.c: Mostly rewritten.
6057 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
6058 according to spec.
6059
21a313de
RM
60602010-08-20 Robert Millan <rmh@gnu.org>
6061
6062 Make kFreeBSD code more generic to support ext2fs as root, ufs as
6063 a separate module and maybe other interesting combinations.
6064
6065 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
6066 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
6067 (kfreebsd_entry): Add generic filesystem module load routine.
6068 Map GRUB `ext2' to kFreeBSD `ext2fs'.
6069
63c734a6
CW
60702010-08-20 Colin Watson <cjwatson@ubuntu.com>
6071
6072 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
6073 "numcenter" (I misunderstood the purpose of this entry).
6074 * docs/grub.texi (sendkey): Likewise.
6075
c4d16542
CW
60762010-08-20 Colin Watson <cjwatson@ubuntu.com>
6077
6078 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
6079 status flag options; simply omitting the option is equivalent and
6080 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
6081 (keysym_table): Rename "num5numlock" to "numlock".
6082 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
6083 can uniformly say that only the last of multiple `sendkey'
6084 invocations has any effect.
6085 * docs/grub.texi (sendkey): New section.
6086
93541d66
CW
60872010-08-19 Colin Watson <cjwatson@ubuntu.com>
6088
6089 * commands/i386/pc/sendkey.c (options): Fix three typos.
6090
b4ece5e1
VS
60912010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Implement sendkey support.
6094
6095 * commands/i386/pc/sendkey.c: New file.
6096 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
6097 (sendkey_mod_SOURCES): New variable.
6098 (sendkey_mod_CFLAGS): Likewise.
6099 (sendkey_mod_LDFLAGS): Likewise.
6100
51f1f5af
CW
61012010-08-18 Colin Watson <cjwatson@ubuntu.com>
6102
6103 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
6104 fix warnings from Autoconf.
6105
9da94e05
CW
61062010-08-18 Colin Watson <cjwatson@ubuntu.com>
6107
6108 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
6109 to avoid false positives with some assemblers that output things
6110 like "someprefix_func" as part of their output.
6111
729a0f2e
RM
61122010-08-15 Robert Millan <rmh@gnu.org>
6113
6114 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
6115 errors.
6116 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
6117 grub_get_libzfs_handle() errors.
6118
f3710e08
RM
61192010-08-14 Robert Millan <rmh@gnu.org>
6120
6121 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
6122 filesystem is not ZFS.
6123
7a3c13de
BC
61242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6125
6126 Fix for misspelled color names defaulting to black/black (bug
6127 reported by Doug Nazar)
6128
6129 * include/grub/normal.h (grub_parse_color_name_pair): Add return
6130 status to prototype.
6131 * normal/color.c (grub_parse_color_name_pair): Return failure
6132 status.
6133 (grub_env_write_color_normal): Ignore bad color names.
6134 (grub_env_write_color_highlight): Likewise.
6135 * normal/main.c (GRUB_MOD_INIT): Set default color names.
6136
ab8ba50d
BC
61372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6138
6139 "shift" command support to GRUB script.
6140
6141 * include/grub/script_sh.h (grub_script_shift): New prototype.
6142 * script/execute.c (grub_script_shift): New function.
6143 * script/main.c (grub_script_init): Register shift command.
6144 (grub_script_fini): Unregister shift command.
6145 * util/grub-script-check.c (grub_script_cmd_shift): New function.
6146
6147 * tests/grub_script_shift.in: New testcase.
6148 * conf/tests.rmk: Rules for new testcase.
6149
4d61999e
BC
61502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6151
6152 "continue" command support to GRUB script.
6153
6154 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
6155 (grub_script_break): Continue support.
6156 * script/main.c (grub_script_init): Register continue command.
6157 (grub_script_fini): Unregister continue command.
6158
6159 * tests/grub_script_continue.in: New testcase.
6160 * conf/tests.rmk: Rules for new testcase.
6161
4df51e00
BC
61622010-08-12 BVK Chaitanya <bvk@dbook>
6163
6164 "break" command support to GRUB script.
6165
6166 * conf/common.rmk: Rule updates to grub-script-check.
6167 * include/grub/misc.h (grub_min): New function.
6168 * include/grub/script_sh.h (grub_script_init): New prototype.
6169 (grub_script_fini): New prototype.
6170 (grub_script_break): New prototype.
6171 * script/main.c (grub_script_init): New function.
6172 (grub_script_fini): New function.
6173 * script/execute.c (grub_script_break): New function.
6174 * normal/main.c: Calls to grub_script_{init,fini}.
6175 * util/grub-script-check.c (grub_script_break): New function.
6176
6177 * tests/grub_script_break.in: New testcase.
6178 * conf/tests.rmk: Rules for new test case.
6179
f12c8420
BC
61802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6181
6182 Function parameters support to GRUB script.
6183
6184 * script/yylex.l (VARIABLE): Regular expression update.
6185 * script/function.c (grub_script_function_call): Moved ...
6186 * script/execute.c (grub_script_function_call): ... to here.
6187 (grub_script_execute_arglist_to_argv): Removed.
6188 (grub_script_arglist_to_argv): New function.
6189 * script/argv.c: New file.
6190 (grub_script_argv_free): New function.
6191 (grub_script_argv_next): Likewise.
6192 (grub_script_argv_append): Likewise.
6193 (grub_script_argv_split_append): Likewise.
6194 * include/grub/script_sh.h (grub_script_argv): New struct.
6195 (grub_script_argv_free): New function.
6196 (grub_script_argv_next): Likewise.
6197 (grub_script_argv_append): Likewise.
6198 (grub_script_argv_split_append): Likewise.
6199
6200 * conf/common.rmk (normal.mod): New source script/argv.c.
6201
6202 * tests/grub_script_echo1.in: More tests.
6203 * tests/grub_script_vars1.in: Likewise.
6204 * tests/grub_script_functions.in: New test case.
6205 * conf/tests.rmk: Rules for new testcase.
6206
8022b748
BC
62072010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6208
6209 Remove grub_script_cmdblock struct.
6210
6211 * include/grub/script_sh.h: Remove grub_script_cmdblock.
6212 * script/parser.y: Likewise.
6213 * script/execute.c: Rename cmdblock suffix to cmdlist.
6214 * script/script.c: Likewise.
6215 * util/grub-script-check.c: Likewise.
6216
79a6ba61
YB
62172010-08-11 Yves Blusseau <blusseau@zetam.org>
6218
6219 * .bzrignore: add grub-macho2img
6220
d04b9414
VS
62212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
6224
f947ab49
VS
62252010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Remove the dump of sm712 initialisation sequence.
6228
6229 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
6230 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
6231 (GRUB_VGA_IO_MISC_WRITE): Likewise.
6232 (GRUB_VGA_CR_*): Added many registers.
6233 (GRUB_VGA_SR_*): Likewise.
6234 (GRUB_VGA_GR_*): Likewise.
6235 (grub_vga_write_arx): New function.
6236 (grub_video_hw_config): New struct.
6237 (grub_vga_set_geometry): New function.
6238 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
6239 GRUB_PCI_CLASS_SUBCLASS_VGA.
6240 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
6241 * video/sm712.c (grub_sm712_write_reg): New function
6242 (grub_sm712_read_reg): Likewise.
6243 (grub_sm712_sr_write): Likewise.
6244 (grub_sm712_gr_write): Likewise.
6245 (grub_sm712_cr_write): Likewise.
6246 (grub_sm712_write_arx): Likewise.
6247 (grub_sm712_cr_shadow_write): Likewise.
6248 (grub_sm712_write_dda_lookup): Likewise.
6249 (grub_video_sm712_setup): Initialise the video rather then
6250 blindly replay the dump.
6251 (main) [TEST]: Add a routine to be able to compile as standalone for
6252 tests.
6253 * video/sm712_init.c (sm712_init): Removed.
6254 (sm712_sr_seq1): New array.
6255 (sm712_sr_seq2): Likewise.
6256
f0206638
VS
62572010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * include/grub/vga.h: Add missing grub/pci.h include.
6260
2764da3b
YB
62612010-08-10 Yves Blusseau <blusseau@zetam.org>
6262
6263 * util/grub-macho2img.c (main): fix typo
6264
cf0c775e
VS
62652010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
6268 (grub_vga_gr_read): Likewise.
6269 (grub_vga_cr_write): Likewise.
6270 (grub_vga_cr_read): Likewise.
6271 (grub_vga_sr_write): Likewise.
6272 (grub_vga_sr_read): Likewise.
6273 (grub_vga_palette_read): Likewise.
6274 (grub_vga_palette_write): Likewise.
6275 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
6276 (grub_sm712_sr_read): New function.
6277 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
6278 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
6279
07f360e9
RM
62802010-08-09 Robert Millan <rmh@gnu.org>
6281
6282 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
6283 out unused variables on non-ZFS build.
6284
346c2072
RM
62852010-08-08 Robert Millan <rmh@gnu.org>
6286
6287 Fix path generation for sub-filesystems in ZFS.
6288
6289 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
6290 missing slash.
6291
71175420
RM
62922010-08-08 Robert Millan <rmh@gnu.org>
6293
6294 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
6295
0d8286f3
RM
62962010-08-08 Robert Millan <rmh@gnu.org>
6297
6298 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
6299 exist, issue a proper error message (rely on `ls' for translated
6300 strings).
6301
55dd2924
RM
63022010-08-08 Robert Millan <rmh@gnu.org>
6303
6304 Fix grub-probe invocation.
6305
6306 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
6307
d3dd9e80
RM
63082010-08-04 Robert Millan <rmh@gnu.org>
6309
6310 * configure.ac: Remove checks for getfsstat() and getmntany().
6311 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
6312 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
6313 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
6314 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
6315 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
6316 function.
6317 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
6318 via find_mount_point_from_dir() and getfsstat() / getmntany().
6319
0de22aa9
RM
63202010-08-04 Robert Millan <rmh@gnu.org>
6321
6322 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6323 (grub_find_zpool_from_mount_point): Merge into ...
6324 (grub_find_zpool_from_dir): ... this.
6325 * kern/emu/misc.c: Likewise.
6326
6327 * kern/emu/misc.c
6328 (grub_make_system_path_relative_to_its_root): Replace
6329 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
6330 with grub_find_zpool_from_dir().
6331 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
6332
62858144
RM
63332010-08-04 Robert Millan <rmh@gnu.org>
6334
6335 Support OpenSolaris in ZFS device resolution.
6336
6337 * configure.ac: Check for getmntany().
6338 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
6339 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
6340 support.
6341
9dd6fd50
RM
63422010-08-03 Robert Millan <rmh@gnu.org>
6343
6344 Fix grub-emu build.
6345
6346 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6347 * include/grub/emu/misc.h: ... here.
6348
6349 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6350 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6351
6352 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6353 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6354 (grub_get_libzfs_handle): Move to ...
6355 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6356 (grub_get_libzfs_handle): ... here.
6357
c9f7ff97
BC
63582010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6359
6360 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6361 as command name case.
6362
a870a783
CW
63632010-08-02 Colin Watson <cjwatson@ubuntu.com>
6364
6365 * disk/raid.c (insert_array): Select unique numbers for named arrays
6366 as well, for use as keys in the disk cache.
6367
c7db243b
RM
63682010-08-01 Robert Millan <rmh@gnu.org>
6369
6370 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6371 kFreeBSD device name, except on ZFS where the filesystem label is
6372 used.
6373 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6374 `/boot/zfs/zpool.cache'.
6375 Set mountfrom kernel variable using ${kfreebsd_device}.
6376
f7abdefb
RM
63772010-08-01 Robert Millan <rmh@gnu.org>
6378
6379 Make it even harder to use uninitialized `libzfs_handle' (and
6380 make the interface a bit simpler).
6381
6382 * include/grub/util/misc.h (grub_util_init_libzfs)
6383 (libzfs_handle): Remove.
6384 (grub_get_libzfs_handle): New prototype.
6385
6386 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6387 attribute.
6388 (grub_util_init_libzfs): Remove.
6389 (grub_get_libzfs_handle): New function.
6390
6391 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6392 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6393 accessing `libzfs_handle' directly.
6394
c882acc0
RM
63952010-08-01 Robert Millan <rmh@gnu.org>
6396
6397 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6398 (grub_find_zpool_from_mount_point): New function prototypes.
6399
6400 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6401 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6402
6403 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6404 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6405 `static' attribute.
6406
6407 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6408 finding zpool from mount point into ...
6409 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6410
6411 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6412 requested path is part of a ZFS pool, use
6413 grub_find_zpool_from_mount_point() to detect its filesystem name,
6414 and generate a path with `/fsname@path' syntax.
6415
8bfe31d8
CW
64162010-08-01 Colin Watson <cjwatson@ubuntu.com>
6417
6418 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6419 (void) rather than () so that this is a proper prototype.
6420
553df63d
VS
64212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6424
8687cf07
VS
64252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6428 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6429
ea9be8ea
CW
64302010-08-01 Colin Watson <cjwatson@ubuntu.com>
6431
6432 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6433
6eea041a
CW
64342010-08-01 Colin Watson <cjwatson@ubuntu.com>
6435
6436 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6437
2cfb45df
CW
64382010-08-01 Colin Watson <cjwatson@ubuntu.com>
6439
6440 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6441 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6442 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6443 disable gfxpayload.
6444 (Shell-like scripting): Add real content.
6445 (Serial terminal): Suggest `terminal_input serial; terminal_output
6446 serial' rather than putting the two commands on separate lines,
6447 since console input will be inoperative after the first command.
6448 (menuentry): Document --class, --users, and --hotkey options.
6449 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6450 Vladimir Serbinenko).
6451
7decd202
VS
64522010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
64532010-08-01 Colin Watson <cjwatson@ubuntu.com>
6454
6455 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6456
c882acc0
RM
64572010-08-01 Robert Millan <rmh@gnu.org>
6458
6459 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6460 (grub_find_zpool_from_mount_point): New function prototypes.
6461
6462 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6463 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6464
6465 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6466 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6467 `static' attribute.
6468
6469 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6470 finding zpool from mount point into ...
6471 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6472
6473 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6474 requested path is part of a ZFS pool, use
6475 grub_find_zpool_from_mount_point() to detect its filesystem name,
6476 and generate a path with `/fsname@path' syntax.
6477
deb0caa3
RM
64782010-08-01 Robert Millan <rmh@gnu.org>
6479
6480 Prevent accidental use of uninitialized libzfs_handle.
6481
6482 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6483 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6484 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6485
ce04ef47
CW
64862010-08-01 Colin Watson <cjwatson@ubuntu.com>
6487
6488 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6489 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6490
ebf53056
RM
64912010-08-01 Robert Millan <rmh@gnu.org>
6492
6493 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 6494
3710bb6b
RM
64952010-07-31 Robert Millan <rmh@gnu.org>
6496
6497 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6498
8072efeb
RM
64992010-07-31 Robert Millan <rmh@gnu.org>
6500
6501 * kern/emu/misc.c: Add missing license header.
6502
3169f4c7
RM
65032010-07-31 Robert Millan <rmh@gnu.org>
6504
6505 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6506
6507 * include/grub/util/libnvpair.h: Include `<config.h>'.
6508 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6509 declaring libnvpair prototypes ourselves.
6510 * include/grub/util/libzfs.h: Include `<config.h>'.
6511 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6512 declaring libzfs prototypes ourselves.
6513
6514 (libzfs_handle): Moved to ...
6515 * include/grub/util/misc.h (libzfs_handle): ... here.
6516 Include `<grub/util/libzfs.h>'.
6517
c9a00aee
RM
65182010-07-30 Robert Millan <rmh@gnu.org>
6519
6520 * include/grub/emu/misc.h: Add missing license header.
6521
a184f9c8
RM
65222010-07-30 Robert Millan <rmh@gnu.org>
6523
6524 Enable `grub-probe -t device' resolution on ZFS.
6525
6526 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6527 * include/grub/util/libnvpair.h: New file.
6528 * include/grub/util/libzfs.h: New file.
6529
6530 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6531 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6532 `<grub/util/libnvpair.h>'.
6533 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6534
6535 (find_mount_point_from_dir): New static function.
6536 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6537 function.
6538 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6539 find_root_device_from_libzfs() before ressorting to find_root_device().
6540
6541 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6542 prototype.
6543 * util/misc.c: Include `<grub/util/libzfs.h>'.
6544 (grub_util_init_libzfs): New function.
6545 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6546 [HAVE_LIBZFS] (fini_libzfs): New static function.
6547 (grub_util_init_libzfs): New function.
6548 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6549
f7790cdd
RM
65502010-07-30 Robert Millan <rmh@gnu.org>
6551
6552 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6553 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6554 `warn_unused_result' attribute.
6555 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6556 (grub_xasprintf, grub_xvasprintf): Likewise.
6557 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6558
0806b63c
RM
65592010-07-29 Robert Millan <rmh@gnu.org>
6560
6561 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6562 (probe): Handle `PRINT_FS_LABEL'.
6563 (main): Handle `-t fs_label'.
6564
9f841f5c
RM
65652010-07-29 Robert Millan <rmh@gnu.org>
6566
6567 * configure.ac: Remove grub-mkisofs checks.
6568
46371121
VS
65692010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6572 Reported by: Lennart Sorensen.
6573
65742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6577 prior to terminal_input/terminal_output separation. It's been over 1.5
6578 years and those versions weren't widely deployed.
6579
a9600892
CW
65802010-07-22 Colin Watson <cjwatson@ubuntu.com>
6581
6582 * disk/raid.c (insert_array): Don't count named arrays when looking
6583 for unused array numbers.
697e053c 6584 Reported and tested by: Michael Guntsche.
a9600892 6585
c03507df
CW
65862010-07-20 Colin Watson <cjwatson@ubuntu.com>
6587
6588 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6589 implementation of this so that grub-emu links again, with a note
6590 that this should support hotplugging in the future.
6591
b26f1c11
CW
65922010-07-20 Colin Watson <cjwatson@ubuntu.com>
6593
6594 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6595
efc9d7f1
CW
65962010-07-20 Colin Watson <cjwatson@ubuntu.com>
6597
6598 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6599 handle on failure.
6600 (grub_loopback_close): Remove empty function.
6601 (grub_loopback_dev): Remove close method.
6602
dd8ff5c9
CW
66032010-07-20 Colin Watson <cjwatson@ubuntu.com>
6604
6605 Disable EFI cursor when the EFI console becomes inactive.
6606
6607 * term/efi/console.c (grub_efi_console_init): New function.
6608 (grub_efi_console_fini): New function.
6609 (grub_console_term_output): Register init and fini methods.
6610
5e3bec67
VS
66112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6614 sh script.
6615
afaec079
VS
66162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * disk/loopback.c (grub_loopback): Replace filename with file.
6619 (delete_loopback): Handle new semantics.
6620 (grub_cmd_loopback): Likewise.
6621 (grub_loopback_iterate): Likewise.
6622 (grub_loopback_close): Likewise.
6623
a6a11f3c
VS
66242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6627 with -p "".
6628 Reported by: Tito Keitel.
6629
64a638b0
VS
66302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * docs/grub.texi (Naming convention): Document new naming convention.
6633
ab8ba957
VS
66342010-07-20 Vadim Solomin <vadic052@gmail.com>
66352010-07-20 Colin Watson <cjwatson@ubuntu.com>
6636
6637 Generate device.map in something closer to the old ordering.
6638
6639 * util/deviceiter.c (struct device): New declaration.
6640 (compare_file_names): Rename to ...
6641 (compare_devices): ... this. Sort by kernel name in preference to
6642 the stable by-id name, but keep the latter as a fallback comparison.
6643 Update header comment.
6644 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6645 of `struct device' rather than of plain file names.
6646
a29d6a4b
TF
66472010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6648
6649 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6650 on i386.
6651
39d824e8
VS
66522010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6655 hardcoding size.
6656 (setv1table): Likewise.
6657
f058276b
FZ
66582010-07-20 Colin Watson <cjwatson@ubuntu.com>
6659
6660 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6661 removing the homehost if present.
6662 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6663 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6664 removing the homehost if present.
6665 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6666 if possible.
6667 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6668
6669 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6670 parameter. Set its pointer target to 0.
6671 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6672 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6673 `data_offset' value from the superblock for 1.x metadata.
6674 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6675 data on the device.
6676 (insert_array): Record the start sector of data on the device.
6677 (grub_raid_register): Pass start_sector parameters to
6678 grub_raid_list->detect and insert_array.
6679 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6680 member.
6681 (struct grub_raid): Add start_sector parameter to `detect'.
6682
6683 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6684 __attribute__ ((packed)), leaving a comment.
6685 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6686 (grub_mdraid_detect_09): ... here and ...
6687 (grub_mdraid_detect_1x): ... here.
6688
66892010-07-20 Peter Henn <peter.henn@web.de>
6690
6691 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6692 chunk size and disk size, which are already given as sector counts
6693 as distinct from the 0.90 units. Fetch the correct device number
6694 from the role table instead of using the table index.
6695
66962010-07-20 Felix Zielcke <fzielcke@z-51.de>
6697
6698 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6699 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6700 (WriteMostly1): New macro.
6701 Set array->name to NULL for metadata format 0.90. Add support for
6702 metadata 1.x. Fix some comments.
6703 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6704 few comments.
6705 * util/getroot.c (grub_util_get_grub_dev): Add support for
6706 /dev/md/name style devices.
6707
4b761da9
CW
67082010-07-20 Colin Watson <cjwatson@ubuntu.com>
6709
6710 * .bzrignore: Ignore 20_linux_xen.
6711
5771289a
CW
67122010-07-17 Colin Watson <cjwatson@ubuntu.com>
6713
6714 * util/import_unicode.py: Remove unnecessary imports.
6715
5dab68df
AN
67162010-07-17 Aleš Nesrsta <starous@volny.cz>
6717
6718 Hotplugging and USB hub support.
6719
6720 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6721 (grub_ohci): Likewise.
6722 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6723 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6724 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6725 (GRUB_OHCI_CTRL_EDS): Likewise.
6726 (GRUB_OHCI_BULK_EDS): Likewise.
6727 (GRUB_OHCI_TDS): Likewise.
6728 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6729 (grub_ohci_ed_phys2virt): New function.
6730 (grub_ohci_virt_to_phys): Likewise.
6731 (grub_ohci_td_phys2virt): Likewise.
6732 (grub_ohci_td_virt2phys): Likewise.
6733 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6734 attachment.
6735 (grub_ohci_find_ed): New function.
6736 (grub_ohci_alloc_td): Likewise.
6737 (grub_ohci_free_td): Likewise.
6738 (grub_ohci_free_tds): Likewise.
6739 (grub_ohci_transfer): Use previously allocated memory.
6740 (grub_ohci_portstatus): Reset status changed bit.
6741 (grub_ohci_detect_dev): Supply status changed.
6742 (grub_ohci_fini_hw): Free memory.
6743 (grub_ohci_restore_hw): Reallocate memory.
6744 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6745 Reset status change.
6746 (grub_uhci_detect_dev): Supply status_change.
6747 * bus/usb/usb.c (attach_hooks): New var.
6748 (grub_usb_device_attach): New function.
6749 (grub_usb_register_attach_hook_class): Likewise.
6750 (grub_usb_unregister_attach_hook_class): Likewise.
6751 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6752 (grub_usb_add_hub): Reset connection changed bit.
6753 (attach_root_port): New function.
6754 (grub_usb_root_hub): Likewise.
6755 (poll_nonroot_hub): Likewise.
6756 (grub_usb_poll_devices): Likewise.
6757 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6758 * disk/usbms.c (grub_usbms_open): Use device hooks.
6759 (grub_usbms_iterate) :Poll devices.
6760 (grub_usbms_finddevs): Split into ...
6761 (grub_usbms_attach): ... this ...
6762 (grub_usbms_attach): ... and this.
6763 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6764 in detect_dev.
6765 (grub_usb_interface): New fields attached and detach_hook.
6766 (grub_usb_attach_hook_class): New type.
6767 (grub_usb_attach_desc): New struct.
6768 (grub_usb_register_attach_hook_class): New function.
6769 (grub_usb_unregister_attach_hook_class): Likewise.
6770 (grub_usb_poll_devices): Likewise.
6771 (grub_usb_device_attach): Likewise.
6772 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6773 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6774
3222efaf
VS
67752010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6778 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6779 delta determination style. Works with most NetBSD partitions too.
6780
139b714a
VS
67812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6784 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6785
986aad56
VS
67862010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6789
99be513c
AB
67902010-07-14 Anton Blanchard <anton@samba.org>
6791
6792 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6793 ET_DYN files.
6794
18075f62
GS
67952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6796
6797 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6798
8d9a5b15
GS
67992010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6800
6801 * kern/partition.c (grub_partition_check_containment): New function to
6802 check that a partition is physically contained in a parent. Since
6803 offsets are relative (and non-negative), this reduces to checking that
6804 the partition ends before its parent.
6805 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6806 (grub_partition_iterate): Likewise.
6807 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6808 comments.
6809 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6810 partitions that start before their parent, and add debug printfs.
6811
19563c25
CW
68122010-07-13 Colin Watson <cjwatson@ubuntu.com>
6813
6814 * Makefile.in (.SUFFIX): Spell correctly, as ...
6815 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6816 bare module name without `.mod', e.g. `test') tried to invoke a
6817 Modula-2 compiler.
6818
1a1f1e67
CW
68192010-07-13 Colin Watson <cjwatson@ubuntu.com>
6820
6821 * README: Point to the Info manual.
6822
811b0dca
JS
68232010-07-13 Jiro SEKIBA <jir@unicus.jp>
6824
6825 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6826 2nd superblock position from partition size.
6827
e4f4eafc
CW
68282010-07-10 Colin Watson <cjwatson@ubuntu.com>
6829
6830 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6831 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6832 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6833 outputs.
6834
4274c30f
VS
68352010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 Restructure SCSI .id handling.
6838 Reported and tested by: Aleš Nesrsta.
6839
6840 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6841 (grub_atapi_dev): Changed .name to "ata". New field .id.
6842 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6843 (grub_usbms_dev): New field .id.
6844 * disk/scsi.c (grub_scsi_iterate): Generate name.
6845 (grub_scsi_open): Parse name.
6846 * include/grub/scsi.h (grub_make_scsi_id): New function.
6847 (grub_scsi_dev): Change iterate and open to number instead of naming
6848 busses. All users updated.
6849 (grub_scsi): Remove name. Add .bus.
6850
5bc24388
VS
68512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * commands/help.c (grub_cmd_help): Fix a typo.
6854
249975ba
VS
68552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6858 Reported and tested by: Colin Watson.
6859
3eaac1a1
VS
68602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6863 in this context.
6864
becce1b1
VS
68652010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6868
f7bf0918
CW
68692010-07-07 Colin Watson <cjwatson@ubuntu.com>
6870
6871 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6872 indentation.
6873
0b0f9620
CW
68742010-07-06 Colin Watson <cjwatson@ubuntu.com>
6875
6876 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6877 and disk/raid6_recover.c.
6878 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6879 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6880
1e545469
CW
68812010-07-06 Colin Watson <cjwatson@ubuntu.com>
6882
6883 * term/gfxterm.c (repaint_schedulded): Rename to ...
6884 (repaint_scheduled): ... this. Update all callers.
6885 (repaint_was_schedulded): Rename to ...
6886 (repaint_was_scheduled): ... this. Update all callers.
6887
5357687a
CW
68882010-07-06 Colin Watson <cjwatson@ubuntu.com>
6889
6890 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6891 which we expect to be handled by upper layers.
6892
29d7e783
BC
68932010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6894
6895 * bus/usb/usbhub.c: #include time.h header.
6896
37582066
CW
68972010-07-06 Colin Watson <cjwatson@ubuntu.com>
6898
6899 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6900 entry_name also for entries without stat blocks (e.g. ".."); fixes
6901 corruption of the first entry in a directory.
6902
c8c06953
CW
69032010-07-06 Colin Watson <cjwatson@ubuntu.com>
6904
6905 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6906 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6907 doesn't work otherwise.
6908
e75056f1
CW
69092010-07-05 Colin Watson <cjwatson@ubuntu.com>
6910
6911 * docs/grub.texi (Features): Update list of supported file systems.
6912 (GNU/Linux): Update for GRUB 2.
6913 (Serial terminal): Remove mention of --disable-serial, which was a
6914 GRUB Legacy configure option. Update instructions to use
6915 `terminal_input' and `terminal_output' rather than `terminal'.
6916 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6917 configuration' and `Installing GRUB using grub-install'.
6918 (Menu entry editor): Update for GRUB 2.
6919 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6920 Document new -a, -u, and -v options.
6921 (initrd): New section.
6922 (initrd16): New section.
6923 (linux): New section.
6924 (linux16): New section.
6925 (search): The `var' argument to `--set' is optional.
6926 (GRUB only offers a rescue shell): Go into a little more detail on
6927 drive ordering.
6928
5cf69151
CW
69292010-07-05 Colin Watson <cjwatson@ubuntu.com>
6930
6931 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6932
e3f90044
CW
69332010-07-05 Colin Watson <cjwatson@ubuntu.com>
6934
6935 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6936 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6937
38d8f4f3
CW
69382010-07-05 Colin Watson <cjwatson@ubuntu.com>
6939
6940 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6941 install_prefix, in line with install_dos_part and install_bsd_part.
6942 Add new prefix variable, which is copied to install_prefix after
6943 comparing core.img in memory with the one read from disk in the
6944 no-embedding case, and use that rather than overwriting
6945 install_prefix immediately when installing to a partition.
6946 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6947 Bicakci.
6948
57ebd41e
GS
69492010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6950
6951 * configure.ac: Avoid == in test command, it's not portable.
6952 * util/grub.d/30_os-prober.in: Likewise.
6953
cb7f64b2
CW
69542010-07-04 Colin Watson <cjwatson@ubuntu.com>
6955
6956 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6957
6b654bb0
GS
69582010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6959
6960 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6961 multiple (top-level) partmaps.
6962
72a2026d
VS
69632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 6966 Reported by: Tino Keitel.
72a2026d 6967
df3eb88f
VS
69682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 Bidi and diacritics support.
6971
6972 * Makefile.in (widthspec.bin): New target.
6973 (widthspec.h): Likewise.
6974 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6975 * autogen.sh: Generate unidata.c.
6976 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6977 * commands/ls.c (grub_ls_list_devices): Likewise.
6978 (grub_ls_list_files): Likewise.
6979 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6980 (grub_mini_cmd_lsmod): Likewise.
6981 * commands/read.c: Likewise.
6982 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6983 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6984 * lib/arg.c (grub_arg_show_help): Likewise.
6985 * lib/crypto.c (grub_password_get): Likewise.
6986 * normal/auth.c (grub_username_get): Likewise.
6987 * normal/misc.c (grub_normal_print_device_info): Likewise.
6988 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6989 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6990 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6991 (normal/charset.c_DEPENDENCIES): New variable.
6992 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6993 (pkglib_MODULES): Remove charset.mod.
6994 (charset_mod_SOURCES): Removed.
6995 (charset_mod_CFLAGS): Likewise.
6996 (charset_mod_LDFLAGS): Likewise.
6997 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6998 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6999 and term/tparm.c.
7000 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7001 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7002 (kernel_img_HEADERS): Add terminfo.h.
7003 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
7004 Fill ->font. Reverse ascii bitmaps.
7005 (grub_font_get_xheight): New function.
7006 * font/font.c (grub_font_get_string_width): Moved from here ...
7007 * gfxmenu/font.c (grub_font_get_string_width): ... here.
7008 * font/font.c (grub_font_draw_string): Moved from here ...
7009 * gfxmenu/font.c (grub_font_draw_string): ... here.
7010 * font/font.c (grub_font_dup_glyph): New function.
7011 (grub_font_blit_glyph): Likewise.
7012 (grub_font_blit_glyph_mirror): Likewise.
7013 (blit_comb): Likewise.
7014 (grub_font_construct_dry_run): Likewise.
7015 (grub_font_get_constructed_device_width): Likewise.
7016 (grub_font_construct_glyph): Likewise.
7017 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
7018 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
7019 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
7020 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
7021 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
7022 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
7023 (grub_font_get_xheight): New proto.
7024 (grub_font_get_constructed_device_width): Likewise.
7025 (grub_font_construct_glyph): Likewise.
7026 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
7027 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
7028 * include/grub/font.h (grub_font_draw_string): Moved from here ...
7029 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
7030 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
7031 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
7032 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
7033 (grub_console_getcharwidth): Likewise.
7034 * include/grub/misc.h (grub_xputs): New proto.
7035 (grub_puts): Inlined.
7036 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
7037 (grub_normal_get_line_counter): Removed.
7038 (grub_install_newline_hook): Likewise.
7039 (grub_normal_get_char_counter): New proto.
7040 (grub_normal_reset_more): Likewise.
7041 (grub_xputs_normal): Likewise.
7042 * include/grub/powerpc/ieee1275/console.h: Removed.
7043 * include/grub/sparc64/ieee1275/console.h: Likewise.
7044 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
7045 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
7046 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
7047 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
7048 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
7049 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
7050 (grub_term_input): Pass reference to self. All users updated.
7051 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
7052 Pass reference to self. New fields normal_color, highlight_color and
7053 data. All users updated.
7054 (grub_putchar): Removed.
7055 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
7056 (grub_unicode_estimate_width): New function.
7057 (grub_term_getcharwidth): Add defaults.
7058 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
7059 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
7060 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
7061 (grub_cls): Remove EXPORT_FUNC.
7062 (grub_setcolorstate): Inline.
7063 (grub_newline_hook): Removed.
7064 * include/grub/terminfo.h: Rewritten. All users updated.
7065 * include/grub/unicode.h: New file.
7066 * include/grub/video.h (grub_video_signed_rect): New type.
7067 * kern/emu/console.c (grub_console_highlight_color): Removed.
7068 (grub_console_normal_color): Likewise.
7069 (grub_console_standard_color): Made static.
7070 (grub_ncurses_putchar): Remove mapping.
7071 (grub_ncurses_getcharwidth): Removed.
7072 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
7073 (grub_ncurses_setcolor): Removed.
7074 (grub_ncurses_getcolor): Likewise.
7075 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
7076 (grub_console_putchar): ... this.
7077 (grub_console_putchar): Handle argument difference.
7078 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
7079 console_init_early and console_init_lately.
7080 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
7081 * kern/misc.c (grub_puts): Removed.
7082 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
7083 (grub_vsnprintf_real): Remove str = NULL support.
7084 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
7085 * normal/charset.c (grub_utf8_to_ucs4): ... here.
7086 * kern/term.c (grub_putcode): Renamed to ...
7087 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
7088 (grub_putchar): Removed.
7089 (grub_xputs_dumb): New function.
7090 (grub_xputs): New variable.
7091 * lib/charset.c: Move from here ...
7092 * normal/charset.c: ... to here.
7093 (grub_ucs4_to_utf8): New function.
7094 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
7095 (join_types): New variable.
7096 (unpack_join): New function.
7097 (bidi_types): New variable.
7098 (unpack_bidi): New function.
7099 (get_bidi_type): Likewise.
7100 (get_join_type): Likewise.
7101 (is_mirrored): Likewise.
7102 (grub_unicode_get_comb_type): Likewise.
7103 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
7104 (is_type_after): Likewise.
7105 (grub_unicode_aglomerate_comb): Likewise.
7106 (bidi_line_wrap): Likewise.
7107 (grub_bidi_line_logical_to_visual): Likewise.
7108 (grub_bidi_logical_to_visual): Likewise.
7109 (grub_unicode_mirror_code): Likewise.
7110 (grub_unicode_shape_code): Likewise.
7111 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
7112 Don't use grub_putchar.
7113 * normal/main.c (grub_normal_init_page): Use grub_putcode.
7114 (grub_normal_reader_init): Likewise.
7115 (grub_xputs_saved): New variable.
7116 (GRUB_MOD_INIT): Set grub_xputs.
7117 (GRUB_MOD_FINI): Restore grub_xputs.
7118 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
7119 (menu_init): Avoid printing gfxmenu error.
7120 (show_menu): Use grub_normal_get_char_counter.
7121 * normal/menu_entry.c (update_screen): Fix out-of-array.
7122 (complete): Avoid NULL dereferencing.
7123 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
7124 * normal/menu_text.c (print_spaces): Removed.
7125 (grub_print_ucs4): Likewise.
7126 (grub_print_message_indented): Use grub_print_ucs4.
7127 (print_message): Use grub_putcode.
7128 (print_entry): Hanlde diacritics.
7129 * normal/term.c (term_state): New type.
7130 (grub_more_lines): Removed.
7131 (term_states): New variable.
7132 (grub_normal_line_counter): Renamed to ..
7133 (grub_normal_char_counter): ...this. All users updated.
7134 (grub_normal_get_line_counter): Renamed to ...
7135 (grub_normal_get_char_counter): ... this.
7136 (grub_normal_reset_more): New function.
7137 (process_newline): Removed.
7138 (print_more): New function.
7139 (grub_install_newline_hook): Removed.
7140 (map_code): New function.
7141 (grub_puts_terminal): Use grub_print_ucs4.
7142 (putglyph): New function.
7143 (putcode_real): Likewise.
7144 (grub_putcode): Use putcode_real.
7145 (get_maxwidth): New function.
7146 (get_startwidth): Likewise.
7147 (print_ucs4_terminal): Likewise.
7148 (find_term_state): Likewise.
7149 (put_glyphs_terminal): Likewise.
7150 (print_backlog): Likewise.
7151 (print_ucs4_real): Likewise.
7152 (grub_print_ucs4): Likewise.
7153 (grub_xputs_normal): Likewise.
7154 * term/efi/console.c (grub_console_putchar): Output diacritics.
7155 (grub_console_getcharwidth): Removed.
7156 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
7157 * term/gfxterm.c (clear_char): Free chars.
7158 (scroll_up): Avoid leaking memory.
7159 (grub_gfxterm_putchar): Support diacritics.
7160 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
7161 * term/i386/pc/console.c (grub_console_term_output): Declare as
7162 GRUB_TERM_CODE_TYPE_VGA.
7163 * term/i386/pc/vga.c (grub_vga_term): Declare as
7164 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
7165 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
7166 GRUB_TERM_CODE_TYPE_VGA.
7167 * term/i386/vga_common.c (map_char): Removed.
7168 (grub_console_putchar): Likewise.
7169 (grub_console_getcharwidth): Likewise.
7170 * term/ieee1275/ofconsole.c: Simplify using terminfo.
7171 (colors): Reordered to match terminfo.
7172 (grub_ofconsole_normal_color): Removed.
7173 (grub_ofconsole_writeesc): Likewise.
7174 (grub_ofconsole_highlight_color): Likewise.
7175 (grub_ofconsole_getcharwidth): Likewise.
7176 (grub_ofconsole_setcolorstate): Likewise.
7177 (grub_ofconsole_setcolor): Likewise.
7178 (grub_ofconsole_getcolor): Likewise.
7179 (grub_ofconsole_readkey): Renamed to ...
7180 (readkey): ... this. Remove escape sequence handling. Return -1 on no
7181 key.
7182 (grub_ofconsole_checkkey): Removed.
7183 (grub_ofconsole_getkey): Likewise.
7184 (grub_ofconsole_getxy): Likewise.
7185 (grub_ofconsole_gotoxy): Likewise.
7186 (grub_ofconsole_cls): Likewise.
7187 (grub_ofconsole_refresh): Likewise.
7188 (grub_ofconsole_terminfo_input): New struct.
7189 (grub_ofconsole_terminfo_output): Likewise.
7190 (grub_ofconsole_term_input): Use terminfo.
7191 (grub_ofconsole_term_output): Likewise.
7192 (grub_console_init): Split into ...
7193 (grub_console_init_early): ...this and ...
7194 (grub_console_init_lately): ...this. Use terminfo.
7195 (grub_ofconsole_putchar): Renamed to ...
7196 (put): ... this. Remove mapping.
7197 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
7198 * term/serial.c: Simplify using terminfo.
7199 (xpos): Removed.
7200 (ypos): Likewise.
7201 (keep_track): Likewise.
7202 (registered): Likewise.
7203 (input_buf): Likewise.
7204 (npending): Likewise.
7205 (serial_translate_key_sequence): Likewise.
7206 (fill_input_buf): Likewise.
7207 (grub_serial_checkkey): Likewise.
7208 (grub_serial_getkey): Likewise.
7209 (grub_serial_getxy): Likewise.
7210 (grub_serial_gotoxy): Likewise.
7211 (grub_serial_putchar): Likewise.
7212 (grub_serial_cls): Likewise.
7213 (grub_serial_setcolorstate): Likewise.
7214 (grub_serial_setcursor): Likewise.
7215 (serial_hw_init): Use serial_hw_fetch.
7216 (grub_serial_terminfo_input): New variable.
7217 (grub_serial_terminfo_output): Likewise.
7218 (grub_serial_term_input): Use terminfo.
7219 (grub_serial_term_output): Likewise.
7220 * term/terminfo.c (putstr): Use put.
7221 (grub_terminfo_all_free): New function
7222 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
7223 (grub_terminfo_output_register): New function.
7224 (grub_terminfo_output_unregister): Likewise.
7225 (grub_terminfo_getxy): Likewise.
7226 (grub_terminfo_readkey): Likewise.
7227 (grub_terminfo_checkkey): Likewise.
7228 (grub_terminfo_getkey): Likewise.
7229 (grub_terminfo_input_init): Likewise.
7230 (print_terminfo): Likewise.
7231 (grub_cmd_terminfo): Handle encoding.
7232 (grub_terminfo_gotoxy): Track position.
7233 (grub_terminfo_cls): Likewise.
7234 (grub_terminfo_putchar): Likewise.
7235 (grub_terminfo_setcolorstate): Handle colors
7236 (grub_terminfo_cursor_on): This ...
7237 (grub_terminfo_cursor_off): ... and this merged into ...
7238 (grub_terminfo_setcursor): ... this.
7239 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
7240 * unicode/ArabicShaping.txt: New file (imported from Unicode).
7241 * unicode/BidiMirroring.txt: Likewise.
7242 * unicode/UnicodeData.txt: Likewise.
7243 * unicode/COPYING: Likewise.
7244 * util/grub-editenv.c (grub_putchar): Removed.
7245 (grub_xputs_real): New function.
7246 (grub_xputs): New variable.
7247 * util/grub-fstest.c (grub_putchar): Removed.
7248 (grub_xputs_real): New function.
7249 (grub_xputs): New variable.
7250 * util/grub-mkdevicemap.c (grub_putchar): Removed.
7251 (grub_xputs_real): New function.
7252 (grub_xputs): New variable.
7253 * util/grub-probe.c (grub_putchar): Removed.
7254 (grub_xputs_real): New function.
7255 (grub_xputs): New variable.
7256 * util/grub-script-check.c (grub_putchar): Removed.
7257 (grub_xputs_real): New function.
7258 (grub_xputs): New variable.
7259 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
7260 (grub_xputs_real): New function.
7261 (grub_xputs): New variable.
7262 * util/import_unicode.py: New file.
7263 * util/grub-mkfont.c (ft_errmsgs): New array.
7264 (grub_glyph_info): Make bitmap a pointer.
7265 (file_formats): New type WIDTH_SPEC.
7266 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
7267 (options): Add width-spec.
7268 (help): Likewise.
7269 (add_char): Renamed to ...
7270 (add_glyph): ... this.
7271 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
7272 (glyph_replace): New type.
7273 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
7274 (add_char): New function.
7275 (add_subst): Likewise.
7276 (process_cursive): Likewise.
7277 (add_font): Handle GSUB.
7278 (write_font_width_spec): New function.
7279 (main): Sort glyphs.
7280 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
7281 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
7282 * kern/term.c (grub_cls): Moved from here...
7283 * normal/term.c (grub_cls): ... here.
7284
50f0bcda
CW
72852010-07-02 Colin Watson <cjwatson@ubuntu.com>
7286
7287 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
7288 suitable for using within the format argument of printf when
7289 converting grub_size_t.
7290 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
7291 "x" to convert grub_size_t arguments.
7292
40372103
VS
72932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
7296 too long captions.
7297 (list_get_minimal_size): Take selection box into account.
7298
942a10c7
VS
72992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
7302 NULL font.
7303
2bdb2892
CW
73042010-07-02 Colin Watson <cjwatson@ubuntu.com>
7305
7306 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
7307 devices when iterating over /dev/disk/by-id; they will be handled
7308 later if appropriate, which they aren't always (e.g. LVM).
7309
e03ed6c1
CW
73102010-07-02 Colin Watson <cjwatson@ubuntu.com>
7311
7312 * include/grub/misc.h (grub_reboot): Declare as noreturn.
7313 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
7314 fails.
7315 (grub_halt): Likewise.
7316 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
7317 reset-all fails.
7318 (grub_halt): Don't return, even if all of shut-down, power-off, and
7319 poweroff fail.
7320
47695765
CW
73212010-07-02 Colin Watson <cjwatson@ubuntu.com>
7322
7323 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
7324 arguments, not three.
7325
507736c8
CW
73262010-07-02 Colin Watson <cjwatson@ubuntu.com>
7327
7328 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
7329 * util/grub.d/10_linux.in: Use it to check for LVM, so that
7330 LVM-on-RAID is handled correctly.
7331
e3c8cd37
CW
73322010-07-02 Colin Watson <cjwatson@ubuntu.com>
7333
7334 * docs/grub.texi (Changes from GRUB Legacy): New section.
7335 (Future): Fix typo.
7336
8d4a2fec
CW
73372010-07-02 Colin Watson <cjwatson@ubuntu.com>
7338
7339 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
7340 grub.d/README accidentally ends up executable for one reason or
7341 another. Ignore it.
7342
1c4827be
VS
73432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7346 (gpt_partition_map_iterate): Support non-512B sectors.
7347
d9a0c941
VS
73482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7351 Tested by: Seth Goldberg.
7352
48f27e87
VS
73532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7356 Properly align mbi.
7357 Reported by: Seth Goldberg.
7358
b0c4f956
VS
73592010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * util/grub-mkrescue.in: Avoid module duplication.
7362
105a2e8c
SF
73632010-07-01 Sean Finney <seanius@seanius.net>
7364
7365 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7366
5944958c
SF
73672010-07-01 Sean Finney <seanius@seanius.net>
7368
7369 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7370
73712010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * disk/lvm.c (grub_lvm_checkvalue): New function.
7374 (grub_lvm_check_flag): Likewise.
7375
b79889ba
RM
73762010-07-01 Robert Millan <rmh@gnu.org>
7377
7378 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7379 Support 'p' as partition separator on kernel of FreeBSD (used
7380 with GPT labels).
7381 (grub_util_biosdisk_get_grub_dev): Likewise.
7382
ec1d04f1
VS
73832010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Yeeloong firmware port.
7386
7387 * boot/mips/yeeloong/fwstart.S: New file.
7388 * bus/cs5536.c (gpiodump): New const.
7389 (set_io_space): New function.
7390 (set_iod): Likewise.
7391 (set_p2d): Likewise.
7392 (grub_cs5536_init_geode): Likewise.
7393 * commands/mips/yeeloong/lsspd.c: New file.
7394 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7395 (serial_mod_SOURCES): New variable.
7396 (serial_mod_CFLAGS): Likewise.
7397 (serial_mod_LDFLAGS): Likewise.
7398 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7399 term/terminfo.c and term/tparm.c.
7400 (pkglib_IMAGES): Add fwstart.img.
7401 (fwstart_img_SOURCES): New variable.
7402 (fwstart_img_CFLAGS): Likewise.
7403 (fwstart_img_ASFLAGS): Likewise.
7404 (fwstart_img_LDFLAGS): Likewise.
7405 (fwstart_img_FORMAT): Likewise.
7406 (pkglib_MODULES): Add lsspd.mod.
7407 (lsspd_mod_SOURCES): New variable.
7408 (lsspd_mod_CFLAGS): Likewise.
7409 (lsspd_mod_LDFLAGS): Likewise.
7410 (pkglib_MODULES): Add halt.mod.
7411 (halt_mod_SOURCES): New variable.
7412 (halt_mod_CFLAGS): Likewise.
7413 (halt_mod_LDFLAGS): Likewise.
7414 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7415 (serial_mod_SOURCES): Removed.
7416 (serial_mod_CFLAGS): Likewise.
7417 (serial_mod_LDFLAGS): Likewise.
7418 * disk/ata.c (check_device): New function.
7419 (grub_ata_device_initialize): Use check_device.
7420 (grub_ata_iterate): Recheck devices.
7421 (grub_ata_open): Likewise.
7422 (grub_atapi_iterate): Likewise.
7423 (grub_atapi_open): Likewise.
7424 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7425 (GRUB_ATA_CH1_PORT1): Likewise.
7426 (GRUB_ATA_CH0_PORT2): Likewise.
7427 (GRUB_ATA_CH1_PORT2): Likewise.
7428 * include/grub/mips/loongson.h: New file.
7429 * include/grub/mips/yeeloong/ec.h: Likewise.
7430 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7431 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7432 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7433 * include/grub/misc.h (grub_halt): Declare as noreturn.
7434 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7435 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7436 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7437 (UART_ENABLE_DTRRTS): Likewise.
7438 (UART_ENABLE_MODEM): Removed.
7439 (UART_ENABLE_OUT2): New const.
7440 * include/grub/term.h (grub_term_register_input_active): New function.
7441 (grub_term_register_output_active): Likewise.
7442 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7443 argument.
7444 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7445 (init_pci): New function.
7446 (grub_machine_init): Execute platform init when firmware. Init serial.
7447 (grub_halt): Implement.
7448 (grub_exit): Likewise.
7449 (grub_reboot): Likewise.
7450 * term/serial.c (serial_hw_init): Update macros.
7451 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7452 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7453 (image_targets): New target mipsel-yeeloong-flash.
7454 (generate_image): Support IMAGE_YEELOONG_FLASH.
7455 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7456 (grub_video_sm712_setup): Init card.
7457 (grub_video_sm712_set_palette): Removed.
7458 * video/sm712_init.c: New file.
7459
ff4a70d2
CW
74602010-06-30 Colin Watson <cjwatson@ubuntu.com>
7461
7462 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7463 PATH when running help2man and then run it on the unadorned
7464 executable names, rather than passing $(builddir)/* paths to
7465 help2man. This avoids the build directory ending up in generated
7466 manual pages.
7467
1246efeb
CW
74682010-06-29 Colin Watson <cjwatson@ubuntu.com>
7469
7470 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7471 to avoid accidents when debugging with 'sh -x'.
7472 * util/grub-mkrescue.in: Likewise.
7473 * util/grub.d/00_header.in: Likewise.
7474 * util/grub.d/10_hurd.in: Likewise.
7475 * util/grub.d/10_kfreebsd.in: Likewise.
7476 * util/grub.d/10_linux.in: Likewise.
7477 * util/grub.d/10_netbsd.in: Likewise.
7478 * util/grub.d/10_windows.in: Likewise.
7479 * util/grub.d/20_linux_xen.in: Likewise.
7480 * util/grub.d/30_os-prober.in: Likewise.
7481 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7482
1ba9b889
CW
74832010-06-29 Colin Watson <cjwatson@ubuntu.com>
7484
7485 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7486 last character in the buffer.
7487 Reported by: Vladimir Serbinenko.
7488
dccaf99d
RM
74892010-06-29 Robert Millan <rmh@gnu.org>
7490
7491 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7492 (Command-line and menu entry commands): Document `badram' command.
7493
d500ed12
RM
74942010-06-28 Robert Millan <rmh@gnu.org>
7495
7496 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7497 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7498 command using ${GRUB_BADRAM} as parameter.
7499
20bc84a6
CW
75002010-06-28 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * docs/grub.texi (Device map): New section.
7503 (Themes): New section (stub).
7504 * Makefile.in (docs/grub.info): The info documentation now builds
7505 without errors. Make sure it stays that way.
7506
4045dee1
VS
75072010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 Use normal parser for menu entries.
7510 Reported by: Thomas Frauendorfer
7511
7512 * include/grub/parser.h (grub_parser_execute): Don't export.
7513 * normal/menu.c (grub_menu_execute_entry_real): New function.
7514 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7515
bca58c7b
CW
75162010-06-28 Colin Watson <cjwatson@ubuntu.com>
7517
7518 * docs/grub.texi (Embedded configuration): New section (replacing
7519 old "Preset Menu" stub).
7520 (Images): New section.
7521 (configfile): Note that any menu entries defined in `file' are shown
7522 immediately.
7523
dec53e63
JT
75242010-06-28 Josh Triplett <josh@joshtriplett.org>
7525
7526 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7527
c06e40f7
CW
75282010-06-28 Colin Watson <cjwatson@ubuntu.com>
7529
7530 * util/grub-install.in: Add --debug-image= option.
7531
cb88052b
CW
75322010-06-28 Colin Watson <cjwatson@ubuntu.com>
7533
7534 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7535 possible on Linux.
7536
7537 * util/deviceiter.c (check_device): Rename to ...
7538 (check_device_readable_unique): ... this. Update all callers.
7539 Maintain and check a list of which devices (by canonicalized name)
7540 have already been seen.
7541 (clear_seen_devices): New function.
7542 (compare_file_names) [__linux__]: New function.
7543 (grub_util_iterate_devices): Clear the list of seen devices on exit
7544 and (just in case) on entry.
7545 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7546 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7547 seen-devices list, superseded by general code in check_device.
7548
bbe34652
CW
75492010-06-28 Colin Watson <cjwatson@ubuntu.com>
7550
7551 * commands/cat.c (options): New variable.
7552 (grub_cmd_cat): Parse options. If the --dos option is given, print
7553 DOS-style "\r\n" line endings as simple newlines (Debian bug
7554 #586358).
7555 (GRUB_MOD_INIT): Use extcmd.
7556 (GRUB_MOD_FINI): Likewise.
7557 * docs/grub.texi (cat): Document --dos.
7558
412e09f3
VS
75592010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 XEN with Linux grub-mkconfig support.
7562
7563 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7564 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7565 GRUB_CMDLINE_XEN_DEFAULT.
7566 * util/grub.d/20_linux_xen.in: New file.
7567
53f3ef38 75682010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
7569
7570 Initialise VGA video on qemu ourselves.
7571
7572 * boot/i386/qemu/boot.S: Don't call 0xc000.
7573 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7574 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7575 (kernel_img_HEADERS): Add pci.h.
7576 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7577 * configure.ac: Force unifont on qemu and yeeloong.
7578 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7579 (grub_vga_palette_write): Use correct register.
7580 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7581 Call grub_qemu_init_cirrus.
7582 * kern/i386/qemu/init.c: New file.
7583 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7584
7585 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7586
c75be4fb
PR
75872010-06-26 Pavel Roskin <proski@gnu.org>
7588
7589 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7590 13.
7591
d8034603
CW
75922010-06-26 Colin Watson <cjwatson@ubuntu.com>
7593
7594 * docs/grub.texi (Simple configuration): Explain that
7595 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7596 set to `true' to disable their respective recovery entries, not
7597 merely set.
7598
3fa06487
CW
75992010-06-26 Colin Watson <cjwatson@ubuntu.com>
7600
7601 Make the `source' command slightly faster.
7602
7603 * normal/main.c (grub_normal_execute): Don't re-read list files when
7604 nested.
7605
e9b29642
CW
76062010-06-23 Colin Watson <cjwatson@ubuntu.com>
7607
7608 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7609 field position and mask size to red fields from mode_info, not
7610 green.
7611 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7612 Remove redundant tag->common.framebuffer_type assignment.
7613 Reported by: Seth Goldberg.
7614
e726542f
CW
76152010-06-23 Colin Watson <cjwatson@ubuntu.com>
7616
7617 Sync up other versions of the Linux loader with Robert Millan's
7618 change of 2010-01-09, "Make loader output a bit more user-friendly".
7619
7620 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7621 grub_dprintf().
7622 (grub_cmd_linux): Likewise.
7623 (grub_cmd_initrd): Likewise.
7624 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7625 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7626
d6e98a17
CW
76272010-06-21 Colin Watson <cjwatson@ubuntu.com>
7628
7629 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7630 larger than MEMORY_MAP_SIZE.
7631
14d3f08e
BC
76322010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7633
7634 Fix parallel build.
7635
7636 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7637 dependency.
7638 * script/parser.y: #include grub_script.tab.h header.
7639
4f9613a3
VS
76402010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 Support >3GiB and <16MiB RAM in i386-qemu.
7643
7644 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7645 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7646 (grub_lower_mem): Removed.
7647 (grub_upper_mem): Likewise.
7648 (mem_size): Made static.
7649 (above_4g): New variable.
7650 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7651 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7652 support.
7653
05e51879
VS
76542010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 Cirrus 5446 and Bochs video cards support.
7657
7658 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7659 video_bochs.mod
7660 (video_cirrus_mod_SOURCES): New variable.
7661 (video_cirrus_mod_CFLAGS): Likewise.
7662 (video_cirrus_mod_LDFLAGS): Likewise.
7663 (video_bochs_mod_SOURCES): Likewise.
7664 (video_bochs_mod_CFLAGS): Likewise.
7665 (video_bochs_mod_LDFLAGS): Likewise.
7666 * include/grub/vga.h: New file.
7667 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7668 (grub_video_fb_set_page_t): New type.
7669 (grub_video_fb_setup): New prototype.
7670 (grub_video_fb_swap_buffers): Likewise.
7671 (grub_video_fb_get_info_and_fini): Likewise.
7672 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7673 (CRTC_DATA_PORT): Likewise.
7674 (CRTC_CURSOR): Likewise.
7675 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7676 (CRTC_CURSOR_ADDR_LOW): Likewise.
7677 (CRTC_CURSOR_DISABLE): Likewise.
7678 (update_cursor): Use grub_vga_cr_write.
7679 (grub_vga_text_setcursor): Likewise.
7680 * video/bochs.c: New file.
7681 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7682 (palette): Likewise.
7683 (palette_size): Likewise.
7684 (framebuffer): New variable.
7685 (grub_video_fb_init): Use 'framebuffer'.
7686 (grub_video_fb_fini): Likewise.
7687 (grub_video_fb_get_info): Likewise.
7688 (grub_video_fb_get_palette): Likewise.
7689 (grub_video_fb_set_palette): Likewise.
7690 (grub_video_fb_set_viewport): Likewise.
7691 (grub_video_fb_get_viewport): Likewise.
7692 (grub_video_fb_map_color): Likewise.
7693 (grub_video_fb_map_rgb): Likewise.
7694 (grub_video_fb_map_rgba): Likewise.
7695 (grub_video_fb_unmap_color): Likewise.
7696 (grub_video_fb_unmap_color_int): Likewise.
7697 (grub_video_fb_fill_rect): Likewise.
7698 (grub_video_fb_blit_bitmap): Likewise.
7699 (grub_video_fb_blit_render_target): Likewise.
7700 (grub_video_fb_scroll): Likewise.
7701 (grub_video_fb_create_render_target): Likewise.
7702 (grub_video_fb_doublebuf_blit_init): Likewise.
7703 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7704 (doublebuf_pageflipping_update_screen): New function.
7705 (doublebuf_pageflipping_init): Likewise.
7706 (grub_video_fb_setup): Likewise.
7707 (grub_video_fb_swap_buffers): Likewise.
7708 (grub_video_fb_get_info_and_fini): Likewise.
7709 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7710 All users updated.
7711 (doublebuf_pageflipping_commit): Restructured into ...
7712 (doublebuf_pageflipping_set_page): ... this.
7713 (doublebuf_pageflipping_update_screen): Removed.
7714 (doublebuf_pageflipping_init): Likewise.
7715 (double_buffering_init): Likewise.
7716 (grub_video_vbe_setup): Use grub_video_fb_setup.
7717 (grub_video_vbe_swap_buffers): Removed.
7718 (grub_video_vbe_set_active_render_target): Likewise.
7719 (grub_video_vbe_get_active_render_target): Likewise.
7720 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7721 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7722 grub_video_fb_set_active_render_target and
7723 grub_video_fb_get_active_render_target.
7724 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7725 (SEQUENCER_DATA_PORT): Likewise.
7726 (MAP_MASK_REGISTER): Likewise.
7727 (CRTC_ADDR_PORT): Likewise.
7728 (CRTC_DATA_PORT): Likewise.
7729 (START_ADDR_HIGH_REGISTER): Likewise.
7730 (START_ADDR_LOW_REGISTER): Likewise.
7731 (GRAPHICS_ADDR_PORT): Likewise.
7732 (GRAPHICS_DATA_PORT): Likewise.
7733 (READ_MAP_REGISTER): Likewise.
7734 (INPUT_STATUS1_REGISTER): Likewise.
7735 (INPUT_STATUS1_VERTR_BIT): Likewise.
7736 (get_map_mask): Use grub_vga_sr_read.
7737 (set_map_mask): Use grub_vga_sr_write.
7738 (set_read_map): Use grub_vga_gr_write.
7739 (set_start_address): Use grub_vga_cr_write.
7740 * video/sm712.c (framebuffer): Remove leftover fields.
7741
4321c64a
CW
77422010-06-20 Colin Watson <cjwatson@ubuntu.com>
7743
7744 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7745 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7746 instead. Replace the gfxterm backend check with a check that
7747 ${GRUB_PREFIX}/video.lst is non-empty.
7748 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7749 again.
7750 (load_video): New generated function. Call it before loading
7751 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7752 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7753 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7754 * docs/grub.texi (Simple configuration): Document
7755 GRUB_VIDEO_BACKEND.
7756
77572010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 Use video functions in linux and xnu loaders.
7760
7761 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7762 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7763 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7764 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7765 loader/i386/pc/linux.c.
7766 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7767 (find_line_len): Removed.
7768 (find_framebuf): Likewise.
7769 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7770 * loader/i386/efi/xnu.c: Removed.
7771 * loader/i386/pc/xnu.c: Moved from here...
7772 * loader/i386/xnu.c: ...here.
7773
7774 Enable priorities in video drivers.
7775
7776 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7777 (grub_video_adapter): New field prio.
7778 (grub_video_register): Respect prio when inserting.
7779 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7780 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7781 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7782 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7783 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7784 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7785 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7786
7787 Fix SDL driver ID.
7788
7789 * include/grub/video.h (grub_video_driver_id_t): New value
7790 GRUB_VIDEO_DRIVER_SDL.
7791 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7792
7d24e434
CW
77932010-06-17 Colin Watson <cjwatson@ubuntu.com>
7794
7795 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7796 argument to printf.
7797 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7798
c88a83f6
CW
77992010-06-17 Colin Watson <cjwatson@ubuntu.com>
7800
7801 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7802 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7803
094dfb69
CW
78042010-06-17 Colin Watson <cjwatson@ubuntu.com>
7805
7806 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7807 directly, and recommend grub-install instead.
7808 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7809
2164da6b
CW
78102010-06-17 Colin Watson <cjwatson@ubuntu.com>
7811
7812 Fix i386-pc prefix handling with nested partitions (Debian bug
7813 #585068). Note that the case where the core image is booted using
7814 multiboot and relocated from its original location still requires
7815 more work.
7816
7817 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7818 with "(,", fill the boot drive in between those two characters, but
7819 expect that a full partition specification including partition map
7820 names will follow.
7821 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7822 specified, write a prefix without the drive name but including a
7823 full partition specification.
7824
044e2e60
CW
78252010-06-16 Colin Watson <cjwatson@ubuntu.com>
7826
7827 * util/grub-mkconfig.in: Ignore non-option arguments, for
7828 compatibility with older versions (before 2010-06-12) which did the
7829 same. In particular, this makes it easier to ship an update-grub
7830 wrapper which is compatible with that used with GRUB Legacy (Debian
7831 bug #586056).
7832
5591324f
GS
78332010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7834
7835 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7836 for manual page generation.
7837
662e24d5
GS
78382010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7839
7840 * po/POTFILES: Remove leftover commands/handler.c.
7841
8d70754e
CW
78422010-06-14 Colin Watson <cjwatson@ubuntu.com>
7843
7844 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7845 left this script non-functional.
7846
41160e2e
CW
78472010-06-14 Colin Watson <cjwatson@ubuntu.com>
7848
7849 * docs/man/grub-emu.h2m: New file.
7850
b5309cc1
CW
78512010-06-13 Colin Watson <cjwatson@ubuntu.com>
7852
7853 * docs/grub.texi (Commands): Document reduced command set in rescue
7854 mode.
7855 (cpuid): New section.
7856
fcb2d090
GS
78572010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7858
7859 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7860 new partition naming style.
7861 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7862
96e5c556
BC
78632010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7864
7865 Add "-o grub.iso" like cmdline options support.
7866
7867 * util/grub-install.in: Improve cmdline option parsing.
7868 * util/grub-mkconfig.in: Likewise.
7869 * util/grub-mkrescue.in: Likewise.
7870 * util/grub-reboot.in: Likewise.
7871 * util/grub-set-default.in: Likewise.
7872 * util/i386/efi/grub-install.in: Likewise.
7873 * util/ieee1275/grub-install.in: Likewise.
7874 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7875
c16be99b
CW
78762010-06-12 Colin Watson <cjwatson@ubuntu.com>
7877
7878 * .bzrignore: Ignore 41_custom.
7879
ce08a9fb
TS
78802010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7881
7882 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7883
7beac90c
CW
78842010-06-12 Colin Watson <cjwatson@ubuntu.com>
7885
7886 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7887 prototype declarations.
7888
7889 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7890 generating fs, partmap, and video lists.
7891 * include/grub/fs.h (grub_fs_register): Omit prototype if
7892 GRUB_LST_GENERATOR is defined.
7893 * include/grub/partition.h (grub_partition_map_register): Likewise.
7894 * include/grub/video.h (grub_video_register): Likewise.
7895
1c8f0f8d
JM
78962010-06-12 Javier Martín <lordhabbit@gmail.com>
7897
7898 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7899
a6085973
TS
79002010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7901
7902 * util/grub-mkrescue.in: Support --xorriso argument.
7903
25c56d29
VS
79042010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7907 Suggested by: Thomas Schmitt.
7908
e03e4b24
VS
79092010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7912 Suggested by: Thomas Schmitt.
7913
57711df6
VS
79142010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 custom.cfg support.
7917
7918 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7919 * util/grub.d/41_custom.in: New file.
7920
ee62c427
CW
79212010-06-12 Colin Watson <cjwatson@ubuntu.com>
7922
7923 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7924 been merged back into normal.
7925
283af07a
CW
79262010-06-11 Colin Watson <cjwatson@ubuntu.com>
7927
7928 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7929 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7930
56a0d956
CW
79312010-06-11 Colin Watson <cjwatson@ubuntu.com>
7932
7933 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7934 when generating manual pages.
7935 * docs/man/grub-bin2h.h2m: New file.
7936 * docs/man/grub-editenv.h2m: New file.
7937 * docs/man/grub-fstest.h2m: New file.
7938 * docs/man/grub-install.h2m: New file.
7939 * docs/man/grub-macho2img.h2m: New file.
7940 * docs/man/grub-mkconfig.h2m: New file.
7941 * docs/man/grub-mkdevicemap.h2m: New file.
7942 * docs/man/grub-mkfont.h2m: New file.
7943 * docs/man/grub-mkimage.h2m: New file.
7944 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7945 * docs/man/grub-mkrelpath.h2m: New file.
7946 * docs/man/grub-mkrescue.h2m: New file.
7947 * docs/man/grub-ofpathname.h2m: New file.
7948 * docs/man/grub-pe2elf.h2m: New file.
7949 * docs/man/grub-probe.h2m: New file.
7950 * docs/man/grub-reboot.h2m: New file.
7951 * docs/man/grub-script-check.h2m: New file.
7952 * docs/man/grub-set-default.h2m: New file.
7953 * docs/man/grub-setup.h2m: New file.
7954
3a37e322
VS
79552010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 Use FOR_* macros instead of *_iterate whenever possible.
7958
7959 * commands/handler.c: Removed.
7960 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7961 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7962 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7963 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7964 (grub_probe_SOURCES): Remove kern/parser.c.
7965 (util/grub-script-check.c_DEPENDENCIES): Removed.
7966 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7967 and grub_script_check_init.c.
7968 (grub_script_check_init.lst): Removed.
7969 (grub_script_check_init.h): Likewise.
7970 (grub_script_check_init.c): Likewise.
7971 (pkglib_MODULES): Remove handler.mod and sh.mod.
7972 (handler_mod_SOURCES): Removed.
7973 (handler_mod_CFLAGS): Likewise.
7974 (handler_mod_LDFLAGS): Likewise.
7975 (normal_mod_SOURCES): Remove normal/handler.c.
7976 Add script/main.c, script/script.c, script/execute.c,
7977 script/function.c, script/lexer.c, grub_script.tab.c
7978 and grub_script.yy.c.
7979 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7980 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7981 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7982 (grub_setup_SOURCES): Remove kern/parser.c.
7983 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7984 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7985 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7986 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7987 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7988 (grub_setup_SOURCES): Remove kern/parser.c.
7989 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7990 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7991 * include/grub/command.h (grub_command_iterate): Removed.
7992 (FOR_COMMANDS): New macro.
7993 * include/grub/dl.h (grub_dl): New member next.
7994 (grub_dl_iterate): Removed.
7995 (grub_dl_head): New variable declaration.
7996 (FOR_DL_MODULES): New macro.
7997 * include/grub/fs.h: Include list.h.
7998 (grub_fs): Make next first element.
7999 (grub_fs_list): New variable declaration.
8000 (grub_fs_register): Make inline.
8001 (grub_fs_unregister): Likewise.
8002 (grub_fs_iterate): Removed.
8003 (FOR_FILESYSTEMS): New macro.
8004 * include/grub/handler.h: Removed.
8005 * include/grub/list.h (grub_list_hook_t): Removed.
8006 (grub_list_test_t): Likewise.
8007 (grub_list_pop): Likewise.
8008 (grub_list_iterate): Likewise.
8009 (grub_list_insert): Likewise.
8010 (FOR_LIST_ELEMENTS): New macro.
8011 * include/grub/parser.h (grub_parser_class): Removed.
8012 (grub_parser_register): Likewise.
8013 (grub_parser_unregister): Likewise.
8014 (grub_parser_get_current): Likewise.
8015 (grub_parser_set_current): Likewise.
8016 (grub_register_rescue_parser): Likewise.
8017 (grub_rescue_parse_line): New function.
8018 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
8019 * include/grub/script_sh.h (grub_script_function_list): New variable
8020 declaration.
8021 (FOR_SCRIPT_FUNCTIONS): New macro.
8022 (grub_script_function_iterate): Removed.
8023 (grub_normal_parse_line): New prototype.
8024 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
8025 (FOR_DISABLED_TERM_INPUTS): Likewise.
8026 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
8027 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
8028 * include/grub/video.h (grub_video_adapter): Move 'next' to first
8029 element.
8030 (grub_video_register): Inline.
8031 (grub_video_unregister): Likewise.
8032 (grub_video_adapter_list): New variable declaration.
8033 (grub_video_iterate): Removed.
8034 (FOR_VIDEO_ADAPTERS): New macro.
8035 * kern/dl.c (grub_dl_list): Removed. All users updated.
8036 (grub_dl_iterate): Removed.
8037 * kern/fs.c (grub_fs_list): Make global.
8038 (grub_fs_register): Removed.
8039 (grub_fs_unregister): Likewise.
8040 (grub_fs_iterate): Likewise.
8041 * kern/handler.c: Removed.
8042 * kern/list.c (grub_list_pop): Removed.
8043 (grub_list_iterate): Likewise.
8044 (grub_list_insert): Likewise.
8045 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
8046 (grub_prio_list_insert): Don't use grub_list_insert.
8047 * kern/main.c (grub_register_rescue_parser): Don't call
8048 grub_register_rescue_parser.
8049 * kern/parser.c (grub_parser_class): Removed.
8050 (grub_parser_execute): Use grub_rescue_parse_line.
8051 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
8052 (grub_rescue_parser): Removed.
8053 (grub_register_rescue_parser): Likewise.
8054 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
8055 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
8056 (grub_auth_check_authentication): Likewise.
8057 * normal/completion.c (iterate_command): Removed.
8058 (grub_normal_do_completion): Use FOR_COMMANDS.
8059 * normal/handler.c: Removed.
8060 * normal/main.c (read_config_file): Remove parser changing.
8061 (grub_normal_execute): Don't call read_handler_list.
8062 (grub_normal_read_line_real): Statically allocate prompt.
8063 (grub_cmdline_run): Use grub_normal_parse_line.
8064 (GRUB_MOD_FINI): Don't call free_handler_list.
8065 * normal/menu_entry.c (run): Likewise.
8066 * script/function.c (grub_script_function_list): Make global.
8067 (grub_script_function_iterate): Removed.
8068 * script/main.c (grub_normal_parse_line): Make global.
8069 (grub_sh_parser): Removed.
8070 (GRUB_MOD_INIT): Likewise.
8071 (GRUB_MOD_FINI): Likewise.
8072 * tests/lib/functional_test.c (grub_functional_test): Use
8073 FOR_LIST_ELEMENTS.
8074 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
8075 (grub_test_run): Use FOR_LIST_ELEMENTS.
8076 * tests/lib/unit_test.c (main): Likewise.
8077 * util/deviceiter.c (grub_util_iterate_devices): Don't use
8078 grub_list_pop.
8079 * util/grub-fstest.c (grub_term_input_class): Removed.
8080 (grub_term_output_class): Likewise.
8081 * util/grub-probe.c: Likewise.
8082 * util/i386/pc/grub-setup.c: Likewise.
8083 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8084 * util/grub-script-check.c (main): Don't call grub_init_all and
8085 grub_fini_all.
8086 * video/video.c (grub_video_adapter_list): Make global.
8087 (grub_video_register): Removed.
8088 (grub_video_unregister): Likewise.
8089 (grub_video_iterate): Likewise.
8090
6289c3a7
VS
80912010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
8094 reported by Henrique Ferreiro.
8095
91460247
RM
80962010-06-09 Robert Millan <rmh@gnu.org>
8097
8098 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
8099 ones, when both are available.
8100
0ea7c4f9
GS
81012010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8102
8103 Make --version uniform and avoid hard-coded program name.
8104
8105 * util/grub-mkimage.c (main): Use `program_name' instead of
8106 hard-coded string.
8107 * util/i386/pc/grub-setup.c (main): Likewise.
8108 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
8109 * util/grub-install.in: Save the basename of $0 in $self, and use the
8110 latter in informational messages. Use the same format for --version
8111 as the binary programs.
8112 * util/grub-mkconfig.in: Likewise.
8113 * util/grub-mkrescue.in: Likewise.
8114 * util/grub-reboot.in: Likewise.
8115 * util/grub-set-default.in: Likewise.
8116 * util/i386/efi/grub-install.in: Likewise.
8117 * util/ieee1275/grub-install.in: Likewise.
8118 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8119
e8a6f3b6
GS
81202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8121
8122 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
8123 embedding area. Use <= instead of == when checking for non-emptiness.
8124
f4d095d7
GS
81252010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8126
8127 * configure.ac: Add `.' to the directories searched for unifont.
8128
50e532ca
CW
81292010-06-08 Colin Watson <cjwatson@ubuntu.com>
8130
8131 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
8132 grub_script.yy.h.
8133
d39f3dec
CW
81342010-06-08 Colin Watson <cjwatson@ubuntu.com>
8135
8136 * docs/grub.texi (History): Expand to cover GRUB 2.
8137 (Serial terminal): Refer to `terminal_input' and `terminal_output'
8138 commands, not `terminal'.
8139 (serial): Likewise.
8140 (terminal_input): New section.
8141 (terminal_output): New section.
8142 (uppermem): New section (stub).
8143 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
8144
6ef0ddb4
CW
81452010-06-08 Colin Watson <cjwatson@ubuntu.com>
8146
8147 * docs/grub.texi (Security): Menu entries are unrestricted by
8148 default, not restricted to superusers as I had previously thought.
8149 Reword to account for this.
8150
e0f4c438
CW
81512010-06-07 Colin Watson <cjwatson@ubuntu.com>
8152
8153 * kern/emu/misc.c (device_mapper_null_log): New function.
8154 (grub_device_mapper_supported): New function.
8155 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
8156 prototype.
8157 * kern/emu/hostdisk.c (find_partition_start): Check whether
8158 device-mapper is supported before trying to use it.
8159 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
8160
da908200
CW
81612010-06-07 Colin Watson <cjwatson@ubuntu.com>
8162
8163 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
8164 (File name syntax): Likewise.
8165 (help): --all is no longer supported in GRUB 2. Be more precise
8166 about pattern matching.
8167
fb55c3ac
CW
81682010-06-07 Colin Watson <cjwatson@ubuntu.com>
8169
8170 * normal/completion.c (grub_normal_do_completion): When completing
8171 arguments to "set" and the current word contains an equals sign,
8172 skip to after the equals sign before starting completion.
8173
258c2573
CW
81742010-06-07 Colin Watson <cjwatson@ubuntu.com>
8175
8176 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
8177
ee75515e
CW
81782010-06-07 Colin Watson <cjwatson@ubuntu.com>
8179
8180 * docs/grub.texi (Network): New section.
8181 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
8182 `(nd)' as in GRUB Legacy.
8183 (pxe_unload): New section.
8184
a6a700aa
CW
81852010-06-07 Colin Watson <cjwatson@ubuntu.com>
8186
8187 * docs/grub.texi (Troubleshooting): `echo' is not usually available
8188 in the rescue shell, so recommend using `set' instead. Thanks,
8189 Jordan Uggla.
8190
4003dd38
CW
81912010-06-07 Colin Watson <cjwatson@ubuntu.com>
8192
8193 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
8194 (password): New section.
8195 (password_pbkdf2): New section.
8196 (search): New section.
8197 (Security): New section.
8198 (Troubleshooting): New section, currently very incomplete.
8199 (Invoking grub-mkpasswd-pbkdf2): New section.
8200 (Internals): New section, currently very incomplete.
8201
e1cbcc40
CW
82022010-06-07 Colin Watson <cjwatson@ubuntu.com>
8203
8204 * util/grub.d/00_header.in: Add some more quoting (of
8205 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
8206 work again.
8207 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
8208
db8fa1ad
CW
82092010-06-07 Colin Watson <cjwatson@ubuntu.com>
8210
8211 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
8212 to `count', fixing variable shadowing that broke the -c option.
8213
82142010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
8215
8216 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
8217 in case they contain spaces.
8218
f28a9212
CW
82192010-06-04 Colin Watson <cjwatson@ubuntu.com>
8220
8221 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
8222 "part_" to partmap module names, in line with grub-install.
8223 Reported by: Jindřich Makovička (Debian bug #584426).
8224
9cdfe32f
CW
82252010-06-04 Colin Watson <cjwatson@ubuntu.com>
8226
8227 * util/grub-mkimage.c: Make target-related error messages slightly
8228 more helpful; -O talks about "format". Explicitly point to the use
8229 of -O if no target is specified.
8230 Reported by: Didier Raboud (Debian bug #584415).
8231
795b593a
CW
82322010-06-03 Colin Watson <cjwatson@ubuntu.com>
8233
8234 * INSTALL: Document several build requirements for optional features
8235 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
8236
9d9b5833
GS
82372010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8238
8239 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
8240 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
8241 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
8242
0819fec8
CW
82432010-06-02 Colin Watson <cjwatson@ubuntu.com>
8244
8245 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
8246 Thanks to Jordan Uggla for spotting this.
8247
49396b4f
VS
82482010-06-02 Aleš Nesrsta <starous@volny.cz>
8249
8250 Finally make USB usable.
8251
8252 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
8253 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
8254 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
8255 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
8256 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
8257 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
8258 (GRUB_OHCI_FSMPS): Likewise.
8259 (GRUB_OHCI_PERIODIC_START): Likewise.
8260 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
8261 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
8262 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
8263 (GRUB_OHCI_SET_PORT_RESET): Likewise.
8264 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
8265 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
8266 (grub_ohci_transaction): Likewise.
8267 (grub_ohci_transfer): Improve condition detection algorithms.
8268 Handle toggle property. Program the transactions correctly.
8269 Improve error handling. Various important fixups.
8270 (grub_ohci_portstatus): Put register writes in right order.
8271 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
8272 (grub_uhci_transfer): Don't show "failed" message on success.
8273 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
8274 array.
8275 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
8276 determine its size.
8277 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
8278 before initialization is completed. Use IN direction for empty
8279 transfers. Use last_trans and compute toggle.
8280 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
8281 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
8282 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
8283 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
8284 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
8285 (grub_usb_device): Increase toggle to 256.
8286 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
8287 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
8288 GRUB_USBMS_SUBCLASS_SFF8070.
8289 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
8290 (grub_scsi_inquiry): New member page and alloc_length.
8291 (grub_scsi_request_sense): New structure.
8292 (grub_scsi_request_sense_data): Likewise.
8293 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
8294 control.
8295 * disk/scsi.c (grub_scsi_request_sense): New function.
8296 (grub_scsi_test_unit_ready): Likewise.
8297 (grub_scsi_inquiry): Fill new fields.
8298 (grub_scsi_read_capacity): Likewise.
8299 (grub_scsi_read10): Add request sense at the end.
8300 (grub_scsi_read12): Likewise.
8301 (grub_scsi_write10): Likewise.
8302 (grub_scsi_write12): Likewise.
8303 (grub_scsi_open): Add Test Unit Ready.
8304 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
8305 Support additional subclasses. Con't clear halt yet. Activate the
8306 proper config. Calculate LUNs correctly.
8307 (grub_usbms_transfer): Various important fixups.
8308
83092010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
8312 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
8313 (grub_ohci_fini_hw): New function.
8314 (grub_ohci_restore_hw): Likewise.
8315 (GRUB_MOD_INIT(ohci)): Register preboot hook.
8316 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
8317 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
8318
83192010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Dedicated DMA allocations.
8322
8323 * bus/pci.c (grub_memalign_dma32): New function
8324 (grub_dma_free): Likewise.
8325 (grub_dma_get_virt): Likewise.
8326 (grub_dma_get_phys): Likewise.
8327 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
8328 (grub_ohci_pci_iter): Use dma32_alloc.
8329 (grub_ohci_transfer): Likewise.
8330 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8331 (grub_usb_bulk_readwrite): Likewise.
8332 * include/grub/pci.h: Add declarations.
8333
83342010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 CS5536 support.
8337
8338 * bus/cs5536.c: New file.
8339 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
8340 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
8341 (cs5536_mod_SOURCES): New variable.
8342 (cs5536_mod_CFLAGS): Likewise.
8343 (cs5536_mod_LDFLAGS): Likewise.
8344 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8345 machine/pci.h.
8346 (kernel_img_SOURCES): Add bus/cs5536.c.
8347 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8348 usb_keyboard.mod.
8349 (usb_mod_SOURCES): New variable.
8350 (usb_mod_CFLAGS): New variable.
8351 (usb_mod_LDFLAGS): New variable.
8352 (usbtest_mod_SOURCES): New variable.
8353 (usbtest_mod_CFLAGS): New variable.
8354 (usbtest_mod_LDFLAGS): New variable.
8355 (ohci_mod_SOURCES): New variable.
8356 (ohci_mod_CFLAGS): New variable.
8357 (ohci_mod_LDFLAGS): New variable.
8358 (usbms_mod_SOURCES): New variable.
8359 (usbms_mod_CFLAGS): New variable.
8360 (usbms_mod_LDFLAGS): New variable.
8361 (usb_keyboard_mod_SOURCES): New variable.
8362 (usb_keyboard_mod_CFLAGS): New variable.
8363 (usb_keyboard_mod_LDFLAGS): New variable.
8364 * include/grub/smbus.h: New file.
8365 * include/grub/cs5536.h: New file.
8366
0b35b2a9
CW
83672010-06-02 Colin Watson <cjwatson@ubuntu.com>
8368
8369 * util/grub.d/00_header.in: Add safety check to make sure that
8370 ${locale_dir} exists before trying to probe it.
8371
ca0afd5b
CW
83722010-06-02 Colin Watson <cjwatson@ubuntu.com>
8373
8374 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8375 per the GNU Coding Standards; this is now too obscure to be worth
8376 documenting.
8377 (QNX): Likewise.
8378 (chainloader): Remove cross-reference to `SCO UnixWare'.
8379
1c41aa78
CW
83802010-06-02 Colin Watson <cjwatson@ubuntu.com>
8381
8382 * docs/grub.texi (Chain-loading): New section.
8383 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8384 adjusted for GRUB 2.
8385 (SCO UnixWare): Likewise.
8386 (QNX): Likewise.
8387 (chainloader): Add reference to `Block list syntax'.
8388 (drivemap): New section.
8389 (parttool): New section.
8390
bb8ea0f5
CW
83912010-06-02 Colin Watson <cjwatson@ubuntu.com>
8392
8393 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8394 the grub shell'.
8395 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8396 (Installing GRUB using grub-install): Remove reference to the grub
8397 shell; mention `grub-mkimage' and `grub-setup' instead.
8398 (Invoking grub-install): Likewise.
8399 (Interface): Add reference to `Menu entry editor'.
8400 (serial): Remove `--device' option.
8401
288dd6ed
CW
84022010-06-02 Colin Watson <cjwatson@ubuntu.com>
8403
8404 * docs/grub.texi (Configuration): New section, documenting
8405 configuration file generation using grub-mkconfig. I've left a slot
8406 for documenting the full shell scripting format but have not yet
8407 started on writing that up.
8408 (Invoking grub-mkconfig): New section.
8409
34c9f0e9
CW
84102010-06-02 Colin Watson <cjwatson@ubuntu.com>
8411
8412 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8413 (GNU GRUB manual): Likewise.
8414 (General commands): Update description of `terminfo' for GRUB 2.
8415
9121567e
CW
84162010-06-02 Colin Watson <cjwatson@ubuntu.com>
8417
8418 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8419 (GRUB_MOD_INIT): Fix capitalisation.
8420 * docs/grub.texi (Command-line and menu entry commands): Document
8421 gettext and gptsync commands.
8422
ab631611
CW
84232010-06-02 Colin Watson <cjwatson@ubuntu.com>
8424
8425 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8426 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8427
bde4a9ac
CW
84282010-06-01 Colin Watson <cjwatson@ubuntu.com>
8429
8430 Add btrfs probing support, currently only in the single-device case.
8431
8432 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8433 function.
8434 (grub_guess_root_device): Call find_root_device_from_mountinfo
8435 before looking in /dev.
8436
b1d17e10
VS
84372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8440 GRUB_DISK_SIZE_UNKNOWN.
8441 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8442
dfbfe004
JS
84432010-05-31 Jiro SEKIBA <jir@unicus.jp>
8444
8445 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8446 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8447 corrupted or not synced properly.
8448
c2ffc8e9
VS
84492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8452 Reported by: Seth Goldberg.
8453
56293166
VS
84542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8457 addition of dest.
8458 Reported by: Seth Goldberg.
8459
7620e7de
VS
84602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8463 Reported by: Seth Goldberg.
8464
c837af3f
VS
84652010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8468 64-bit address as signed on MIPS.
8469
c7c75cf4
CW
84702010-05-28 Colin Watson <cjwatson@ubuntu.com>
8471
8472 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8473 to the empty string.
8474
fa4b8490
BC
84752010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8476
8477 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8478
8479 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8480 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8481 * kern/misc.c (__enable_execute_stack): Disable on
8482 GRUB_MACHINE_EMU.
8483
a33075b9
CW
84842010-05-28 Colin Watson <cjwatson@ubuntu.com>
8485
8486 Make grub-probe work with symbolic links under /dev/mapper as well
8487 as with real block devices. The Linux world seems to be (at best)
8488 in transition here, and GRUB shouldn't get caught in the middle.
8489
8490 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8491 /dev/mapper.
8492
d8708134
CW
84932010-05-27 Colin Watson <cjwatson@ubuntu.com>
8494
8495 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8496 input files (in which case exit zero).
8497
db2102a0
CW
84982010-05-27 Colin Watson <cjwatson@ubuntu.com>
8499
8500 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8501 return NULL for various reasons even if it has a maximum-length
8502 buffer: for example, there might be a symlink loop, or the path
8503 might exceed PATH_MAX. If this happens, return NULL.
8504
5fdba519
RM
85052010-05-27 Robert Millan <rmh@gnu.org>
8506
8507 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8508 partmap module to handle cross-partmap setups.
8509 Reported by Orestes Mas. Gràcies!
8510
d1d368e4
CW
85112010-05-27 Colin Watson <cjwatson@ubuntu.com>
8512
8513 * util/grub-mkrescue.in: Initialise override_dir rather than
8514 assuming that it's unset or empty in the environment.
8515
95ac3c73
GS
85162010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8517
8518 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8519 variable index into p_index to suppress a warning with -Wshadow.
8520
7d8c0213
BC
85212010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8522
8523 * INSTALL: Added flex >= 2.5.35 requirement.
8524
db4d5813
VS
85252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8528
f24f4300
VS
85292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 cmostest support.
8532
8533 * commands/i386/cmostest.c: New file.
8534 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8535 (cmostest_mod_SOURCES): New variable.
8536 (cmostest_mod_CFLAGS): Likewise.
8537 (cmostest_mod_LDFLAGS): Likewise.
8538 * conf/i386-pc.rmk: Likewise.
8539 * docs/grub.texi (Vendor power-on keys): New section.
8540 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8541 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8542 and GRUB_BUTTON_CMOS_ADDRESS.
8543 * util/grub.d/00_header.in: Handle powering-on by separate button.
8544
ad603f61
VS
85452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8548 Removed drawing_scrollbar argument. All users updated
8549 Fixes #29792.
8550 Reported by Jo Shields
8551
3ecb080a
VS
85522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8555 buffer since gfxterm handles double repaint.
8556
5f2316c1
VS
85572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8560 * term/gfxterm.c (real_scroll): Likewise.
8561
9a25f885
VS
85622010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8565 before calling BIOS.
8566
39fbb79a
VS
85672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * include/grub/i18n.h: Always enable grub_gettext.
8570
228cfa97
VS
85712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8574 partition naming style.
8575
21717c8f
CW
85762010-05-21 Colin Watson <cjwatson@ubuntu.com>
8577
8578 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8579 not the first option.
8580
c0f48e65
CW
85812010-05-20 Colin Watson <cjwatson@ubuntu.com>
8582
8583 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8584
96779aec
CW
85852010-05-20 Colin Watson <cjwatson@ubuntu.com>
8586
8587 * util/misc.c: Move inclusion of <limits.h> to ...
8588 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8589
fa9d256e
GS
85902010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8591
8592 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8593 Fix merge error in NetBSD code.
8594 (find_partition_start) [__NetBSD__]: Likewise.
8595
123b7a85
BC
85962010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8597
8598 Fix grub-mkrescue usage unit testing.
8599
8600 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8601
74276c0d
CF
86022010-05-18 Christian Franke <franke@computer.org>
8603
8604 * util/grub.d/10_windows.in: Use path names instead of
8605 drive letters to prevent warning from Cygwin 1.7.
8606 Add drivemap command to menuentry if needed.
8607
c4f7b523
ST
86082010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8609
8610 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8611 gnumach and gnumach.gz.
8612
95b97950
VS
86132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * include/grub/i18n.h (gettext): Inline instead of using #define.
8616 (grub_gettext): Likewise.
8617 (_): Likewise.
8618
01b8d2d7
VS
86192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8622 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8623 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8624 (main): Add a slash after pkglibdirroot.
8625
654e1d1e
VS
86262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * util/grub-install.in: Add missing "in" keyword.
8629
26966aeb
VS
86302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8633 Reported by: Seth Goldberg.
8634
75006747
VS
86352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8638
74cbf5bd
CW
86392010-05-18 Colin Watson <cjwatson@ubuntu.com>
8640
8641 * configure.ac: Check for Linux device-mapper support.
8642
8643 * util/hostdisk.c (device_is_mapped): New function.
8644 (find_partition_start): New function, partly broken out from
8645 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8646 device-mapper support added.
8647 (linux_find_partition): Use find_partition_start.
8648 (convert_system_partition_to_system_disk): Add `st' argument.
8649 Support Linux /dev/mapper/* devices if device-mapper support is
8650 available; only DM-RAID devices are understood at present.
8651 (find_system_device): Add `st' argument. Pass it to
8652 convert_system_partition_to_system_disk.
8653 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8654 find_system_device and convert_system_partition_to_system_disk. Use
8655 find_partition_start.
8656
8657 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8658 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8659 * util/deviceiter.c [__linux__]: Define MINOR.
8660 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8661 * util/mkdevicemap.c (grub_putchar): New function.
8662 (grub_getkey): New function.
8663 (grub_refresh): New function.
8664 (main): Set debug=all if -v -v is used.
8665
355b51e9
CW
86662010-05-18 Colin Watson <cjwatson@ubuntu.com>
8667
8668 Fix build with non-GNU libcs.
8669
8670 * util/misc.c (canonicalize_file_name): Move to ...
8671 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8672 grub_make_system_path_relative_to_its_root.
8673
7fb5c25f
CW
86742010-05-18 Colin Watson <cjwatson@ubuntu.com>
8675
8676 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8677 we handle finding grub-mkimage. Default to finding grub-mkimage in
8678 ${bindir} with program_transform_name applied, and provide a
8679 --grub-mkimage option to override this.
8680
1d3293d6
VS
86812010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 Remove grub-mkisofs.
8684
8685 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8686 (grub_mkisofs_SOURCES): Removed.
8687 (grub_mkisofs_CFLAGS): Removed.
8688 * util/mkisofs/defaults.h: Removed.
8689 * util/mkisofs/eltorito.c: Likewise.
8690 * util/mkisofs/exclude.h: Likewise.
8691 * util/mkisofs/hash.c: Likewise.
8692 * util/mkisofs/include/: Likewise.
8693 * util/mkisofs/include/fctldefs.h: Likewise.
8694 * util/mkisofs/include/mconfig.h: Likewise.
8695 * util/mkisofs/include/prototyp.h: Likewise.
8696 * util/mkisofs/include/statdefs.h: Likewise.
8697 * util/mkisofs/iso9660.h: Likewise.
8698 * util/mkisofs/joliet.c: Likewise.
8699 * util/mkisofs/match.c: Likewise.
8700 * util/mkisofs/match.h: Likewise.
8701 * util/mkisofs/mkisofs.c: Likewise.
8702 * util/mkisofs/mkisofs.h: Likewise.
8703 * util/mkisofs/msdos_partition.h: Likewise.
8704 * util/mkisofs/multi.c: Likewise.
8705 * util/mkisofs/name.c: Likewise.
8706 * util/mkisofs/rock.c: Likewise.
8707 * util/mkisofs/tree.c: Likewise.
8708 * util/mkisofs/write.c: Likewise.
8709
5dde9afe
VS
87102010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Unify grub-mkimage accross platforms.
8713
8714 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8715 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8716 (grub_mkelfimage_SOURCES): Removed.
8717 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8718 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8719 (bin_UTILITIES): Add grub-mkimage.
8720 (grub_mkimage_SOURCES): New variable.
8721 (kernel_img_HEADERS): Remove machine/kernel.h.
8722 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8723 (pkglib_PROGRAMS): Add kernel.img.
8724 (kernel_img_HEADERS): Add machine/kernel.h.
8725 (kernel_img_FORMAT): Removed.
8726 (bin_UTILITIES): Remove grub-mkimage.
8727 (grub_mkimage_SOURCES): Removed.
8728 (grub_mkimage_CFLAGS): Likewise.
8729 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8730 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8731 (pkglib_PROGRAMS): Add kernel.img.
8732 (bin_UTILITIES): Remove grub-mkimage.
8733 (grub_mkimage_SOURCES): Removed.
8734 (grub_mkimage_CFLAGS): Likewise.
8735 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8736 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8737 (pkglib_PROGRAMS): Add kernel.img.
8738 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8739 (pkglib_PROGRAMS): Add kernel.img.
8740 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8741 (grub_mkimage_SOURCES): Removed.
8742 (grub_mkimage_CFLAGS): Likewise.
8743 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8744 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8745 (pkglib_PROGRAMS): Add kernel.img.
8746 (bin_UTILITIES): Remove grub-mkimage.
8747 (grub_mkimage_SOURCES): Removed.
8748 (grub_mkimage_CFLAGS): Likewise.
8749 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8750 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8751 (grub_mkimage_SOURCES): Removed.
8752 (grub_mkimage_CFLAGS): Likewise.
8753 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8754 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8755 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8756 (grub_pe32_optional_header): ... this.
8757 (grub_pe64_optional_header): ... and this. All users updated.
8758 (GRUB_PE32_PE32_MAGIC): Split into ..
8759 (GRUB_PE32_PE32_MAGIC): .. this.
8760 (GRUB_PE32_PE64_MAGIC): .. and this.
8761 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8762 * include/grub/elf.h (PT_GNU_STACK): New definition.
8763 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8764 * include/grub/i386/efi/kernel.h: Likewise.
8765 * include/grub/i386/kernel.h: Likewise.
8766 * include/grub/i386/pc/kernel.h: Likewise.
8767 * include/grub/i386/qemu/boot.h: Likewise.
8768 * include/grub/mips/kernel.h: Likewise.
8769 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8770 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8771 * include/grub/powerpc/kernel.h: Likewise.
8772 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8773 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8774 * include/grub/sparc64/kernel.h: Likewise.
8775 * include/grub/x86_64/efi/kernel.h: Likewise.
8776 * include/grub/x86_64/kernel.h: Likewise.
8777 * include/grub/offsets.h: New file.
8778 * include/grub/kernel.h (grub_module_info): Split into ...
8779 (grub_module_info32): ... this.
8780 (grub_module_info64): ... and this.
8781 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8782 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8783 (grub_boot_blocklist): Moved from here ...
8784 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8785 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8786 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8787 * include/grub/types.h (grub_target_to_host16): Removed.
8788 (grub_target_to_host32): Likewise.
8789 (grub_target_to_host64): Likewise.
8790 (grub_host_to_target16): Likewise.
8791 (grub_host_to_target32): Likewise.
8792 (grub_host_to_target64): Likewise.
8793 (grub_host_to_target_addr): Likewise.
8794
8795 Support grub-mkrescue for efi, coreboot and qemu.
8796
8797 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8798 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8799 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8800 * util/grub-mkrawimage.c: Moved from here ...
8801 * util/grub-mkimage.c: ... here. All users updated.
8802 (ALIGN_ADDR): Use image_target.
8803 (TARGET_NO_FIELD): New const.
8804 (image_target_desc): New type.
8805 (image_targets): New array.
8806 (grub_target_to_host64): Use image_target.
8807 (grub_target_to_host32): Likewise.
8808 (grub_target_to_host16): Likewise.
8809 (grub_host_to_target64): Likewise.
8810 (grub_host_to_target32): Likewise.
8811 (grub_host_to_target16): Likewise.
8812 (grub_host_to_target_addr): Likewise.
8813 (generate_image): Handle multiimage.
8814 (main): Require -O parameter. All users updated.
8815 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8816 util/efi/grub-mkimage.c
8817 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8818 New option --rom-directory.
8819 Use xorriso.
8820 * util/i386/efi/grub-mkimage.c: Removed.
8821 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8822 (grub_target_to_host32): Likewise.
8823 (grub_target_to_host64): Likewise.
8824 (grub_host_to_target16): Likewise.
8825 (grub_host_to_target32): Likewise.
8826 (grub_host_to_target64): Likewise.
8827 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8828 (grub_target_to_host32): Likewise.
8829 (grub_target_to_host64): Likewise.
8830 (grub_host_to_target16): Likewise.
8831 (grub_host_to_target32): Likewise.
8832 (grub_host_to_target64): Likewise.
8833
f4fc97d0
BC
88342010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8835
8836 Source tree is reorganized for emu build.
8837
8838 * include/grub/util/console.h: Move from here...
8839 * include/grub/emu/console.h: ...to here.
8840 * include/grub/util/getroot.h: Move from here...
8841 * include/grub/emu/getroot.h: ...to here.
8842 * include/grub/util/hostdisk.h: Move from here...
8843 * include/grub/emu/hostdisk.h: ...to here.
8844 * util/console.c: Move from here...
8845 * kern/emu/console.c: ...to here.
8846 * util/getroot.c: Move from here...
8847 * kern/emu/getroot.c: ...to here.
8848 * util/grub-emu.c: Move from here...
8849 * kern/emu/main.c: ...to here.
8850 * util/hostdisk.c: Move from here...
8851 * kern/emu/hostdisk.c: ...to here.
8852 * util/hostfs.c: Move from here...
8853 * kern/emu/hostfs.c: ...to here.
8854 * util/mm.c: Move from here...
8855 * kern/emu/mm.c: ...to here.
8856 * util/pci.c: Move from here...
8857 * bus/emu/pci.c: ...to here.
8858 * util/sdl.c: Move from here...
8859 * video/emu/sdl.c: ...to here.
8860 * util/time.c: Move from here...
8861 * kern/emu/time.c: ...to here.
8862 * util/usb.c: Move from here...
8863 * bus/usb/emu/usb.c: ...to here.
8864
8865 * include/grub/emu/misc.h: New header for grub-emu functions.
8866 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8867
8868 * conf/any-emu.rmk: Rule updates for above renames.
8869 * conf/common.rmk: Likewise.
8870 * conf/i386-pc.rmk: Likewise.
8871 * conf/i386-qemu.rmk: Likewise.
8872 * conf/mips.rmk: Likewise.
8873 * conf/sparc64-ieee1275.rmk: Likewise.
8874 * conf/x86-efi.rmk: Likewise.
8875
8876 * disk/lvm.h: #include updates for above renames.
8877 * util/grub-mkrelpath.c: Likewise.
8878 * util/grub-probe.c: Likewise.
8879 * util/i386/pc/grub-setup.c: Likewise.
8880 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8881 * kern/emu/console.c: Likewise.
8882 * kern/emu/getroot.c: Likewise.
8883 * kern/emu/hostdisk.c: Likewise.
8884 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8885
8886 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8887 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8888 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8889 * util/misc.c: Remove grub-emu functions.
8890
cced9145
VS
88912010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 Fix gfxmenu crash.
8894 Reported by: Thorsten Grützmacher.
8895
8896 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8897 timeout hook.
8898 (circprog_set_property): Register and unregister timeout hook.
8899 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8900 (label_destroy): Free template. and unregister hook.
8901 (label_set_state): New function.
8902 (label_set_property): Handle templates and hooks.
8903 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8904 timeout hook.
8905 (progress_bar_set_property): Register and unregister timeout hook.
8906 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8907 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8908 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8909 (update_timeout_visit): Removed.
8910 (update_timeouts): New function.
8911 (redraw_timeouts): Likewise.
8912 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8913 (grub_gfxmenu_clear_timeout): Likewise.
8914 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8915 (grub_gfxmenu_timeout_notify): Likewise.
8916 (grub_gfxmenu_timeout_notifications): New external variable.
8917 (grub_gfxmenu_timeout_register): New function.
8918 (grub_gfxmenu_timeout_unregister): Likewise.
8919
c6e5caab
VS
89202010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 Transform (broken) vga terminal into (working) vga video driver.
8923
8924 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8925 video/i386/pc/vga.c.
8926 * include/grub/video.h (grub_video_driver_id):
8927 Add GRUB_VIDEO_DRIVER_VGA.
8928 * term/i386/pc/vga.c: Renamed to ...
8929 * video/i386/pc/vga.c: ...this
8930 (DEBUG_VGA): Removed.
8931 (CHAR_WIDTH): Likewise.
8932 (CHAR_HEIGHT): Likewise.
8933 (TEXT_WIDTH): Likewise.
8934 (TEXT_HEIGHT): Likewise.
8935 (DEFAULT_FG_COLOR): Likewise.
8936 (DEFAULT_BG_COLOR): Likewise.
8937 (colored_char): Likewise.
8938 (xpos): Likewise.
8939 (ypos): Likewise.
8940 (cursor_state): Likewise.
8941 (fg_color): Likewise.
8942 (bg_color): Likewise.
8943 (text_buf): Likewise.
8944 (page): Likewise.
8945 (font): Likewise.
8946 (framebuffer): New variable.
8947 (set_read_map): Disabled.
8948 (setup): New variable.
8949 (is_target): Likewise.
8950 (grub_vga_mod_init): Likewise.
8951 (grub_vga_mod_fini): Likewise.
8952 (check_vga_mem): Likewise.
8953 (write_char): Likewise.
8954 (write_cursor): Likewise.
8955 (scroll_up): Likewise.
8956 (grub_vga_putchar): Likewise.
8957 (grub_vga_getcharwidth): Likewise.
8958 (grub_vga_getwh): Likewise.
8959 (grub_vga_getxy): Likewise.
8960 (grub_vga_gotoxy): Likewise.
8961 (grub_vga_cls): Likewise.
8962 (grub_vga_setcolorstate): Likewise.
8963 (grub_vga_setcursor): Likewise.
8964 (grub_video_vga_init): New function.
8965 (grub_video_vga_setup): Likewise.
8966 (grub_video_vga_fini): Likewise.
8967 (update_target): Likewise.
8968 (grub_video_vga_blit_bitmap): Likewise.
8969 (grub_video_vga_blit_render_target): Likewise.
8970 (grub_video_vga_set_active_render_target): Likewise.
8971 (grub_video_vga_get_active_render_target): Likewise.
8972 (grub_video_vga_swap_buffers): Likewise.
8973 (grub_video_vga_set_palette): Likewise.
8974 (grub_video_vga_get_info_and_fini): Likewise.
8975 (grub_vga_term): Removed.
8976 (grub_video_vga_adapter): New variable.
8977 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8978 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8979
2bf61a98
VS
89802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 * video/readers/jpeg.c: Indented.
8983
09ddcd11
VS
89842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 Various jpeg cleanups.
8987
8988 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8989 (grub_jpeg_decode_quan_table): Use sizeof.
8990 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8991
e5507505
PH
89922010-05-05 Peter Hurley <No e-mail available> (tiny change)
8993
8994 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8995 tables. Ignore non-last ac bit.
8996 (grub_jpeg_decode_quan_table): Likewise.
8997
7e720a9b
VS
89982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
9001 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
9002 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9003 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
9004 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
9005 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
9006
a7fc080b
VS
90072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
9010 error.
9011
2bf6012d
VS
90122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
9015
265d68cd
VS
90162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
9019 condition.
9020
90212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
9022
9023 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
9024 part.
9025
265d68cd 90262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
9027
9028 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
9029 pointers.
9030
265d68cd 90312010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
9032
9033 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
9034
d1b61374
CF
90352010-05-01 Christian Franke <franke@computer.org>
9036
9037 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
9038 Remove broken Cygwin path conversion.
9039 * util/misc.c: [__CYGWIN__] Add include and define.
9040 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
9041 for Cygwin 1.7.
9042 (make_system_path_relative_to_its_root): Simplify loop, replace early
9043 return by break.
9044 [__CYGWIN__] Add conversion to win32 path.
9045 Include "/" case in trailing slash removal.
9046
3558c6e9
VS
90472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * kern/main.c (grub_load_config): Fix copy-pasted comment.
9050 Reported by: Seth Goldberg
9051
f5f3ff93
VS
90522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * commands/help.c (grub_cmd_help): Fix a typo.
9055 Reported by: Seth Goldberg
9056
d8b5cd40
VS
90572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
9060 name and add N_.
9061 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
9062 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
9063 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
9064 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
9065 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
9066 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
9067 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
9068 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
9069 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
9070 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9071 * normal/context.c (GRUB_MOD_INIT): Likewise.
9072 * normal/main.c (GRUB_MOD_INIT): Likewise.
9073 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
9074 * term/serial.c (GRUB_MOD_INIT): Likewise.
9075 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
9076
88c14915
VS
90772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
9080 extra == 0.
9081
165134bc
VS
90822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * commands/iorw.c: New file.
9085 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
9086 (iorw_mod_SOURCES): New variable.
9087 (iorw_mod_CFLAGS): Likewise.
9088 (iorw_mod_LDFLAGS): Likewise.
9089
c5ac9b32
VS
90902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Hotkey support
9093
9094 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
9095 * normal/main.c (hotkey_aliases): New variable.
9096 (grub_normal_add_menu_entry): Parse "--hotkey".
9097 * normal/menu_text.c (run_menu): Handle hotkeys.
9098
ce60689c
VS
90992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * kern/i386/coreboot/init.c (grub_machine_init): Call
9102 grub_machine_mmap_init on qemu.
9103
0359d006
VS
91042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * boot/i386/qemu/boot.S: Add a missing .code16.
9107
7819a456
VS
91082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Use LBIO on coreboot.
9111
9112 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
9113 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
9114 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
9115 New declaration.
9116 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
9117 grub_machine_mmap_init on coreboot.
9118 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
9119 GRUB_LINUXBIOS_MEMBER_LINK.
9120 (grub_machine_mmap_iterate): Fix declaration.
9121 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
9122
7210dca9
VS
91232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 Split coreboot and multiboot ports.
9126
9127 * conf/i386-multiboot.rmk: New file.
9128 * configure.ac: Add multiboot port.
9129 * include/grub/i386/multiboot/boot.h: New file.
9130 * include/grub/i386/multiboot/console.h: Likewise.
9131 * include/grub/i386/multiboot/init.h: Likewise.
9132 * include/grub/i386/multiboot/kernel.h: Likewise.
9133 * include/grub/i386/multiboot/loader.h: Likewise.
9134 * include/grub/i386/multiboot/memory.h: Likewise.
9135 * include/grub/i386/multiboot/serial.h: Likewise.
9136 * include/grub/i386/multiboot/time.h: Likewise.
9137 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
9138 * loader/multiboot.c: Likewise.
9139 * loader/multiboot_mbi2.c: Likewise.
9140 * util/grub-mkrescue.in: Generate multiboot rescue.
9141
6f8aaf68
VS
91422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9143
3080f7a7
VS
9144 * kern/parser.c (grub_parser_execute): Cope with read-only config.
9145
91462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
9149
9150 * commands/terminal.c (abstract_terminal): New struct.
9151 (handle_command): New function. Based on grub_cmd_terminal_input.
9152 (grub_cmd_terminal_input): Use handle_command.
9153 (grub_cmd_terminal_output): Use handle_command.
9154
a8ebb841
BC
91552010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
9156
9157 Fix comment handling.
9158
9159 * tests/grub_script_comments.in: New testcase.
9160 * conf/tests.rmk: Rules for new testcase.
9161 * script/yylex.l: Updated flex rules.
9162
bb06ba08
ST
91632010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
9164
9165 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
9166 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
9167 if argc is 1.
bb06ba08 9168
cc9d2425
VS
91692010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
9172 autogen issues.
9173
460d8402
CF
91742010-04-26 Christian Franke <franke@computer.org>
9175
9176 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
9177 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
9178 (grub_get_prefix): Remove function.
9179 * util/grub-emu.c (main): Replace grub_get_prefix () call by
9180 make_system_path_relative_to_its_root ().
9181 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9182
553c01f9
CF
91832010-04-24 Christian Franke <franke@computer.org>
9184
9185 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
9186 (kernel_img_LDFLAGS): Remove -static-libgcc.
9187
2aec1692
CF
91882010-04-24 Christian Franke <franke@computer.org>
9189
9190 * configure.ac: Do not CHECK_BSS_START_SYMBOL
9191 and CHECK_END_SYMBOL if grub-emu is built.
9192 Unset TARGET_OBJ2ELF if grub-emu is built
9193 without module support.
9194
f67dc308
JS
91952010-04-24 Jiro SEKIBA <jir@unicus.jp>
9196
9197 Nilfs2 support.
9198
9199 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
9200 (grub_fstest_SOURCES): Likewise.
9201 (pkglib_MODULES): Add nilfs2.mod.
9202 (nilfs2_mod_SOURCES): New variable.
9203 (nilfs2_mod_CFLAGS): Likewise.
9204 (nilfs2_mod_LDFLAGS): Likewise.
9205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9206 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9207 * fs/nilfs2.c: New file.
9208
4ba8d354
VS
92092010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
9212 is not supported.
9213
0d2c20c6
GS
92142010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
9215
9216 Add grub-mkconfig support for NetBSD.
9217
9218 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
9219 * util/grub-mkconfig.in: export new NetBSD specific variables.
9220 * po/POTFILES-shell: added 10_netbsd.in.
9221 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
9222
bc4a2d83
BC
92232010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
9224
9225 Fix emu build with grub-emu-pci and grub-emu-modules.
9226
9227 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
9228 functions.
9229 * include/grub/libpciaccess.h: New file.
9230 * conf/any-emu.rmk: Update kernel headers for emu build.
9231
f48c87aa
VS
92322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
9235
18959385
VS
92362010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
9239
0037de3f
VS
92402010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
9243 Retrieve chosen/bootpath if bootpath isn't hardcoded.
9244 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
9245 util/ieee1275/ofpath.c.
9246 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
9247 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
9248 * include/grub/sparc64/ieee1275/boot.h
9249 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
9250 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
9251 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
9252 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
9253 const char *.
9254 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
9255 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
9256 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
9257 install.
9258
38e55e90
GS
92592010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9260
9261 * util/grub-mkconfig.in: Corrected two == equality tests.
9262 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
9263 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
9264 expect a number appended to it.
9265 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
9266 expects a number appended to it.
9267
a9e6ff28
VS
92682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
9271
0b830b8f
VS
92722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * util/hostdisk.c (make_device_name): Change to new partition naming.
9275
0973daeb
VS
92762010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
9279
460d8402 92802010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
9281
9282 * Makefile.in: Add missing localedir setting.
9283
0b456309
CW
92842010-04-14 Colin Watson <cjwatson@ubuntu.com>
9285
9286 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
9287 mistake in r2156. Noticed by Anthony Fok.
9288
9289 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
9290 @localedir@.
9291 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9292
08f46d62
BC
92932010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
9294
9295 Fix a spurious, uninitialized variable warning.
9296
9297 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
9298 Initialize variable, shdr.
9299 (grub_freebsd_load_elfmodule): Likewise.
9300 (grub_freebsd_load_elf_meta): Likewise.
9301
8c4a72d4
BC
93022010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
9303
9304 Fix for escaped dollar in double quoted strings.
9305
9306 * script/yylex.l: Updated flex rules.
9307 * conf/tests.rmk: Rule for new testcase.
9308 * tests/grub_script_dollar.in: New testcase.
9309
ce44826e
CPE
93102010-04-13 Carles Pina i Estany <carles@pina.cat>
93112010-04-13 Colin Watson <cjwatson@ubuntu.com>
9312
9313 Enclose all translated strings in grub.cfg in single quotes, and
9314 escape them appropriately (Ubuntu bug #552921).
9315
9316 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
9317 * util/grub.d/10_hurd.in: Use it.
9318 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9319 * util/grub.d/10_linux.in (linux_entry): Likewise.
9320
4b0cd8f8
VS
93212010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Fix cygwin compilation.
9324
9325 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
9326 * include/grub/misc.h (__register_frame_info)
9327 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
9328 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9329 * kern/misc.c (__register_frame_info)
9330 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
9331 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9332
01fcf061
VS
93332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
9336
5d04b11e
VS
93372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 Unify libgcc processing.
9340
9341 * Makefile.in (kernel_img_LDFLAGS): New variable.
9342 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
9343 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
9344 overwriting.
9345 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9346 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9347 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9348 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9349 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9350 overwriting. Remove -lgcc and -static-libgcc
9351 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9352 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9353 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9354 (kernel_img_LDFLAGS): Append instead of overwriting.
9355 Remove -lgcc and -static-libgcc
9356 * conf/sparc64-ieee1275.rmk: Likewise.
9357 * include/grub/powerpc/libgcc.h: Move to ...
9358 * include/grub/libgcc.h: .. this.
9359 * include/grub/libgcc.h: Don't export most of the function on x86.
9360 (__bswapsi2): New export.
9361 (__bswapdi2): Likewise.
9362 * include/grub/mips/libgcc.h: Removed.
9363 * include/grub/sparc64/libgcc.h: Likewise.
9364
b7f3ac29
VS
93652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9368 disk_info_msg (conflicts with gettexting into languages with cases).
9369
2c7031b1
GS
93702010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9371
9372 Add grub-probe support for NetBSD.
9373
9374 * util/getroot.c (find_root_device): Convert block device to
9375 character device on NetBSD.
9376 * util/probe.c (probe): Require character device on NetBSD.
9377 * util/hostdisk.c: NetBSD specific headers.
9378 (configure_device_driver): new function to tune device driver
9379 parameters (currently only for NetBSD floppy driver).
9380 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9381 via disklabel ioctl).
9382 (open_device): call configure_device_driver on NetBSD.
9383 (convert_system_partition_to_system_disk): NetBSD specific code.
9384 (device_is_wholedisk): Likewise.
9385 (grub_util_biosdisk_get_grub_dev): Likewise.
9386 (make_device_name): Fixed a typo in bsd_part_str.
9387 * configure.ac: check for opendisk() and getrawpartition() on
9388 NetBSD and set LIBUTIL.
9389 * Makefile.in: add LIBUTIL to LIBS.
9390
f516290c
BC
93912010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9392
9393 Documentation fix.
9394
9395 * util/grub-script-check.c: Better help message.
9396
d8dcc0df
BC
93972010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9398
9399 Fix FreeBSD build.
9400
9401 * configure.ac: Flex version check.
9402 * conf/common.rmk: Add -Wno-error to sh.mod.
9403 * script/yylex.l: Remove all #pragma.
9404
6734334a
VS
94052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9408 prototype.
9409 Reported by: Seth Goldberg.
9410
daea6abd
VS
94112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9414 Rename "module" to "module2".
9415 Reported by: Seth Goldberg.
9416
f2fd9d2b
VS
94172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9420 EXPORT_FUNC.
9421 Reported by: Seth Goldberg.
9422
be124579
VS
94232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * lib/posix_wrap/locale.h: Add missing file.
9426 Reported by: Seth Goldberg.
9427
ef5da797
VS
94282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 grub-emu module load support.
9431
9432 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9433 NO_DYNAMIC_MODULES switched to this.
9434 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9435 (CFLAGS): Likewise.
9436 * conf/any-emu.rmk: Generate symlist.
9437 (kernel_img_HEADERS): Add util/datetime.h.
9438 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9439 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9440 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9441 kern/$(target_cpu)/cache.S.
9442 * configure.ac (grub-emu-modules): New option.
9443 * genmk.rb: Handle multiple source lists.
9444 * include/grub/sdl.h: New file.
9445 * include/grub/libusb.h: Likewise.
9446 * util/grub-emu.c (main): Hanle (host) root.
9447 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9448 GRUB_ERR_UNKNOWN_DEVICE.
9449 * util/misc.c: Move mm functions to ...
9450 * util/mm.c: ... here. All users updated.
9451
47822096
VS
94522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9455 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9456 missing files.
9457 (maintainer-clean): Remove libgcrypt-grub.
9458
5d7e7445
VS
94592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9462
25f4e252
EC
94632010-04-09 EFI Coder <eficoder@hotmail.com>
9464
9465 * normal/menu_text.c (print_message): Clean up the message and show
9466 the Fn information when on EFI
9467 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9468
027de555
VS
94692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9472 All users updated.
9473 * normal/crypto.c (read_crypto_list): Likewise.
9474 * normal/dyncmd.c (read_command_list): Likewise.
9475 * normal/term.c (read_terminal_list): Likewise.
9476 * normal/main.c (read_lists): Use explicit prefix.
9477 (read_lists_hook): Use read_lists.
9478 (grub_normal_execute): Likewise.
9479
47779711
VS
94802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9483 Reported by: Thomas Schmitt.
9484 Add -no-emul-boot to grub-mkisofs parameters.
9485
1118c32e
VS
94862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * font/font.c: Indented.
9489
7d652447
BC
94902010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9491
9492 Elif support to GRUB script (by Deepak Vankadaru).
9493
9494 * tests/grub_script_if.in: New testcase.
9495 * conf/tests.rmk: Rule for new testcase.
9496 * script/parser.y: Grammar rules for elif.
9497
34bb22df
BC
94982010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9499
9500 While and until loops support to GRUB script.
9501
9502 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9503 (grub_script_create_cmdwhile): New function prototype.
9504 (grub_script_execute_cmdwhile): New function prototype.
9505 * script/execute.c (grub_script_execute_cmdwhile): New function.
9506 * script/parser.y (command): New commands.
9507 (whilecmd): New grammar rule.
9508 (untilcmd): New grammar rule.
9509 * script/script.c (grub_script_create_cmdwhile): New function.
9510 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9511 function.
9512
9513 * tests/grub_script_while1.in: New testcase.
9514 * conf/tests.rmk: Rule for new testcase.
9515
e215d8e0
VS
95162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9519 as *.jpg.
9520
d7c43ba1
MV
95212010-04-09 Mario Vazquez <mariovazq@gmail.com>
9522
9523 GRUB_BACKGROUND support.
9524
9525 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9526 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9527
d64795c0
VS
95282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 9531 Idea by: Mario Vazquez
d64795c0
VS
9532
9533 * util/grub.d/00_header.in: Load pf2 and image modules.
9534
f267f83a
VS
95352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 grub-mkconfig multiple terminal support.
9538
9539 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9540 * util/grub.d/00_header.in: Likewise.
9541
b7841ceb
VS
95422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9545 we use cd $(srcdir).
9546
df60998c
CW
95472010-04-08 Colin Watson <cjwatson@ubuntu.com>
9548
9549 * util/grub.d/10_linux.in: Only use the first word of
9550 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9551 spaces in GRUB_DISTRIBUTOR.
9552 * util/grub.d/10_kfreebsd.in: Likewise.
9553 * util/grub.d/10_hurd.in: Likewise.
9554
fa09c82e
BC
95552010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9556
14e18ae3 9557 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
9558
9559 * tests/util/grub-shell.in: Remove -serial stdio option.
9560
daf892b3
BC
95612010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 POSIX header file wrappers.
9564
9565 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9566 equivalents.
9567 * lib/posix_wrap/ctype.h: Likewise.
9568 * lib/posix_wrap/errno.h: Likewise.
9569 * lib/posix_wrap/langinfo.h: Likewise.
9570 * lib/posix_wrap/limits.h: Likewise.
9571 * lib/posix_wrap/localcharset.h: Likewise.
9572 * lib/posix_wrap/stdint.h: Likewise.
9573 * lib/posix_wrap/stdio.h: Likewise.
9574 * lib/posix_wrap/stdlib.h: Likewise.
9575 * lib/posix_wrap/string.h: Likewise.
9576 * lib/posix_wrap/sys/types.h: Likewise.
9577 * lib/posix_wrap/unistd.h: Likewise.
9578 * lib/posix_wrap/wchar.h: Likewise.
9579 * lib/posix_wrap/wctype.h: Likewise.
9580 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9581 (grub_script.yy.h): Likewise.
9582 * script/yylex.l: Remove POSIX emulation #defines.
9583 * Makefile.in (POSIX_CFLAGS): New variable.
9584 (GNULIB_UTIL_CFLAGS): Likewise.
9585
9586 Regexp support.
9587
9588 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9589 (regexp_mod_SOURCES): New variable.
9590 (regexp_mod_CFLAGS): Likewise.
9591 (regexp_mod_LDFLAGS): Likewise.
9592 * commands/regexp.c: New file.
9593 * gnulib/regcomp.c: New file. Imported from gnulib.
9594 * gnulib/regex.c: Likewise.
9595 * gnulib/regex_internal.c: Likewise.
9596 * gnulib/regex_internal.h: Likewise.
9597 * gnulib/regexec.c: Likewise.
9598 * gnulib/regex.h: Likewise.
9599
974ac4f7
VS
96002010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9603 unsupported video mode types.
9604
2622c3ff
VS
96052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9608
064cb524
VS
96092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9612 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9613
a8c3b552
VS
96142010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Remove unused grub_vga_get_font.
9617
9618 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9619 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9620
187bbe3d
GS
96212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9622
9623 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9624 * include/grub/misc.h: Likewise.
9625
b9396631
GS
96262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9627
9628 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9629 for which failure is fatal.
9630
50479feb
GS
96312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9632
9633 * util/grub-install.in: Use mkdir -p to create grub directory.
9634 * util/i386/efi/grub-install.in: Likewise.
9635 * util/ieee1275/grub-install.in: Likewise.
9636
b1654fdf
GS
96372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9638
9639 * Makefile.in (LEX): new variable.
9640
bd5a6415
GS
96412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9642
9643 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9644 `=' and added double quotes on operands of this equality test.
9645
3db3a82b
VS
96462010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * Makefile.in (uninstall): Remove a leftover debug echo.
9649 Reported by: Grégoire Sutre
9650
38023412
VS
96512010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 MIPS multiboot2 support.
9654
9655 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9656 (multiboot2_mod_SOURCES): New variable.
9657 (multiboot2_mod_CFLAGS): Likewise.
9658 (multiboot2_mod_LDFLAGS): Likewise.
9659 (multiboot2_mod_ASFLAGS): Likewise.
9660 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9661 definition.
9662 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9663 (MULTIBOOT_MBI_REGISTER): Likewise.
9664 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9665 (MULTIBOOT_ELF32_MACHINE): Likewise.
9666 (MULTIBOOT_ELF64_MACHINE): Likewise.
9667 * include/grub/mips/multiboot.h: New file.
9668 * include/grub/video.h (grub_video_driver_id): New type
9669 GRUB_VIDEO_DRIVER_SM712.
9670 (grub_video_get_info_and_fini): Export.
9671 (grub_video_get_palette): Likewise.
9672 (grub_video_get_driver_id): Likewise.
9673 * include/multiboot2.h: Resynced with spec.
9674 * loader/i386/multiboot.c: Moved from here ...
9675 * loader/multiboot.c: ... here. All users updated.
9676 (grub_multiboot_boot): Use platform-specific macros.
9677 * loader/i386/multiboot_elfxx.c: Moved from here ...
9678 * loader/multiboot_elfxx.c: ... here. All users updated.
9679 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9680 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9681 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9682
47674667
VS
96832010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 Import gnulib argp module.
9686
9687 * gnulib/argp-ba.c: New file.
9688 * gnulib/argp-eexst.c: Likewise.
9689 * gnulib/argp-fmtstream.c: Likewise.
9690 * gnulib/argp-fmtstream.h: Likewise.
9691 * gnulib/argp-fs-xinl.c: Likewise.
9692 * gnulib/argp-help.c: Likewise.
9693 * gnulib/argp-namefrob.h: Likewise.
9694 * gnulib/argp-parse.c: Likewise.
9695 * gnulib/argp-pin.c: Likewise.
9696 * gnulib/argp-pv.c: Likewise.
9697 * gnulib/argp-pvh.c: Likewise.
9698 * gnulib/argp-version-etc.c: Likewise.
9699 * gnulib/argp-version-etc.h: Likewise.
9700 * gnulib/argp-xinl.c: Likewise.
9701 * gnulib/argp.h: Likewise.
9702
495442ed
VS
97032010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * kern/device.c (grub_device_iterate): Clear errors after failed
9706 opening device.
9707
f9fd65df
VS
97082010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9711 returned by firmware.
9712
af09641e
VS
97132010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9716 compilation on coreboot and qemu
9717
016883a5
VS
97182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * include/multiboot2.h: Resync with spec.
9721
f97e1f7d
VS
97222010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 Multiboot2 tag support
9725
9726 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9727 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9728 Remove loader/multiboot_loader.c.
9729 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9730 (grub_multiboot2_real_boot): Likewise.
9731 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9732 (grub_get_multiboot_mmap_count): New proto.
9733 (grub_fill_multiboot_mmap): Likewise.
9734 (grub_multiboot_set_video_mode): Likewise.
9735 (grub_multiboot_set_console): Likewise.
9736 (grub_multiboot_load): Likewise.
9737 (grub_multiboot_load_elf): Likewise.
9738 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9739 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9740 * include/multiboot.h: Resynced with specification.
9741 * include/multiboot2.h: Resynced with specification.
9742 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9743 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9744 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9745 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9746 users updated.
9747 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9748 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9749 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9750 Removed.
9751 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9752 Moved from here...
9753 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9754 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9755 Moved from here...
9756 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9757 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9758 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9759 All users updated.
9760 * loader/i386/multiboot_mbi2.c: New file.
9761
3506b90b
VS
97622010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Resync with gnulib.
9765
9766 * Makefile.in (GNULIB_CFLAGS): New variable.
9767 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9768 (grub_script_check_CFLAGS): New variable.
9769 * gnulib/alloca.h: Resync with gnulib.
9770 * gnulib/error.c: Likewise.
9771 * gnulib/error.h: Likewise.
9772 * gnulib/fnmatch.c: Likewise.
9773 * gnulib/fnmatch_loop.c: Likewise.
9774 * gnulib/getdelim.c: Likewise.
9775 * gnulib/getline.c: Likewise.
9776 * gnulib/getopt.c: Likewise.
9777 * gnulib/getopt1.c: Likewise.
9778 * gnulib/getopt_int.h: Likewise.
9779 * gnulib/gettext.h: Likewise.
9780 * gnulib/progname.c: Likewise.
9781 * gnulib/progname.h: Likewise.
9782
394a3120
GS
97832010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9784
9785 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9786 which is the case with --disabled-nls.
9787
9788 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9789 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9790 * util/misc.c: Likewise.
9791 * util/mkisofs/mkisofs.c: Likewise.
9792 * util/mkisofs/mkisofs.h: Likewise.
9793
969d1c78
VS
97942010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 Simplify Apple CC support.
9797
9798 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9799 Add 0 byte at the end not to have a symbol with empty target.
9800 * mmap/i386/pc/mmap_helper.S: Likewise.
9801 * genmk.rb: Ignore errors 2030 and 2050.
9802 * kern/i386/pc/startup.S: Use LOCAL when possible.
9803
8d2977bb
BC
98042010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9805
9806 Testcase and the fix for final semicolon on cmdline.
9807
9808 * tests/grub_script_final_semicolon.in: New testcase.
9809 * conf/tests.rmk: Rules for the new testcase.
9810 * script/parser.y: Grammar fix.
9811
a7bd6915
BC
98122010-03-26 BVK Chaitanya <bvk@localhost>
9813
9814 Blank lines testcase for GRUB script.
9815
9816 * tests/grub_script_blanklines.in: New testcase.
9817 * conf/tests.rmk: Rules for the new testcase.
9818
e4ff6628
VS
98192010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 Don't use __FILE__.
9822
9823 * genmk.rb: Add -DGRUB_FILE to all C targets.
9824 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9825 * include/grub/list.h: Likewise.
9826 * include/grub/misc.h: Likewise.
9827 * include/grub/mm.h: Likewise.
9828 * include/grub/test.h: Likewise.
9829 * kern/mm.c: Likewise.
9830 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9831
6a5cf6b6
VS
98322010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 Sunpc partitions support.
9835
9836 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9837 (grub_fstest_SOURCES): Likewise.
9838 (pkglib_MODULES): Add part_sunpc.mod.
9839 (part_sunpc_mod_SOURCES): New variable.
9840 (part_sunpc_mod_CFLAGS): Likewise.
9841 (part_sunpc_mod_LDFLAGS): Likewise.
9842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9843 * partmap/sunpc.c: New file.
9844
746d9045
BC
98452010-03-26 BVK Chaitanya <bvk@localhost>
9846
9847 For loop support to GRUB script.
9848
9849 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9850 (grub_script_create_cmdfor): New function prototype.
9851 (grub_script_execute_cmdfor): New function prototype.
9852 * script/execute.c (grub_script_execute_cmdfor): New function.
9853 * script/parser.y (command): New for command.
9854 (forcmd): New grammar rule.
9855 * script/script.c (grub_script_create_cmdfor): New function.
9856 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9857 function.
9858 * tests/grub_script_for1.in: New testcase.
9859 * conf/tests.rmk: Rules for new testcase.
9860
18486b18
VS
98612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 Nested partitions
9864
9865 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9866 'partition' is NULL, grub_partition_get_start already does that.
9867 * commands/loadenv.c (check_blocklists): Likewise.
9868 (write_blocklists): Likewise.
9869 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9870 (grub_fstest_SOURCES): Likewise.
9871 (pkglib_MODULES): Add part_bsd.mod.
9872 (part_bsd_mod_SOURCES): New variable.
9873 (part_bsd_mod_CFLAGS): Likewise.
9874 (part_bsd_mod_LDFLAGS): Likewise.
9875 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9876 (grub_emu_SOURCES): Likewise.
9877 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9878 * include/grub/bsdlabel.h: New file.
9879 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9880 'get_name'.
9881 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9882 (grub_partition_map_list): New variable.
9883 (grub_partition_map_register): Inline.
9884 (grub_partition_map_unregister): Likewise.
9885 (FOR_PARTITION_MAPS): New macro.
9886 (grub_partition_map_iterate): Removed.
9887 (grub_partition_get_start): Handle nested partitions.
9888 * include/grub/msdos_partition.h: Remove bsd-related entries.
9889 (grub_pc_partition): Remove.
9890 * kern/disk.c (grub_disk_close): Free partition data.
9891 (grub_disk_adjust_range): Handle nested partitions.
9892 * kern/partition.c (grub_partition_map_probe): New function.
9893 (grub_partition_probe): Parse name to number, handle subpartitions.
9894 (get_partmap): New function.
9895 (grub_partition_iterate): Handle subpartitions.
9896 (grub_partition_get_name): Likewise.
9897 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9898 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9899 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9900 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9901 Set 'number'.
9902 (acorn_partition_map_probe): Remove.
9903 (acorn_partition_map_get_name): Likewise.
9904 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9905 Set 'number'.
9906 Set 'index' to 0 since there can be only one partition entry per sector.
9907 (amiga_partition_map_probe): Remove.
9908 (amiga_partition_map_get_name): Likewise.
9909 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9910 Set 'number'.
9911 Set 'offset' and 'index' to real positions of partitions.
9912 (apple_partition_map_probe): Remove.
9913 (apple_partition_map_get_name): Likewise.
9914 * partmap/bsdlabel.c: New file.
9915 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9916 Set 'number'.
9917 Allocate 'data' so it can be correctly freed.
9918 Set 'index' to offset inside sector.
9919 (gpt_partition_map_probe): Remove.
9920 (gpt_partition_map_get_name): Likewise.
9921 * partmap/msdos.c (grub_partition_parse): Remove.
9922 (pc_partition_map_iterate): Don't force raw access.
9923 Set 'number'.
9924 Make 'ext_offset' a local variable.
9925 (pc_partition_map_probe): Remove.
9926 (pc_partition_map_get_name): Remove.
9927 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9928 Set 'number'.
9929 (sun_partition_map_probe): Remove.
9930 (sun_partition_map_get_name): Likewise.
9931 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9932 (grub_pcpart_type): Likewise.
9933 * util/hostdisk.c (open_device): Handle new numbering scheme.
9934 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9935 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9936 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9937 * util/grub-install.in: Insert all subpartition modules.
9938 * util/ieee1275/grub-install.in: Likewise.
9939
a3940f88
AG
99402010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9941
9942 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9943 grammar.
9944
21b99926 99452010-03-24 Colin Watson <cjwatson@ubuntu.com>
9946
9947 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9948
bed1d352
CW
99492010-03-21 Colin Watson <cjwatson@ubuntu.com>
9950
9951 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9952 match where 'make install' puts them.
9953 * util/i386/efi/grub-install.in: Likewise.
9954
c9f58427
CW
99552010-03-19 Colin Watson <cjwatson@ubuntu.com>
9956
9957 * .bzrignore: Add gentrigtables, grub-script-check,
9958 grub_script_check_init.c, grub_script_check_init.h, and
9959 trigtables.c.
9960
f84afb27
VS
99612010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * kern/parser.c: Indented.
9964
ed0e3d30
VS
99652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9968
0ea81d98
VS
99692010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9972 alpha_mask_size == 0 case.
9973
0cdc2a09
BC
99742010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9975
9976 GRUB shell lexer and parser improvements.
9977
9978 * conf/any-emu.rmk: Build rule updates.
9979 * conf/common.rmk: Likewise.
9980 * conf/i386-coreboot.rmk: Likewise.
9981 * conf/i386-efi.rmk: Likewise.
9982 * conf/i386-ieee1275.rmk: Likewise.
9983 * conf/i386-pc.rmk: Likewise.
9984 * conf/powerpc-ieee1275.rmk: Likewise.
9985 * conf/x86_64-efi.rmk: Likewise.
9986
9987 * configure.ac: Configure check for flex.
9988
9989 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9990 types.
9991 (grub_lexer_param): Struct member updates.
9992 (grub_parser_param): Likewise.
9993 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9994 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9995 (grub_script_lexer_init): Prototype update.
9996 (grub_script_lexer_record_start): Likewise.
9997 (grub_script_lexer_record_stop): Likewise.
9998 (grub_script_lexer_yywrap): New function prototype.
9999 (grub_script_lexer_fini): Likewise.
10000 (grub_script_execute_argument_to_string): Removed by...
10001 (grub_script_execute_argument_to_argv): ...better version.
10002
10003 * script/execute.c (ROUND_UPTO): New macro.
10004 (grub_script_execute_cmdline): Out of memory fixes.
10005 (grub_script_execute_menuentry): Likewise.
10006 (grub_script_execute_argument_to_string): Removed. Update all
10007 users by...
10008 (grub_script_execute_argument_to_argv): ...better version.
10009 * script/function.c (grub_script_function_create): Use
10010 grub_script_execute_argument_to_argv instead of
10011 grub_script_execute_argument_to_string.
10012
10013 * script/lexer.c (check_varstate): Removed.
10014 (check_textstate): Removed.
10015 (grub_script_lexer_record_start): Likewise.
10016 (grub_script_lexer_record_stop): Likewise.
10017 (recordchar): Replaced with...
10018 (grub_script_lexer_record): ...new function.
10019 (nextchar): Removed.
10020 (grub_script_lexer_init): Rewritten.
10021 (grub_script_yylex): Rewritten.
10022 (append_newline): New function.
10023 (grub_script_lexer_yywrap): New function.
10024 (grub_script_lexer_fini): New function.
10025 (grub_script_yyerror): Sets error flag.
10026
10027 * script/yylex.l: New file.
10028 (grub_lexer_yyfree): Wrapper for flex yyffre.
10029 (grub_lexer_yyalloc): Likewise.
10030 (grub_lexer_yyrealloc): Likewise.
10031 * script/parser.y: Refactored.
10032
10033 * script/script.c (grub_script_arg_add): Out of memory fixes.
10034 (grub_script_add_arglist): Likewise.
10035 (grub_script_create_cmdline): Likewise.
10036 (grub_script_create_cmdmenu): Likewise.
10037 (grub_script_add_cmd): Likewise.
10038 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
10039 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
10040 unnecessary code.
10041
10042 * tests/grub_script_echo1.in: New testcase.
10043 * tests/grub_script_vars1.in: New testcase.
10044 * tests/grub_script_echo_keywords.in: New testcase.
10045
1d63a066
VS
100462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 Remove some redundancy in build system.
10049
10050 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
10051 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
10052 (TARGET_LDFLAGS): Add -nostdlib.
10053 (TARGET_IMG_LDFLAGS): Likewise.
10054 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
10055 anything since mmap isn't available.
10056 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
10057 Add util/time.c.
10058 (pkglib_MODULES): Remove reboot.mod.
10059 (reboot_mod_SOURCES): Removed.
10060 (reboot_mod_CFLAGS): Likewise.
10061 (reboot_mod_LDFLAGS): Likewise.
10062 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
10063 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
10064 (DEFSYMFILES): Add kernel_syms.lst.
10065 (kernel_img_HEADERS): Add common headers.
10066 (symlist.c): New target.
10067 (kernel_syms.lst): Likewise.
10068 (pkglib_MODULES): Add memdisk.mod.
10069 (memdisk_mod_SOURCES): New variable.
10070 (memdisk_mod_CFLAGS): Likewise.
10071 (memdisk_mod_LDFLAGS): Likewise.
10072 (pkglib_MODULES): Add reboot.mod.
10073 (reboot_mod_SOURCES): New variable.
10074 (reboot_mod_CFLAGS): Likewise.
10075 (reboot_mod_LDFLAGS): Likewise.
10076 (pkglib_MODULES): Add date.mod.
10077 (date_mod_SOURCES): New variable.
10078 (date_mod_CFLAGS): Likewise.
10079 (date_mod_LDFLAGS): Likewise.
10080 (pkglib_MODULES): Add datehook.mod.
10081 (datehook_mod_SOURCES): New variable.
10082 (datehook_mod_CFLAGS): Likewise.
10083 (datehook_mod_LDFLAGS): Likewise.
10084 (pkglib_MODULES): Add lsmmap.mod.
10085 (lsmmap_mod_SOURCES): New variable.
10086 (lsmmap_mod_CFLAGS): Likewise.
10087 (lsmmap_mod_LDFLAGS): Likewise.
10088 (pkglib_MODULES): Add boot.mod.
10089 (boot_mod_SOURCES): New variable.
10090 (boot_mod_CFLAGS): Likewise.
10091 (boot_mod_LDFLAGS): Likewise.
10092 * conf/i386-coreboot.rmk: Removed redundant parts.
10093 * conf/i386-ieee1275.rmk: Likewise.
10094 * conf/i386-pc.rmk: Likewise.
10095 * conf/mips-yeeloong.rmk: Likewise.
10096 * conf/mips.rmk: Likewise.
10097 * conf/powerpc-ieee1275.rmk: Likewise.
10098 * conf/sparc64-ieee1275.rmk: Likewise.
10099 * conf/x86_64-efi.rmk: Likewise.
10100 * conf/i386-coreboot.rmk: Moved qemu parts ..
10101 * conf/i386-qemu.rmk: ... here
10102 * conf/i386-efi.rmk: Moved common parts to...
10103 * conf/x86-efi.rmk: ... here.
10104 * conf/i386.rmk: Added modules common to all x86 variants.
10105 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
10106 * disk/memdisk.c: Remove grub/machine/kernel.h.
10107 * gensymlist.sh.in: Include symbol.h.
10108 * hook/datehook.c: Correct module name.
10109 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
10110 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
10111 * include/grub/i386/efi/serial.h: New file.
10112 * include/grub/x86_64/efi/serial.h: Likewise.
10113 * util/time.c: Likewise.
10114 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
10115
463ac55f
CK
101162010-03-14 Colin King <colin.king@ubuntu.com>
101172010-03-14 Colin Watson <cjwatson@ubuntu.com>
10118
10119 Shrink the pre-partition-table part of boot.img by eight bytes.
10120
10121 * boot/i386/pc/boot.S (ERR): New macro.
10122 (chs_mode): Use ERR.
10123 (geometry_error): Likewise.
10124 (hd_probe_error): Remove. This is only used once, so we wrwite
10125 it inline instead.
10126 (read_error): Instead of printing read_error_string, just set up
10127 %si and fall through to ...
10128 (error_message): ... this new function, also used by ERR.
10129
08e46ede
CW
101302010-03-14 Colin Watson <cjwatson@ubuntu.com>
10131
10132 Speed up consecutive hostdisk operations on the same device.
10133
10134 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
10135 (grub_util_biosdisk_open): Initialise disk->data.
10136 (struct linux_partition_cache): New structure.
10137 (linux_find_partition): Cache partition start positions; these are
10138 expensive to compute on every read and write.
10139 (open_device): Cache open file descriptor in disk->data, so that we
10140 don't have to reopen it and flush the buffer cache for consecutive
10141 operations on the same device.
10142 (grub_util_biosdisk_close): New function.
10143 (grub_util_biosdisk_dev): Set `close' member.
10144
10145 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
10146 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
10147 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10148 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10149 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
10150
4a6d2d06
VS
101512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Compile parts of grub-emu as modules.
10154
10155 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
10156 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
10157 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
10158 (all-local): Add $(GRUB_EMU).
10159 (install-local): Install $(GRUB_EMU).
10160 (uninstall): Uninstall $(GRUB_EMU).
10161 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
10162 * kern/dl.c: Likewise.
10163 * commands/sleep.c: Not include machine/time.h.
10164 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
10165 (COMMON_CFLAGS): Likewise.
10166 (sbin_UTILITIES): Remove grub-emu.
10167 (grub_emu_SOURCES): Removed.
10168 (kernel_img_RELOCATABLE): New variable.
10169 (pkglib_PROGRAMS): Add kernel.img.
10170 (kernel_img_SOURCES): New variable
10171 (kernel_img_CFLAGS): Likewise.
10172 (kernel_img_LDFLAGS): Likewise.
10173 (TARGET_NO_STRIP): Likewise.
10174 (TARGET_NO_DYNAMIC_MODULES): Likewise.
10175 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
10176 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
10177 (grub-emu): New target.
10178 (GRUB_EMU): New variable.
10179 * configure.ac: Whitelist -emu as possible x86_64 architecture.
10180 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
10181 * loader/xnu.c: Likewise.
10182 * include/grub/pci.h: Likewise.
10183 * genemuinit.sh: New file.
10184 * genemuinitheader.sh: Likewise.
10185 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
10186 Support TARGET_NO_DYNAMIC_MODULES.
10187 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
10188 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
10189 * disk/loopback.c: Likewise.
10190 * font/font_cmd.c: Likewise.
10191 * partmap/acorn.c: Likewise.
10192 * partmap/amiga.c: Likewise.
10193 * partmap/apple.c: Likewise.
10194 * partmap/gpt.c: Likewise.
10195 * partmap/msdos.c: Likewise.
10196 * partmap/sun.c: Likewise.
10197 * parttool/msdospart.c: Likewise.
10198 * term/gfxterm.c: Likewise.
10199 * video/bitmap.c: Likewise.
10200 * video/readers/jpeg.c: Likewise.
10201 * video/readers/png.c: Likewise.
10202 * video/readers/tga.c: Likewise.
10203 * video/video.c: Likewise.
10204 * util/grub-emu.c (read_command_list): Removed.
10205 (main): Don't call util_init_nls.
10206 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
10207 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
10208
91fdd2ed
VS
102092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
10212 date.mod, datehook.mod.
10213 (datetime_mod_SOURCES): New variable.
10214 (datetime_mod_CFLAGS): Likewise.
10215 (datetime_mod_LDFLAGS): Likewise.
10216 (date_mod_SOURCES): Likewise.
10217 (date_mod_CFLAGS): Likewise.
10218 (date_mod_LDFLAGS): Likewise.
10219 (datehook_mod_SOURCES): Likewise.
10220 (datehook_mod_CFLAGS): Likewise.
10221 (datehook_mod_LDFLAGS): Likewise.
10222 * conf/sparc64-ieee1275.rmk: Likewise.
10223 * lib/ieee1275/datetime.c: New file.
10224
873ccae6
VS
102252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
10228 (ieee1275_fb_mod_SOURCES): New variable.
10229 (ieee1275_fb_mod_CFLAGS): Likewise.
10230 (ieee1275_fb_mod_LDFLAGS): Likewise.
10231 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
10232 New proto.
10233 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
10234 (HEAP_MAX_ADDR): Likewise.
10235 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
10236 type.
10237 Correct stop condition.
10238 (grub_ieee1275_devices_iterate): New function.
10239 * video/ieee1275.c: New file.
10240
601c97c0
VS
102412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
10244
10245 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
10246 as scratch.
10247 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
10248 SCRATCH_PAD_DISKBOOT as scratch.
10249 (bootit): Pass Openfirmware pointer in %o4.
10250 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
10251 of 0x200000.
10252 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
10253 with util/grub-mkrawimage.c.
10254 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
10255 * include/grub/aout.h (AOUT_MID_SUN): New definition.
10256 (grub_aout_get_type) [GRUB_UTIL]: Removed.
10257 (grub_aout_load) [GRUB_UTIL]: Likewise.
10258 * include/grub/kernel.h (grub_modules_get_end): New proto.
10259 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
10260 (SCRATCH_PAD_BOOT): New definition.
10261 (SCRATCH_PAD_DISKBOOT): Likewise.
10262 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
10263 * include/grub/sparc64/ieee1275/ieee1275.h
10264 (grub_ieee1275_original_stack): New variable
10265 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10266 New definition
10267 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
10268 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
10269 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
10270 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
10271 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
10272 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
10273 (grub_platform_image_format_t): New type.
10274 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
10275 * kern/main.c (grub_modules_get_end)
10276 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
10277 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
10278 (codestart): Switch stacks.
10279 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
10280 variable.
10281 (grub_heap_init): Use grub_modules_get_end.
10282 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
10283 stack.
10284 * util/grub-mkrawimage.c (generate_image): Support sparc64.
10285 (main): Likewise.
10286 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
10287
d68b491e
TG
102882010-03-14 Thorsten Glaser <tg@mirbsd.org>
10289
10290 * util/grub-mkrescue.in: Base ISO UUID on UTC.
10291
4e02ed50
MK
102922010-03-08 Matt Kraai <kraai@ftbfs.org>
10293
10294 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
10295 bug #559005).
10296
1f15fc1e
VS
102972010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * genmoddep.awk: Output all missing symbols and not only first.
10300
fce5d8ff
VS
103012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * NEWS: Put the date of 1.98 release.
10304
d1e8a02f
VS
103052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
10308 ft2build.h.
10309
696fd607
VS
103102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
10313 completition in the middle of string.
10314
33e2e6f3
VS
103152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * util/grub-mkrescue.in: Use mktemp with explicit template.
10318
b1f6d291
VS
103192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
10322
2ac227c7
VS
103232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
10326 right pointer.
10327
8f9a632b
VS
103282010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Fix FreeBSD compilation.
10331
10332 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
10333 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
10334
60b03859
VS
103352010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
10338
48a5a769
VS
103392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
10342
3ab4bd77
VS
103432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10346
d116e0d8
RM
103472010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10348
10349 Support relative image path in theme file.
10350
10351 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10352 (image_set_property): Handle theme_dir and relative path.
10353
c7ef54aa
VS
103542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * configure.ac: Alias amd64 to x86_64.
10357
fcee14ed
VS
103582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * NEWS: mention multiboot on EFI.
10361
d0780363
VS
103622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * kern/main.c (grub_load_modules): Handle errors from init functions of
10365 embeded modules.
10366
41168ea4
VS
103672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * normal/autofs.c (autoload_fs_module): Handle errors.
10370
b54d93ac
VS
103712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 Disable linux.mod on qemu-mips since it's not functional and leads
10374 to compilation failure.
10375
10376 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10377 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10378 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10379 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10380 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10381 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10382 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10383 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10384 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10385 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10386 Reported by: BVK Chaitanya
10387
fc8345da
JU
103882010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10389
10390 * INSTALL: Add gettext as a dependency and add qemu to a new section
10391 "Prerequisites for make-check".
10392
4760f979
CF
103932010-03-04 Christian Franke <franke@computer.org>
10394
10395 * util/grub-pe2elf.c: Add missing include "progname.h".
10396
f209b5b2
VS
103972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 * normal/crypto.c (read_crypto_list): Fix a typo.
10400 Reported by: Seth Goldberg.
10401
b4b7be98
VS
104022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 10405 Reported by: Seth Goldberg.
b4b7be98 10406
c0ee0385
VS
104072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10410 ascii.bitmaps.
10411
a8efbf64
VS
104122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 10415 Reported by: Seth Goldberg.
a8efbf64 10416
08dcd913
VS
104172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * util/i386/efi/grub-install.in: Copy gettext files.
10420
c4d0b332
VS
104212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10424
c6f2fe52
VS
104252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 Wait for user entry basing on presence of output rather than on errors.
10428
10429 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10430 (grub_install_newline_hook): Likewise.
10431 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10432 * normal/menu.c (show_menu): Check line_counter to determine presence
10433 of output.
10434 * normal/term.c (grub_normal_line_counter): New variable.
10435 (grub_normal_get_line_counter): New function.
10436 (grub_install_newline_hook): Likewise.
10437
5382b1e4
VS
104382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10441
5519963b
VS
104422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * configure.ac: Update version to 1.98.
10445
72b28631
VS
104462010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * util/grub.d/10_linux.in (linux_entry): Don't default to
10449 gfxpayload=keep if Linux doesn't support video handover.
10450
c140a180
VS
104512010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 Don't compile video modules on yeeloong since video subsystem is part
10454 of kernel.
10455
10456 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10457 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10458 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10459 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10460 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10461 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10462 * include/grub/bitmap_scale.h: Likewise.
10463 * include/grub/bufio.h: Likewise.
10464 * include/grub/font.h: Likewise.
10465 * include/grub/gfxterm.h: Likewise.
10466 * include/grub/video.h: Likewise.
10467 * include/grub/vbe.h: Don't include video_fb.h.
10468 * video/i386/pc/vbe.c: Include video_fb.h.
10469 * commands/i386/pc/vbetest.c: Include video.h.
10470
a0ca21c2
CW
104712010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10472
10473 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10474 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10475 default entry if GRUB_SAVEDEFAULT=true. This allows using
10476 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10477 saving a new default on every boot.
10478
4a8a763c
VS
104792010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10482 * normal/term.c (read_terminal_list): Likewise.
10483 * normal/main.c (grub_normal_init_page): Likewise.
10484 (grub_normal_read_line_real): Likewise.
10485
607ffde2
VS
104862010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10489 memory leak.
10490 Reported by: Seth Goldberg.
10491
2b8fa975
CW
104922010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10493
10494 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10495 duplicate declaration of `start'.
10496
618307dd
VS
104972010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10500 filename.
10501 Reported by: Georgy Buranov
10502
7dd05b96 105032010-02-20 Carles Pina i Estany <carles@pina.cat>
10504
10505 * util/grub-mkrawimage.c (usage): Change string formatting to
10506 improve gettext.
10507
d1484a42
MRA
105082010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10509
10510 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10511 backspace keys.
10512
42b1d186
VS
105132010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10516 Reported by: Michael Suchanek.
10517
105182010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
10519
10520 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10521 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10522
d9f31a41
VS
105232010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 Remove any reference to non-free fonts.
10526
10527 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10528 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10529 uses non-free components.
10530 * font/font.c (grub_font_get_name): Remove example name.
10531 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10532 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10533 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10534 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10535
2793c71e
GB
105362010-02-16 Georgy Buranov <gburanov@gmail.com>
10537
10538 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10539
402e3779
VS
105402010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10543 Double divisor.
10544 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10545 features.
10546 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10547
0dd1e0dd
VS
105482010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10551
6fa7cfce
ST
105522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10553
10554 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10555 * docs/grub.texi (Command-line and menu entry commands): Document play
10556 command.
10557
37c8483b
ST
105582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10559
10560 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10561 parse arguments as inline tempo and notes. Move code for playing notes
10562 to...
10563 (play): ... new function.
10564
14da0fb7
ST
105652010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10566
10567 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10568 grub_uint16_t instead of short.
10569 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10570 disk from little endian to cpu endianness.
10571
04459e70
ST
105722010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10573
10574 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10575 GRUB_TICKS_PER_SECOND instead of 120.
10576
a0876943
VS
105772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10580 escape sequence after \e.
10581
e29f95dc
VS
105822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10585 non-ASCII characters.
10586
d27859b2
VS
105872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10590 set root in single quotes to prevent \, from being unescaped.
10591
bc028f2f
VS
105922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 Prevent unknown commands from stopping menuentry execution.
10595
10596 * script/execute.c (grub_script_execute_cmdline): Print error after
10597 unknown command.
10598
095f5f82
VS
105992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10602 Reported by: Pavel Pisa.
10603
8c717950
VS
106042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10607
904935c3
VS
106082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 Merge grub_ieee1275_map_physical into grub_map and rename to
10611 grub_ieee1275_map
10612
10613 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10614 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10615 Remove.
10616 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10617 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10618 necessary.
10619 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10620
5b59a4e3
VS
106212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10624 opening and not after.
10625
69e137e8
VS
106262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10629 constants.
10630
2c0fcc36
VS
106312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10634 (alloc_phys): Use ALIGN_UP instead of align_addr.
10635
8c6052ce
VS
106362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10639
17cec782
VS
106402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10643
e0128bbd
VS
106442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10647 verbose dprintf.
10648
ca62070b
VS
106492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 Fix over-4GiB seek on sparc64.
10652
10653 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10654 Replace pos_i and pos_lo with pos. All users updated.
10655 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10656 New constant.
10657 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10658 Likewise.
10659 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10660 and pos_lo.
10661
bdca2607
VS
106622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * util/grub-mkrawimage.c (main): Call set_program_name.
10665
da278c4d
VS
106662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 Properly align 64-bit targets.
10669
10670 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10671 (generate_image): Use ALIGN_ADDR.
10672
b274d734
VS
106732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 Properly create cross-endian images.
10676
10677 * include/grub/types.h (grub_host_to_target_addr): New macro
10678 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10679
82da2062
VS
106802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10681
10682 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10683
7cae4377
VS
106842010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10687
10688 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10689 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10690 (grub_linux_boot): Divide by 64K when on VESA.
10691
65a533e7
VS
106922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 Support GRUB_GFXPAYLOAD_LINUX.
10695
10696 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10697 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10698
dd01d397
VS
106992010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10702 to show messages instead of discarding them.
10703 Process errors after executing command and not before. Keep old method
10704 too as precaution.
10705
660960d6
VS
107062010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * configure.ac: Check for ft2build.h.
10709
62509f04
VS
107102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10713
473df63d
VS
107142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * genkernsyms.sh.in: Use TARGET_CC.
10717
c98d2a13
CW
107182010-02-07 Colin Watson <cjwatson@ubuntu.com>
10719
10720 * NEWS: Update.
10721
6e14234c
VS
107222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
10725 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10726 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 10727
b255e9cf
YB
107282010-02-07 Yves Blusseau <blusseau@zetam.org>
10729
6e14234c 10730 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 10731
98e6959d
VS
107322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 Fix warnings in grub-emu when compiling with maximum warning options.
10735
10736 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10737 (grub_arch_modules_addr): Return 0 and not NULL.
10738 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 10739 (xstrdup): Use newstr instead of dup.
f88d801b
VS
10740 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10741 of disk to dsk to avoid shadowing.
74e4934e
VS
10742 (find_free_slot): Fix prototype.
10743 * util/getroot.c (grub_util_is_dmraid): Make static.
10744 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10745 Add missing prototype.
10746 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 10747
74e31b5c
VS
107482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10751 appropriately.
10752
6b2ad14b
VS
107532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10756 code out.
10757
8f891adc
VS
107582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10761 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10762 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10763 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10764 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10765 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10766
74b45184
VS
107672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * include/grub/err.h (grub_err_printf): Don't export.
10770
a4bced77
VS
107712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10774
007d0695
VS
107752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10778 * kern/misc.c (grub_gettext_dummy): Make static.
10779
b6c0d9c2
VS
107802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10783 by non-valid ones.
10784 * kern/term.c (grub_putchar): Likewise.
10785
f51a90d0
VS
107862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10789 buggy hook call and memory leak.
10790
6846cec5
VS
107912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10794
468d69fe
VS
107952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10798
51906b8c
VS
107992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10802 modevar.
10803 Return grub_errno on allocation error.
10804
09706ce5
VS
108052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10808
911df80c
YB
108092010-02-06 Yves Blusseau <blusseau@zetam.org>
10810
10811 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10812 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10813
3746a6bc
VS
108142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10817 non-pxe disk.
10818 (grub_pxefs_open): Likewise.
10819
09706ce5
VS
108202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10821
10822 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10823 * util/grub.d/10_kfreebsd.in: Likewise.
10824 * util/grub.d/10_linux.in: Likewise.
10825
7cc192d9
VS
108262010-02-06 Colin D Bennett <colin@gibibit.com>
10827
10828 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10829 (gfxmenu_mod_SOURCES): New variable.
10830 (gfxmenu_mod_CFLAGS): Likewise.
10831 (gfxmenu_mod_LDFLAGS): Likewise.
10832 * include/grub/term.h (grub_term_set_current_output): Declare
10833 argument as const.
10834 * docs/gfxmenu-theme-example.txt: New file.
10835 * gfxmenu/gfxmenu.c: Likewise.
10836 * gfxmenu/gui_box.c: Likewise.
10837 * gfxmenu/gui_canvas.c: Likewise.
10838 * gfxmenu/gui_circular_progress.c: Likewise.
10839 * gfxmenu/gui_image.c: Likewise.
10840 * gfxmenu/gui_label.c: Likewise.
10841 * gfxmenu/gui_list.c: Likewise.
10842 * gfxmenu/gui_progress_bar.c: Likewise.
10843 * gfxmenu/gui_string_util.c: Likewise.
10844 * gfxmenu/gui_util.c: Likewise.
10845 * gfxmenu/icon_manager.c: Likewise.
10846 * gfxmenu/model.c: Likewise.
10847 * gfxmenu/named_colors.c: Likewise.
10848 * gfxmenu/theme_loader.c: Likewise.
10849 * gfxmenu/view.c: Likewise.
10850 * gfxmenu/widget-box.c: Likewise.
10851 * include/grub/gfxmenu_model.h: Likewise.
10852 * include/grub/gfxmenu_view.h: Likewise.
10853 * include/grub/gfxwidgets.h: Likewise.
10854 * include/grub/gui.h: Likewise.
10855 * include/grub/gui_string_util.h: Likewise.
10856 * include/grub/icon_manager.h: Likewise.
10857
108582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Agglomerate scrolling in gfxterm.
10861
10862 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10863 (grub_virtual_screen_setup): Initialise 'total_screen'.
10864 (write_char): Split to ...
10865 (paint_char): ... this ...
10866 (write_char): ... and this.
10867 (paint_char): Handle delayed scrolling.
10868 (draw_cursor): Likewise.
10869 (scroll_up): Split to ...
10870 (real_scroll): ... this ...
10871 (scroll_up): ... and this.
10872 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10873 characters.
10874 (grub_gfxterm_refresh): Call real_scroll.
10875
108762010-02-06 Colin D Bennett <colin@gibibit.com>
10877
10878 * include/grub/misc.h (grub_iscntrl): New inline function.
10879 (grub_isalnum): Likewise.
10880 (grub_strtol): Likewise.
10881
108822010-02-06 Colin D Bennett <colin@gibibit.com>
10883
10884 * normal/menu_text.c (get_entry_number): Move from here ...
10885 * normal/menu.c (get_entry_number): ... moved here.
10886 * include/grub/menu.h (grub_menu_get_default_entry_index):
10887 New prototype.
10888 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10889 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10890 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10891 (grub_menu_viewer_should_return): Likewise.
10892 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10893 * normal/menu_text.c (run_menu): Enable menu switching.
10894 * normal/menu_viewer.c (should_return): New variable.
10895 (menu_viewer_changed): Likewise.
10896 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10897 (grub_menu_viewer_should_return): New function.
10898 (menuviewer_write_hook): Likewise.
10899 (grub_menu_viewer_init): Likewise.
10900
109012010-02-06 Colin D Bennet <colin@gibibit.com>
109022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 Support for gfxterm in a window.
10905
10906 * include/grub/gfxterm.h: New file.
10907 * include/grub/video.h (struct grub_video_rect): New declaration.
10908 (grub_video_rect_t): Likewise.
10909 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10910 (refcount): New variable.
10911 (render_target): Likewise.
10912 (window): Likewise.
10913 (repaint_callback): Likewise.
10914 (grub_virtual_screen_setup): Use 'render_target'.
10915 (init_window): New function.
10916 (grub_gfxterm_init_window): Likewise.
10917 (grub_gfxterm_init): Check reference counter.
10918 Use init_window.
10919 (destroy_window): New function.
10920 (grub_gfxterm_destroy_window): Likewise.
10921 (grub_gfxterm_fini): Check reference counter.
10922 Use destroy_window.
10923 (redraw_screen_rect): Restore viewport.
10924 Use 'render_target' and 'window'.
10925 Call 'repaint_callback'.
10926 (write_char): Use 'render_target'.
10927 (draw_cursor): Likewise.
10928 (scroll_up): Restore viewport.
10929 Use 'render_target' and 'window'.
10930 Call 'repaint_callback'.
10931 (grub_gfxterm_cls): Likewise.
10932 (grub_gfxterm_refresh): Use 'window'.
10933 (grub_gfxterm_set_repaint_callback): New function.
10934 (grub_gfxterm_background_image_cmd): Use 'window'.
10935 (grub_gfxterm_get_term): New function.
10936 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10937
109382010-02-06 Colin D Bennett <colin@gibibit.com>
10939
10940 Bitmap scaling support.
10941
10942 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10943 (bitmap_scale_mod_SOURCES): New variable.
10944 (bitmap_scale_mod_CFLAGS): Likewise.
10945 (bitmap_scale_mod_LDFLAGS): Likewise.
10946 * include/grub/bitmap_scale.h: New file.
10947 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10948 (background_image_cmd_options): New variable.
10949 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10950 (cmd): Rename and change type to ...
10951 (background_image_cmd_handle): ... this. All users updated.
10952 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10953 * video/bitmap_scale.c: New file.
10954
109552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 SDL support.
10958
10959 * Makefile.in (LIBSDL): New variable.
10960 (enable_grub_emu_sdl): Likewise.
10961 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10962 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10963 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10964 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10965 * util/sdl.c: New file.
10966
109672010-02-06 Colin D Bennett <colin@gibibit.com>
109682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 Double buffering support.
10971
10972 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10973 * include/grub/video.h: Update comment.
10974 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10975 New type.
10976 (grub_video_fb_doublebuf_blit_init): New prototype.
10977 * term/gfxterm.c (scroll_up): Support double buffering.
10978 (grub_gfxterm_refresh): Likewise.
10979 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10980 (grub_video_fb_doublebuf_blit_init): Likewise.
10981 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10982 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10983 'displayed_page', 'render_page' and 'update_screen'.
10984 (grub_video_vbe_fini): Free offscreen buffer.
10985 (doublebuf_pageflipping_commit): New function.
10986 (doublebuf_pageflipping_update_screen): Likewise.
10987 (doublebuf_pageflipping_init): Likewise.
10988 (double_buffering_init): Likewise.
10989 (grub_video_vbe_setup): Enable doublebuffering.
10990 (grub_video_vbe_swap_buffers): Implement.
10991 (grub_video_vbe_set_active_render_target): Handle double buffering.
10992 (grub_video_vbe_get_active_render_target): Likewise.
10993 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10994 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10995 (grub_video_vbe_enable_double_buffering): Likewise.
10996 (grub_video_vbe_swap_buffers): Use update_screen.
10997 (grub_video_set_mode): Use double buffering.
10998
109992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11000
11001 * maintainance/gentrigtables.py: Remove.
11002 * lib/trig.c: Likewise.
11003
11004 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
11005
11006 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
11007 `trigtables.c'.
11008 (trigtables.c): New rule.
11009 (gentrigtables): Likewise.
11010 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
11011
110122010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11013
11014 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
11015 integer constants.
11016
110172010-02-06 Colin D Bennet <colin@gibibit.com>
11018
11019 Trigonometry support.
11020
11021 * include/grub/trig.h: New file.
11022 * lib/trig.c: Likewise.
11023 * maintainance/gentrigtables.py: Likewise.
11024 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
11025 (trig_mod_SOURCES): New variable.
11026 (trig_mod_CFLAGS): Likewise.
11027 (trig_mod_LDFLAGS): Likewise.
11028
5562834e
VS
110292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
11032 disk devices.
11033
4f8528fc
VS
110342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
11037 error.
11038
2b4068e9
VS
110392010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * util/hostdisk.c (open_device): Don't use partition device when reading
11042 before the partition.
11043 (grub_util_biosdisk_read): Don't read from partition and before the
11044 partition in single operation.
11045 (grub_util_biosdisk_write): Don't write to partition and before the
11046 partition in single operation.
11047
399f6e4d
TL
110482010-02-03 Torsten Landschoff <torsten@debian.org>
11049
11050 * kern/disk.c (grub_disk_read): Fix offset computation when reading
11051 last sectors.
11052
996649b0
VS
110532010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
11056 CDROM reads.
11057 (grub_biosdisk_write): Refuse to write to CDROM.
11058
3b205d4d
VS
110592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
11062
61e89d9d
VS
110632010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * font/font.c (find_glyph): Check that bmp_idx is available before
11066 using it.
11067 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
11068 with (font == NULL).
11069
bf7fcba2
CS
110702010-01-28 Christian Schmitt <chris@ilovelinux.de>
11071
11072 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
11073
f45d2663
BC
110742010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
11075
11076 * include/grub/script_sh.h (sourcecode): Add const qualifier.
11077 * util/grub-script-check.c (getline): Fix empty lines case.
11078
ec1444e6
RM
110792010-01-28 Robert Millan <rmh.grub@aybabtu.com>
11080
11081 * Makefile.in (check): Exit with fail status when one of the tests
11082 fails.
11083 * tests/example_functional_test.c (example_test): Fix reversed assert.
11084 * tests/example_unit_test.c (example_test): Likewise.
11085
2e1cb9bb
CW
110862010-01-28 Colin Watson <cjwatson@ubuntu.com>
11087
11088 * util/grub.d/10_linux.in: This script does not use any of the
11089 contents of gettext.sh, only the external command `gettext', so stop
11090 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
11091 the same prefix as GRUB.)
11092 * util/grub.d/10_kfreebsd.in: Likewise.
11093
63533ab0
VS
110942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
11097 of the line.
11098
989e1f93
VS
110992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * kern/disk.c (grub_disk_read): Fix offset computation when reading
11102 last sectors.
11103
e709ebe2
VS
111042010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
11107 having a 4KiB and not 32KiB buffer size.
11108
27dea7ed
RM
111092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11110
11111 * util/hostfs.c: Include `<errno.h>'.
11112 (grub_hostfs_read): Handle errors from fseeko() and fread().
11113
67667b9c
RM
111142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11115
11116 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
11117 loop when using read hooks on files whose size isn't sector-aligned.
11118
c294d9d8
RM
111192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11120
11121 Remove unused parameter.
11122
11123 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
11124 (grub_iso9660_open): Remove initialization of `data->length'.
11125
af75a9f1
RM
111262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11127
11128 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
11129 memleak conditions.
11130
254e2ce5 111312010-01-27 Carles Pina i Estany <carles@pina.cat>
11132
11133 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
11134 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
11135
b510928c 111362010-01-26 Carles Pina i Estany <carles@pina.cat>
11137
11138 * util/bin2h.c (usage): Fix warning (space after backslash).
11139
aa2f9dd2 111402010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 11141
11142 * font/font.c: Include `grub/fontformat.h.
11143 Remove font file format constants.
11144 (grub_font_load): Use the new macros.
11145 * include/grub/fontformat.h: New file.
11146 * util/grub-mkfont.c: Include `grub/fontformat.c'.
11147 (write_font_pf2): Use the new macros.
11148
94e7e712
RM
111492010-01-26 Robert Millan <rmh.grub@aybabtu.com>
11150
11151 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
11152 does.
11153
3973a59a
RM
111542010-01-26 Robert Millan <rmh.grub@aybabtu.com>
11155
11156 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
11157
11158 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
11159 (_start): Macroify `0x7F'.
11160
11161 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
11162 (make_install_device): Use "(pxe)" as fallback prefix when booting
11163 via PXE.
11164
42e0cba3
GS
111652010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * configure.ac: Reset LIBS after check for libgcc symbols.
11168
847effd8
CW
111692010-01-25 Colin Watson <cjwatson@ubuntu.com>
11170
11171 * util/hostdisk.c (open_device): Add trailing newline to debug
11172 message.
11173
ea4a7e35
GS
111742010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
11175
11176 * configure.ac: Check for `limits.h'.
11177 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
11178
67951a53
RM
111792010-01-24 Robert Millan <rmh.grub@aybabtu.com>
11180
11181 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
11182 capitalize error strings.
11183
c273d4ce
ST
111842010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
11185
11186 * util/grub.d/10_hurd.in: Add a recovery mode.
11187
69be5b74
VS
111882010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * configure.ac: Check for libgcc symbols with -nostdlib.
11191
fc9e5810
BC
111922010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
11193
11194 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
11195
4b358c0a
VS
111962010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
11199 stack since heap may be unavailable at that point.
11200 (grub_ofconsole_gotoxy): Likewise.
11201
454fcd1c
VS
112022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * configure.ac: Check for _restgpr_14_x.
11205 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
11206 and _savegpr_* prototypes.
11207
566863ca
RM
112082010-01-22 Robert Millan <rmh.grub@aybabtu.com>
11209
11210 Use generic grub_reboot() for i386-efi.
11211
11212 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
11213 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
11214 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
11215
bf86e59a
VS
112162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
11219 presence of "prefix" variable as it breaks when normal.mod is
11220 embedded.
11221
d645e0f8
VS
112222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
11225 stack since heap is unavailable at that point.
11226
f9ab2e25
VS
112272010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
11230 (grub_freebsd_bootinfo): Rewritten.
11231 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
11232
01fc7054
VS
112332010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
11236
caab4fd6
RM
112372010-01-21 Robert Millan <rmh.grub@aybabtu.com>
11238
11239 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
11240 domain now.
11241
67eb1427
FZ
112422010-01-20 Felix Zielcke <fzielcke@z-51.de>
11243
11244 * util/misc.c (make_system_path_relative_to_its_root): Change the work
11245 around for handling "/" to the correct fix. Fix a memory leak. Use
11246 xstrdup instead of strdup.
11247
a9ed4ff3
VS
112482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
11251
112522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
11253
11254 Optimise glyph lookup by Basic Multilingual Plane lookup array.
11255
11256 * font/font.c (struct grub_font): New member 'bmp_idx'.
11257 (font_init): Initialise 'bmp_idx'.
11258 (load_font_index): Fill 'bmp_idx'.
11259 (find_glyph): Make inline. Use bmp_idx for BMP characters.
11260
48209f4f
VS
112612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
11264 unnecessary calls.
11265
9f0a4bb7
VS
112662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 Move context handling out of the kernel.
11269
11270 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
11271 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
11272 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
11273 * conf/i386-efi.rmk: Likewise.
11274 * conf/i386-ieee1275.rmk: Likewise.
11275 * conf/i386-pc.rmk: Likewise.
11276 * conf/powerpc-ieee1275.rmk: Likewise.
11277 * conf/sparc64-ieee1275.rmk: Likewise.
11278 * conf/x86_64-efi.rmk: Likewise.
11279 * include/grub/env.h: Include grub/menu.h.
11280 (grub_env_var_type): Removed.
11281 (grub_env_var): Replaced field 'type' with 'global'.
11282 (grub_env_find): New prototype.
11283 (grub_env_context_open): Remove EXPORT_FUNC.
11284 (grub_env_context_close): Likewise.
11285 (grub_env_export): Likewise.
11286 (grub_env_set_data_slot): Removed.
11287 (grub_env_get_data_slot): Likewise.
11288 (grub_env_unset_data_slot): Likewise.
11289 (grub_env_unset_menu): New prototype.
11290 (grub_env_set_menu): Likewise.
11291 (grub_env_get_menu): Likewise.
11292 * include/grub/env_private.h: New file.
11293 * include/grub/normal.h (grub_context_init): New prototype.
11294 (grub_context_fini): Likewise.
11295 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
11296 * normal/context.c (grub_cmd_export): ... to here.
11297 * kern/env.c: Include env_private.h.
11298 (HASHSZ): Moved to include/grub/env_private.h.
11299 (grub_env_context): Likewise.
11300 (grub_env_sorted_var): Likewise.
11301 (current_context): Renamed from this ...
11302 (grub_current_context): ...to this. 'static' removed. All users updated.
11303 (grub_env_find): Removed 'static'.
11304 (grub_env_context_open): Moved to normal/context.c.
11305 (grub_env_context_close): Likewise.
11306 (grub_env_export): Likewise.
11307 (mangle_data_slot_name): Removed.
11308 (grub_env_set_data_slot): Likewise.
11309 (grub_env_get_data_slot): Likewise.
11310 (grub_env_unset_data_slot): Likewise.
11311 * kern/main.c (grub_set_root_dev): Don't export root.
11312 It will be done later.
11313 (grub_main): Don't export prefix.
11314 It will be done later.
11315 * normal/context.c: New file.
11316 * normal/main.c (free_menu): Use grub_env_unset_menu.
11317 (grub_normal_add_menu_entry): Use grub_env_get_menu.
11318 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
11319 (GRUB_MOD_INIT(normal)): Call grub_context_init.
11320 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
11321
8dd35b8c
VS
113222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 setpci support.
11325
11326 * commands/setpci.c: New file.
11327 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
11328 (setpci_mod_SOURCES): New variable.
11329 (setpci_mod_CFLAGS): Likewise.
11330 (setpci_mod_LDFLAGS): Likewise.
11331
449193d5
VS
113322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 Byte-addressable PCI configuration space.
11335
11336 * bus/pci.c (grub_pci_make_address): Use byte address instead of
11337 dword address.
11338 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
11339 GRUB_PCI_REG_CACHELINE.
11340 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
11341 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
11342 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
11343 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
11344 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11345 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11346 grub_pci_make_address.
11347 (lock_rom_area): Likewise.
11348 * commands/lspci.c (grub_lspci_iter): Use macroses
11349 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11350 of grub_pci_make_address.
11351 * disk/ata.c (grub_ata_pciinit): Likewise.
11352 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11353 (GRUB_PCI_REG_VENDOR): Likewise.
11354 (GRUB_PCI_REG_DEVICE): Likewise.
11355 (GRUB_PCI_REG_COMMAND): Likewise.
11356 (GRUB_PCI_REG_STATUS): Likewise.
11357 (GRUB_PCI_REG_REVISION): Likewise.
11358 (GRUB_PCI_REG_CLASS): Likewise.
11359 (GRUB_PCI_REG_CACHELINE): Likewise.
11360 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11361 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11362 (GRUB_PCI_REG_BIST): Likewise.
11363 (GRUB_PCI_REG_ADDRESSES): Likewise.
11364 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11365 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11366 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11367 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11368 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11369 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11370 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11371 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11372 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11373 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11374 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11375 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11376 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11377 (GRUB_PCI_REG_MIN_GNT): Likewise.
11378 (GRUB_PCI_REG_MAX_LAT): Likewise.
11379 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11380 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11381 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 11382 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
11383 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11384 space.
11385
96d73208
RM
113862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11387
11388 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11389 can be reliably determined to be supported.
11390
d4484482
RM
113912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11392
11393 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11394 that VESA is supported.
11395 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11396 supported.
11397
00308ecf
VS
113982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11401
f66924a4
RM
114022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11403
11404 * util/misc.c (make_system_path_relative_to_its_root): Work around
11405 special-casing of "/", as previous incarnation of this routine did.
11406
cbca0ada
VS
114072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 Fix any-emu compilation.
11410
11411 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11412 * grub_bin2h_SOURCES: New variable.
11413
34a66d99
RM
114142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11415
11416 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11417
94fabf58
RM
114182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11419
11420 * util/grub.d/00_header.in: Fix handling of locale_dir.
11421
02cf98ca
VS
114222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11425 as possible unifont location (Gentoo).
11426 Reported by: Alexander Brüning
11427
327dbcd7
VS
114282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 Don't try to generate lists for kernel.img.
11431
11432 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11433 (pkglib_MODULES): Remove kernel.img.
11434 (kernel_img_EXPORTS): Removed.
11435 (kernel_img_RELOCATABLE): New variable.
11436 * conf/x86_64-efi.rmk: Likewise.
11437 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11438
ca467290
VS
114392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11442 grub_xasprintf or grub_snprintf.
11443 (grub_vsprintf): Likewise.
11444 (grub_snprintf): New proto.
11445 (grub_vsnprintf): Likewise.
11446 (grub_xasprintf): Likewise.
11447 (grub_xvasprintf): Likewise.
11448 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11449 (grub_sprintf): Removed.
11450 (grub_vsnprintf): New function.
11451 (grub_snprintf): Likewise.
11452 (grub_xvasprintf): Likewise.
11453 (grub_xasprintf): Likewise.
11454 (grub_vsprintf): Renamed to ...
11455 (grub_vsnprintf_real): ...this. New argument max_len.
11456
aca655fd
BC
114572010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11458
11459 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11460 fix grub-script-check warning.
11461
7ee92c32
VS
114622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * include/grub/font.h (grub_font_load): Fix prototype.
11465
f80927ca
VS
114662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11469
119c50ea
VS
114702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * include/grub/x86_64/at_keyboard.h: New file.
11473
47d5f3c1
VS
114742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * loader/mips/linux.c: Include missing grub/i18n.h.
11477
55ff5266
RM
114782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11479
11480 * normal/menu.c (notify_execution_failure): Clarify error message.
11481
c893cc87
RM
114822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11483
11484 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11485 return value (and revert all return statements). Update users.
11486
917dd370
CW
114872010-01-20 Dan Merillat <debian@dan.merillat.org>
11488
11489 * kern/device.c (grub_device_iterate): Allocate new part_ent
11490 structure based on sizeof (*p) rather than sizeof (p->next), to
11491 account for structure padding.
11492
11493 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11494 disk is NULL, which might happen for LVM physical volumes with no
11495 LVM signature.
11496
d4a4ee57
RM
114972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11498
11499 * loader/mips/linux.c (grub_cmd_initrd)
11500 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11501
115022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11503
11504 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11505 (grub_video_video_init, grub_video_bitmap_init)
11506 (grub_font_manager_init, grub_term_gfxterm_init)
11507 (grub_at_keyboard_init): New extern declarations.
11508 (grub_machine_init): Initialize gfxterm and at_keyboard.
11509
11510 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11511
11512 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11513 `gfxterm.mod' into core image.
11514
11515 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11516 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11517 (kernel_img_FORMAT): Copy to ...
11518
11519 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11520 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11521 (kernel_img_FORMAT): ... here, and ...
11522
11523 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11524 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11525 (kernel_img_FORMAT): ... here.
11526
11527 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11528 and input (at_keyboard) terminals in kernel.
11529 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11530
11531 (pkglib_MODULES): Remove `pci.mod'.
11532 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11533 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11534 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11535 (at_keyboard_mod_LDFLAGS): Remove variables.
11536
115372010-01-11 Felix Zielcke <fzielcke@z-51.de>
11538
11539 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11540
115412009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11542
11543 * include/grub/mips/libgcc.h: Only export symbols for functions
11544 that libgcc provides.
11545
115462009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 MIPS support.
11549
11550 * bus/bonito.c: New file.
11551 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11552 GRUB_PCI_NUM_DEVICES.
11553 * term/i386/pc/serial.c: Move to ...
11554 * term/serial.c: ... here. All users updated.
11555 * util/i386/pc/grub-mkimage.c: Move to ...
11556 * util/grub-mkrawimage.c: ... here. All users updated.
11557 * term/i386/pc/at_keyboard.c: Move to ...
11558 * term/at_keyboard.c: ... here. All users updated.
11559 * conf/mips-qemu-mips.rmk: New file.
11560 * conf/mips-yeeloong.rmk: Likewise.
11561 * conf/mips.rmk: Likewise.
11562 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11563 mipsel-qemu-mips.
11564 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11565 to port addresses.
11566 (grub_ata_pciinit): Support CS5536.
11567 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11568 * font/font_cmd.c (loadfont_command): Open file before passing it to
11569 grub_font_load.
11570 (pseudo_file_read): New function.
11571 (pseudo_file_close): Likewise.
11572 (pseudo_fs): New structure.
11573 (load_font_module): New function.
11574 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11575 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11576 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11577 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11578 * include/grub/i386/at_keyboard.h: Split into ...
11579 * include/grub/at_keyboard.h: ... this ...
11580 * include/grub/i386/at_keyboard.h: ... and this.
11581 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11582 New prototype.
11583 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11584 updated.
11585 (grub_elf64_size): Likewise.
11586 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11587 filename.
11588 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11589 * include/grub/i386/coreboot/serial.h: Rewritten.
11590 * include/grub/i386/ieee1275/serial.h: Include
11591 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11592 * include/grub/i386/pc/serial.h: Moved from here ...
11593 * include/grub/serial.h: ... to here. All users updated.
11594 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11595 (GRUB_PCI_NUM_BUS): Likewise.
11596 (GRUB_PCI_NUM_DEVICES): Likewise.
11597 (grub_pci_device_map_range): Add missing volatile keyword.
11598 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11599 * include/grub/mips/at_keyboard.h: New file.
11600 * include/grub/mips/cache.h: Likewise.
11601 * include/grub/mips/io.h: Likewise.
11602 * include/grub/mips/kernel.h: Likewise.
11603 * include/grub/mips/libgcc.h: Likewise.
11604 * include/grub/mips/pci.h: Likewise.
11605 * include/grub/mips/qemu-mips/boot.h: Likewise.
11606 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11607 * include/grub/mips/qemu-mips/loader.h: Likewise.
11608 * include/grub/mips/qemu-mips/memory.h: Likewise.
11609 * include/grub/mips/qemu-mips/serial.h: Likewise.
11610 * include/grub/mips/qemu-mips/time.h: Likewise.
11611 * include/grub/mips/relocator.h: Likewise.
11612 * include/grub/mips/time.h: Likewise.
11613 * include/grub/mips/types.h: Likewise.
11614 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11615 * include/grub/mips/yeeloong/boot.h: Likewise.
11616 * include/grub/mips/yeeloong/kernel.h: Likewise.
11617 * include/grub/mips/yeeloong/loader.h: Likewise.
11618 * include/grub/mips/yeeloong/memory.h: Likewise.
11619 * include/grub/mips/yeeloong/pci.h: Likewise.
11620 * include/grub/mips/yeeloong/serial.h: Likewise.
11621 * include/grub/mips/yeeloong/time.h: Likewise.
11622 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11623 * kern/elf.c (grub_elf32_size): New parameter. All users
11624 updated.
11625 (grub_elf64_size): Likewise.
11626 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11627 Load modules before saying "Welcome to GRUB!".
11628 Call grub_refresh after saying "Welcome to GRUB!".
11629 * kern/mips/cache.S: New file.
11630 * kern/mips/cache_flush.S: Likewise.
11631 * kern/mips/dl.c: Likewise.
11632 * kern/mips/init.c: Likewise.
11633 * kern/mips/qemu-mips/init.c: Likewise.
11634 * kern/mips/startup.S: Likewise.
11635 * kern/mips/yeeloong/init.c: Likewise.
11636 * kern/term.c (grub_putcode): Handle NULL terminal.
11637 (grub_getcharwidth): Likewise.
11638 (grub_getkey): Likewise.
11639 (grub_checkkey): Likewise.
11640 (grub_getkeystatus): Likewise.
11641 (grub_getxy): Likewise.
11642 (grub_getwh): Likewise.
11643 (grub_gotoxy): Likewise.
11644 (grub_cls): Likewise.
11645 (grub_setcolorstate): Likewise.
11646 (grub_setcolor): Likewise.
11647 (grub_getcolor): Likewise.
11648 (grub_refresh): Likewise.
11649 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11650 (write_jump): Add hatch nop.
11651 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11652 * lib/mips/setjmp.S: New file.
11653 * loader/mips/linux.c: Likewise.
11654 * term/i386/pc/at_keyboard.c: Move from here ...
11655 * term/at_keyboard.c: ... to here.
11656 * term/i386/pc/serial.c: Moved from here ...
11657 * term/serial.c: ... to here. All users updated.
11658 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11659 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11660 (serial_translate_key_sequence): Avoid deadlock.
11661 (grub_serial_getkey): Handle backspace.
11662 (grub_serial_putchar): Fix newline handling.
11663 * util/i386/pc/grub-mkimage.c: Move from here ...
11664 * util/grub-mkrawimage.c: ... to here. All users updated.
11665 (generate_image): New parameters 'font_path' and 'format'.
11666 Support embedding font.
11667 Use grub_host_to_target* instead of grub_cpu_to_le*.
11668 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11669 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11670 (options): New option "--font".
11671 (usage): Likewise.
11672 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11673 (main): Handle "--font".
11674 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11675 (grub_virtual_screen_setup): Set bg_color_display.
11676 (redraw_screen_rect): Use bg_color_display instead of incorrect
11677 bg_color.
11678 (grub_gfxterm_cls): Likewise.
11679 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11680 Support embedding config file.
11681 (add_segments): Likewise.
11682 (options): New option "--config".
11683 (main): Handle "--config".
11684 * video/sm712.c: New file.
11685
25c2b5b3
RM
116862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11687
11688 Fix parallel builds.
11689
11690 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11691 font.c depend on ascii.h).
11692
116932010-01-12 Carles Pina i Estany <carles@pina.cat>
11694
11695 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11696
116972010-01-11 Carles Pina i Estany <carles@pina.cat>
11698
11699 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11700 By default: disabled.
11701 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11702 parameter.
11703
117042010-01-10 Carles Pina i Estany <carles@pina.cat>
11705
11706 * font/font.c: Update copyright years.
11707 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11708
117092010-01-10 Carles Pina i Estany <carles@pina.cat>
11710
11711 * font/font.c: Include `ascii.h'.
11712 (ASCII_BITMAP_SIZE): New macro.
11713 (ascii_font_glyph): Define.
11714 (ascii_glyph_lookup): New function.
11715 (grub_font_get_string_width): Change comment. If glyph not found, use
11716 ascii_glyph_lookup.
11717 (grub_font_get_glyph_with_fallback): If glyph not available returns
11718 ascii_glyph_lookup.
11719 * util/grub-mkfont.c (file_formats): New enum.
11720 (options): Add `ascii-bitmaps' new option.
11721 (usage): Add `asii-bitmaps' new option.
11722 (write_font_ascii_bitmap): New function.
11723 (write_font): Rename to ...
11724 (write_font_p2): ... this. Remove print_glyphs call.
11725 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11726 used. Call print_glyphs.
11727 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11728
117292010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11730
11731 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11732 (grub_bin2h_SOURCES): New variable.
11733 * util/bin2h.c: New file.
11734
915fc1b8
VS
117352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * include/multiboot.h: Resynced with spec.
11738 * include/multiboot2.h: Likewise.
11739 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11740 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11741
9444b678
RM
117422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11743
11744 * include/grub/term.h (grub_term_register_input,
11745 grub_term_register_output): Check return of terminal init()
11746 routines, and abort if errors are raised.
11747
11748 * commands/terminal.c: Update copyright year.
11749
cba98e8d
RM
117502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11751
11752 * commands/terminal.c (grub_cmd_terminal_input)
11753 (grub_cmd_terminal_output): Check return of terminal init()
11754 routines, and abort if errors are raised.
11755
6f7db5d6
VS
117562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * include/grub/i386/bsd.h: Fix include pathes.
11759
262bff8d
VS
117602010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 Add missing *BSD copyright headers.
11763
11764 * include/grub/aout.h: Add BSD licence.
11765 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11766 * include/grub/i386/freebsd_linker.h: ... here,
11767 * include/grub/i386/freebsd_reboot.h: ... here,
11768 * include/grub/i386/netbsd_bootinfo.h: ... here,
11769 * include/grub/i386/netbsd_reboot.h: ... here,
11770 * include/grub/i386/openbsd_bootarg.h: ... here,
11771 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11772 licence to each file.
11773
b2cab848
RM
117742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11775
11776 * acinclude.m4: Remove `nop' assembly instruction; it's not
11777 implemented by all architectures.
11778
2cb6be4b
RM
117792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11780
11781 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11782 ELILO. This is no longer necessary.
11783
a2eaee15
BC
117842010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11785
11786 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11787
11788 * util/grub-script-check.c: grub-script-check tool.
11789 * conf/common.rmk: Make rules for grub-script-check.
11790
88d17012
RM
117912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11792
11793 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11794 spotting it back in 2008. Shame on me for forgetting he did.
11795
11796 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11797
8040619d
RM
117982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11799
11800 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11801 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11802 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11803 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11804 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11805 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11806
a0c2a0f6
RM
118072010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11808
11809 * include/grub/test.h: Add license header.
11810 * tests/example_functional_test.c: Likewise.
11811 * tests/example_unit_test.c: Likewise.
11812 * tests/lib/functional_test.c: Likewise.
11813 * tests/lib/test.c: Likewise.
11814 * tests/lib/unit_test.c: Likewise.
11815
b0b13907
VS
118162010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 Use flag-based instead of hook-based video mode selection and "auto"
11819 keyword.
11820
11821 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11822 (grub_video_set_mode): Changed prototype. All users updated.
11823 (grub_video_check_mode_flag): New inline function.
11824 * video/video.c (parse_modespec): New function.
11825 (grub_video_set_mode): Parse flags and keywords.
11826
ea379330 118272010-01-17 Carles Pina i Estany <carles@pina.cat>
11828
11829 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11830 fprintf call.
11831
e15c215e
FZ
118322010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11833
11834 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11835
409ae1c9 118362010-01-16 Carles Pina i Estany <carles@pina.cat>
11837
11838 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11839 string.
11840 * util/grub-emu.c (usage): Likewise.
11841 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11842 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11843 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11844 * util/i386/pc/grub-setup.c (usage): Likewise.
11845
70a14d3d 118462010-01-16 Carles Pina i Estany <carles@pina.cat>
11847
11848 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11849 the message.
11850 (grub_util_info): Likewise.
11851 (grub_util_error): Likewise.
11852 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11853 and/or new lines in `grub_util_warna', `grub_util_info',
11854 `grub_util_error' calls.
11855 * util/getroot.c: Likewise.
11856 * util/grub-editenv.c: Likewise.
11857 * util/grub-emu.c: Likewise.
11858 * util/grub-fstest.c: Likewise.
11859 * util/grub-mkdevicemap.c: Likewise.
11860 * util/grub-mkfont.c: Likewise.
11861 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11862 * util/grub-mkrelpath.c: Likewise.
11863 * util/grub-pe2elf.c: Likewise.
11864 * util/grub-probe.c: Likewise.
11865 * util/hostdisk.c: Likewise.
11866 * util/i386/efi/grub-mkimage.c: Likewise.
11867 * util/i386/pc/grub-mkimage.c: Likewise.
11868 * util/i386/pc/grub-setup.c: Likewise.
11869 * util/ieee1275/ofpath.c: Likewise.
11870 * util/mkisofs/eltorito.c: Likewise.
11871 * util/mkisofs/rock.c: Likewise.
11872 * util/mkisofs/write.c: Likewise.
11873 * util/raid.c: Likewise.
11874 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11875 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11876
a0b766fc
VS
118772010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 Enable multiboot on non-pc.
11880
11881 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11882 multiboot.mod and multiboot2.mod to ...
11883 * conf/i386.rmk (pkglib_MODULES): ... here.
11884 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11885 Moved to ...
11886 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11887 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11888 Moved to ...
11889 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11890 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11891 Moved to ...
11892 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11893 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11894 Moved to ...
11895 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11896 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11897 relocator.mod.
11898 (ata_mod_SOURCES): Removed.
11899 (ata_mod_CFLAGS): Likewise.
11900 (ata_mod_LDFLAGS): Likewise.
11901 (relocator_mod_SOURCES): Removed.
11902 (relocator_mod_CFLAGS): Likewise.
11903 (relocator_mod_ASFLAGS): Likewise.
11904 (relocator_mod_LDFLAGS): Likewise.
11905 Include i386.mk.
11906 * include/grub/x86_64/multiboot.h: New file.
11907 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11908 Terminate EFI.
11909
884ade56
VS
119102010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 Video multiboot support.
11913
11914 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11915 New prototype.
11916 * include/multiboot.h: Resynced with multiboot specification.
11917 * include/multiboot2.h: Likewise.
11918 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11919 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11920 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11921 (HAS_VGA_TEXT): Likewise.
11922 (accepts_video): New variable.
11923 (grub_multiboot_set_accepts_video): New function.
11924 (grub_multiboot_get_mbi_size): Account for video structures.
11925 (set_video_mode): New function.
11926 (retrieve_video_parameters): Likewise.
11927 (grub_multiboot_make_mbi): Fill video fields.
11928
0d90e8a6
VS
119292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 Video driver ids.
11932
11933 * include/grub/video.h (grub_video_driver_id): New type.
11934 (grub_video_adapter): New member 'id'. All users updated.
11935 (grub_video_get_driver_id): New proto.
11936 * video/video.c (grub_video_get_driver_id): New function.
11937
5c71db1b 119382010-01-14 Carles Pina i Estany <carles@pina.cat>
11939
11940 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11941 `var=val'.
11942
cca15b52 119432010-01-14 Carles Pina i Estany <carles@pina.cat>
11944
11945 * normal/cmdline.c (print_completion): Gettextizze.
11946
c586fbb2 119472001-01-14 Carles Pina i Estany <carles@pina.cat>
11948
11949 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11950
ba2f6848 119512010-01-14 Carles Pina i Estany <carles@pina.cat>
11952
11953 * gettext/gettext.c (grub_gettext_translate): Push and pop
11954 grub_errno.
11955 (grub_gettext_delete_list): Change comment style.
11956 * kern/err.c (grub_error): Gettextizze.
11957 (grub_fatal): Gettextizze.
11958
0a46429a
RM
119592010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11960
11961 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11962 (grub_linux16_real_boot): ... this.
11963 * kern/i386/loader.S: Likewise.
11964 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11965 (grub_linux16_boot): New function. Switches to text mode and calls
11966 grub_linux16_real_boot().
11967
11968 * loader/i386/bsd.c: Include `<grub/video.h>'.
11969 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11970 text mode before calling grub_unix_real_boot().
11971
11972 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11973 (grub_multiboot_boot): Switch to text mode before calling
11974 grub_relocator32_boot().
11975
11976 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11977 (grub_chainloader_boot): Switch to text mode before calling
11978 grub_chainloader_real_boot().
11979
d6f93a66
RM
119802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
119812010-01-05 Colin Watson <cjwatson@ubuntu.com>
11982
11983 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11984 non-empty value.
11985
119862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
119872010-01-05 Colin Watson <cjwatson@ubuntu.com>
11988
11989 * util/grub.d/00_header.in: Define a "savedefault" function for use
11990 in menu entries.
11991 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11992
119932010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
119942010-01-05 Colin Watson <cjwatson@ubuntu.com>
11995
11996 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11997 saved_entry if boot_once is unset.
11998 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11999 previous saved entry (i.e. grub-reboot).
12000
120012009-12-08 Colin Watson <cjwatson@ubuntu.com>
12002
12003 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
12004
120052009-12-08 Colin Watson <cjwatson@ubuntu.com>
12006
12007 * util/grub.d/00_header.in: Use `set var=val' rather than plain
12008 `var=val'.
12009 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
12010
120112009-12-08 Colin Watson <cjwatson@ubuntu.com>
12012
12013 * util/grub-reboot.in: Fix --version output.
12014 * util/grub-set-default.in: Likewise.
12015
120162009-12-08 Colin Watson <cjwatson@ubuntu.com>
12017
12018 * util/grub.d/00_header.in: Silently ignore zero-sized environment
12019 blocks.
12020
120212009-12-08 Colin Watson <cjwatson@ubuntu.com>
12022
12023 * util/grub.d/00_header.in: Quote the value assigned to `default',
12024 in case it contains spaces.
12025
120262009-12-08 Colin Watson <cjwatson@ubuntu.com>
12027
12028 * util/grub.d/30_os-prober.in: Fix merge error that moved a
12029 `save_default_entry' call from the macosx case to the linux case.
12030
120312009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
120322009-10-25 Colin Watson <cjwatson@ubuntu.com>
12033
12034 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
12035 in `chosen' environment variable.
12036 * normal/menu_text.c (get_entry_number): Check if the variable
12037 matches the title of a menu entry.
12038 (run_menu): Pass menu to get_entry_number.
12039
12040 * util/grub-reboot.in: New file.
12041 * util/grub-set-default.in: New file.
12042 * conf/common.rmk (grub-reboot): New utility.
12043 (grub-set-default): New utility.
12044
12045 * util/grub-mkconfig_lib.in (save_default_entry): New function.
12046 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
12047 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
12048 move it to `saved_entry' for the next boot. Load environment on
12049 initialisation.
12050 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
12051 * util/grub.d/10_hurd.in: Likewise.
12052 * util/grub.d/10_linux.in (linux_entry): Likewise.
12053 * util/grub.d/10_windows.in: Likewise.
12054 * util/grub.d/30_os-prober.in: Likewise.
12055
12056 * util/grub-install.in: Create environment block.
12057 * util/i386/efi/grub-install.in: Likewise.
12058 * util/ieee1275/grub-install.in: Likewise.
12059 * util/sparc64/ieee1275/grub-install.in: Likewise.
12060
0934d184
BC
120612010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
12062
12063 Unit testing framework for GRUB.
12064
12065 * Makefile.in: Test framework build rules for 'make check'.
12066 * conf/tests.rmk: Build rules for individual tests and framework.
12067
12068 * include/grub/test.h: Header file for whitebox tests.
12069 * tests/lib/functional_test.c: Framework support for whitebox
12070 functional tests.
12071 * tests/lib/test.c: Common whitebox testing code for unit and
12072 functional tests.
12073 * tests/lib/unit_test.c: Framework support for whitebox unit
12074 tests.
12075
12076 * tests/util/grub-shell-tester.in: Support utility for grub-script
12077 tests.
12078 * tests/util/grub-shell.in: Utility to execute grub-script
12079 commands in a Qemu instance.
12080
12081 * tests/example_functional_test.c: Example whitebox functional
12082 test.
12083 * tests/example_grub_script_test.in: Example grub-script test.
12084 * tests/example_scripted_test.in: Example scripted test.
12085 * tests/example_unit_test.c: Example whitebox unit test.
12086
9c4ffeeb
VS
120872010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
12090 Add loader/i386/multiboot_mbi.c.
12091 (multiboot2_mod_SOURCES): Likewise.
12092 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
12093 (multiboot2_mod_SOURCES): Likewise.
12094 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
12095 (grub_multiboot_make_mbi): Likewise.
12096 (grub_multiboot_free_mbi): Likewise.
12097 (grub_multiboot_init_mbi): Likewise.
12098 (grub_multiboot_add_module): Likewise.
12099 (grub_multiboot_set_bootdev): Likewise.
12100 * loader/i386/multiboot.c (mbi): Removed.
12101 (mbi_dest): Likewise.
12102 (alloc_mbi): New variable.
12103 (grub_multiboot_payload_size): Removed. All users updated.
12104 (grub_multiboot_pure_size): New variable.
12105 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
12106 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
12107 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
12108 (grub_fill_multiboot_mmap): Likewise.
12109 (grub_multiboot_get_bootdev): Likewise.
12110 (grub_multiboot): Use multiboot_mbi functions.
12111 * loader/i386/multiboot_mbi.c: New file.
12112
17383dfe
VS
121132010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
12116 it would result in module crash.
12117
c1f28820
VS
121182010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
12121 (grub_ofconsole_getwh): Split to ...
12122 (grub_ofconsole_getwh): ... this.
12123 (grub_ofconsole_dimensions): ...and this.
12124 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
12125
58655a16
RM
121262010-01-13 Robert Millan <rmh.grub@aybabtu.com>
12127
12128 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
12129
10891398
VS
121302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * loader/i386/pc/multiboot2.c: Removed stalled file.
12133
0b8a223c
VS
121342010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
12137 Reported by: Grégoire Sutre
12138
92ab12b0
RM
121392010-01-11 Robert Millan <rmh.grub@aybabtu.com>
12140
12141 * util/misc.c (canonicalize_file_name): New function.
12142 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
12143 instead of realpath().
12144
a788afb6
CW
121452010-01-11 Colin Watson <cjwatson@ubuntu.com>
12146
12147 * util/grub-install.in (usage): Clarify meaning of --root-directory,
12148 and make it clearer that it's optional. Based on confusion
12149 witnessed on IRC.
12150
ffa8e3d2
VS
121512010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
12154 in premature implicit newline.
12155
e9060a9d
VS
121562010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
12159 which resulted in garbled command line at the end of screen.
12160
f0d0c0b7
RM
121612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
12162
12163 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
12164 initialization with similar approach as with other Linux loaders.
12165
0e60bae7
RM
121662010-01-10 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 Fix i386-ieee1275 build.
12169
12170 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
12171 and grub_term_height() for video_{width,height} initialization.
12172
121732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
12174
12175 Fix grub-emu build.
12176
12177 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
12178
cdb3f378
RM
121792010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
121802010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12181
12182 Support for multiple terminals.
12183
12184 * Makefile.in (pkglib_DATA): terminal.lst.
12185 (terminal.lst): New target.
12186 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
12187 (GRUB_MOD_INIT(handler)): Likewise.
12188 (GRUB_MOD_FINI(handler)): Likewise.
12189 * commands/help.c (grub_cmd_help): Handle multiple terminals.
12190 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
12191 * commands/sleep.c (do_print): Use grub_term_restore_pos.
12192 (grub_cmd_sleep): Use grub_term_save_pos.
12193 * commands/terminal.c: New file.
12194 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
12195 commands/terminal.c and lib/charset.c.
12196 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
12197 (pkglib_MODULES): Add terminal.mod.
12198 (terminal_mod_SOURCES): New variable.
12199 (terminal_mod_CFLAGS): Likewise.
12200 (terminal_mod_LDFLAGS): Likewise.
12201 * genhandlerlist.sh: Don't handle terminals.
12202 * genmk.rb: Generate terminal-*.lst.
12203 * genterminallist.sh: New file.
12204 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
12205 (grub_is_valid_utf8): Likewise.
12206 (grub_utf8_to_ucs4_alloc): Likewise.
12207 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
12208 (grub_menu_register_viewer): Changed argument.
12209 (grub_menu_try_text): New proto.
12210 (grub_gfxmenu_try_hook): New declaration.
12211 * include/grub/normal.h (grub_normal_exit_level): New declaration.
12212 (grub_menu_init_page): Additional argument term.
12213 (grub_normal_init_page): Likewise.
12214 (grub_cmdline_get): Arguments simplified.
12215 (grub_utf8_to_ucs4_alloc): Removed.
12216 (grub_print_ucs4): Additional argument term.
12217 (grub_getstringwidth): Likewise.
12218 (grub_print_message_indented): Likewise.
12219 (grub_menu_text_register_instances): New proto.
12220 (grub_show_menu): Likewise.
12221 (read_terminal_list): Likewise.
12222 (grub_set_more): Likewise.
12223 * include/grub/parser.h: Include handler.h.
12224 * include/grub/reader.h: Rewritten.
12225 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
12226 (GRUB_TERM_WIDTH): Changed to function.
12227 (GRUB_TERM_HEIGHT): Likewise.
12228 (GRUB_TERM_BORDER_WIDTH): Likewise.
12229 (GRUB_TERM_BORDER_HEIGHT): Likewise.
12230 (GRUB_TERM_NUM_ENTRIES): Likewise.
12231 (GRUB_TERM_ENTRY_WIDTH): Likewise.
12232 (GRUB_TERM_CURSOR_X): Likewise.
12233 (grub_term_input_class): Likewise.
12234 (grub_term_output_class): Likewise.
12235 (grub_term_outputs_disabled): New declaration.
12236 (grub_term_inputs_disabled): Likewise.
12237 (grub_term_outputs): Likewise.
12238 (grub_term_inputs): Likewise.
12239 (grub_term_register_input): Rewritten.
12240 (grub_term_register_output): Likewise.
12241 (grub_term_unregister_input): Likewise.
12242 (grub_term_unregister_output): Likewise.
12243 (FOR_ACTIVE_TERM_INPUTS): New macro.
12244 (FOR_DISABLED_TERM_INPUTS): Likewise.
12245 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12246 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12247 * include/grub/terminfo.h: Add oterm argument to all protypes.
12248 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
12249 Use grub_rescue_run.
12250 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
12251 All users updated.
12252 * kern/reader.c: Removed. All users updated.
12253 * kern/rescue_reader.c (grub_rescue_init): Removed.
12254 (grub_rescue_reader): Likewise.
12255 (grub_register_rescue_reader): Likewise.
12256 (grub_rescue_run): New function based on kern/reader.c.
12257 * kern/term.c: Adapted for multiterm.
12258 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
12259 (grub_is_valid_utf8): Likewise.
12260 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
12261 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
12262 right terminal.
12263 * loader/i386/linux.c (grub_linux_boot): Likewise.
12264 * normal/auth.c (grub_username_get): New function.
12265 (grub_auth_check_authentication): Use grub_username_get.
12266 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
12267 * normal/color.c: Adapt for multiterm.
12268 * normal/main.c (read_config_file): Don't use grub_reader_loop.
12269 (grub_normal_init_page): Additional argument term.
12270 (read_lists): Call read_terminal_lists.
12271 (grub_enter_normal_mode): Call grub_cmdline_run.
12272 Handle grub_normal_exit_level.
12273 (grub_cmd_normal): Make reentrant.
12274 (grub_cmd_normal_exit): New function.
12275 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
12276 * normal/menu.c: Adapt for multiterm.
12277 * normal/menu_entry.c: Likewise.
12278 * normal/menu_text.c: Likewise.
12279 * normal/menu_viewer.c: Removed. All users updated.
12280 * normal/term.c: New file.
12281 * util/console.c: Change order of includes to workaround a bug in
12282 ncurses headers.
12283 * term/terminfo.c: New argument oterm on all exported functions.
12284 All users updated.
12285 * util/grub-editenv.c (grub_term_input_class): Removed.
12286 (grub_term_output_class): Likewise.
12287
1a064917
RM
122882010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12289
12290 Make loader output a bit more user-friendly.
12291
12292 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
12293 is being loaded. Likewise for the Hurd.
12294
12295 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
12296 that kernel of FreeBSD ${version} is being loaded.
12297
12298 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
12299 grub_dprintf().
12300 (grub_cmd_initrd): Likewise.
12301 * util/grub.d/10_linux.in (linux_entry): Print message indicating
12302 that Linux ${version} is being loaded. Likewise for initrd.
12303
5ce0a83a 123042010-01-09 Carles Pina i Estany <carles@pina.cat>
12305
12306 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
12307
809bbfeb 123082010-01-08 Carles Pina i Estany <carles@pina.cat>
12309
12310 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
12311 (GRUB_MOD_INIT): Gettextizze.
12312 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
12313 (GRUB_MOD_INIT): Gettextizze.
12314 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
12315 (grub_cmd_linux): Capitalise Linux.
12316 (GRUB_MOD_INIT): Gettextizze.
12317 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
12318 (grub_cmd_linux): Capitalise Linux.
12319 (GRUB_MOD_INIT): Gettextizze.
12320 * loader/i386/linux.c: Include `<grub/i18n.h>'.
12321 (grub_cmd_linux): Capitalise Linux.
12322 (GRUB_MOD_INIT): Gettextizze.
12323 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
12324 (GRUB_MOD_INIT): Gettextizze.
12325 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
12326 (grub_cmd_linux): Capitalise Linux.
12327 (GRUB_MOD_INIT): Gettextizze.
12328 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
12329 (grub_cpu_xnu_init): Gettextizze.
12330 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
12331 (GRUB_MOD_INIT): Gettextizze.
12332 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
12333 (GRUB_MOD_INIT): Gettextizze.
12334 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
12335 (grub_linux_load64): Capitalise Linux.
12336 (GRUB_MOD_INIT): Gettextizze.
12337 * loader/xnu.c: Include `<grub/i18n.h>'.
12338 (GRUB_MOD_INIT): Gettextizze.
12339 * po/POTFILES: Add `loader/efi/appleloader.c',
12340 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
12341 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
12342 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
12343 `loader/i386/xnu.c', `loader/multiboot_loader.c',
12344 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12345 and `loader/xnu.c'.
12346
b394b2ca
RM
123472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12348
12349 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12350
123512010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
12352
12353 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12354 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12355 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12356
bc8b32b3
RM
123572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12358
12359 Reset Multiboot 2 support. New loader implements the draft in
12360 /branches/multiboot2 and shares as much code as possible with the
12361 production Multiboot 1 implementation.
12362
12363 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12364 * loader/multiboot2.c: Likewise.
12365 * loader/i386/multiboot_helper.S: Likewise.
12366 * include/multiboot2.h: Replace with latest version from the draft
12367 in /branches/multiboot2.
12368
12369 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12370 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12371 and `loader/multiboot2.c'.
12372 (pkglib_MODULES): Add `multiboot2.mod'.
12373 (multiboot2_mod_SOURCES): New variable.
12374 (multiboot2_mod_LDFLAGS): Likewise.
12375 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12376
12377 * conf/i386-pc.rmk: Likewise.
12378
12379 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12380 (multiboot_mod_SOURCES): Remove variable.
12381 (multiboot_mod_LDFLAGS): Likewise.
12382 (multiboot_mod_CFLAGS): Likewise.
12383
12384 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12385 `<multiboot2.h>' instead of `<multiboot.h>'.
12386 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12387 (MULTIBOOT_HEADER_MAGIC): New macros.
12388
12389 * loader/multiboot_loader.c (module_version_status): Remove variable.
12390 (find_multi_boot2_header): Remove function.
12391 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12392 logic. Always check for the Multiboot version we're compiling for.
12393 (grub_cmd_module_loader): Likewise.
12394 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12395 command instead of `multiboot'.
12396
5d2c52b8
RM
123972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12398
12399 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12400 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12401 all users.
12402
53108d92
RM
124032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
124042010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 Fix breakage introduced with previous commit.
12407
12408 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12409 commands.
12410 * normal/handler.c (read_handler_list): Revert part of previous commit
12411 affecting this file.
12412 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12413 (grub_normal_execute): ... here.
12414
e2e936b2
RM
124152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12416
12417 Merge prefix-redefinition-fix branch.
12418
12419 * normal/autofs.c (read_fs_list): Make function capable of being
12420 run multiple times, gracefuly replacing the previous data
12421 structures.
12422 * normal/dyncmd.c (read_command_list): Likewise.
12423 * normal/handler.c (read_handler_list): Likewise.
12424 * normal/main.c (read_lists): New function. Calls all the
12425 list reading functions.
12426 (grub_normal_execute): Use read_lists() instead of calling all
12427 list reading functions explicitly. Register read_lists() as a
12428 variable hook attached to ${prefix}.
12429
607a3701
VS
124302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Merge crypto branch.
12433
12434 * Makefile.in (pkglib_DATA): Add crypto.lst.
12435 (crypto.lst): New target.
12436 * commands/hashsum.c: New file.
12437 * commands/password.c (check_password): Use grub_crypto_memcmp.
12438 * commands/password_pbkdf2.c: New file.
12439 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12440 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12441 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12442 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12443 -I$(srcdir)/lib/libgcrypt_wrap.
12444 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12445 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12446 password_pbkdf2.mod.
12447 (crypto_mod_SOURCES): New variable.
12448 (crypto_mod_CFLAGS): Likewise.
12449 (crypto_mod_LDFLAGS): Likewise.
12450 (hashsum_mod_SOURCES): New variable.
12451 (hashsum_mod_CFLAGS): Likewise.
12452 (hashsum_mod_LDFLAGS): Likewise.
12453 (pbkdf2_mod_SOURCES): New variable.
12454 (pbkdf2_mod_CFLAGS): Likewise.
12455 (pbkdf2_mod_LDFLAGS): Likewise.
12456 (password_pbkdf2_mod_SOURCES): New variable.
12457 (password_pbkdf2_mod_CFLAGS): Likewise.
12458 (password_pbkdf2_mod_LDFLAGS): Likewise.
12459 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12460 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12461 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12462 Include conf/gcry.rmk.
12463 * include/grub/auth.h: Rewritten.
12464 * include/grub/crypto.h: New file.
12465 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12466 * include/grub/normal.h (read_crypto_list): New prototype.
12467 * lib/crypto.c: New file.
12468 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12469 * lib/pbkdf2.c: Likewise.
12470 * normal/auth.c (grub_auth_strcmp): Removed.
12471 (grub_iswordseparator): Likewise.
12472 (grub_auth_strword): Likewise.
12473 (is_authenticated): Use grub_strword.
12474 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12475 and grub_strword. Pass entered password to authentication callback.
12476 * normal/crypto.c: New file.
12477 * normal/main.c: Call read_crypto_list.
12478 * util/grub-mkpasswd-pbkdf2.c: New file.
12479 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12480
42841caa
VS
124812010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 Fix descent and ascent calculation.
12484
12485 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12486 (options): New option "asce".
12487 (usage): Likewise.
12488 (add_char): Ignore invalid glyphs for descent calculation.
12489 Calculate ascent from actual content.
12490 (print_glyphs): Use 'asce'.
12491 (write_font): Likewise. Allow ascent override.
12492 (main): Handle "asce" option.
12493
e7730de7 124942010-01-06 Carles Pina i Estany <carles@pina.cat>
12495
12496 * kern/err.c: Include `<grub/i18n.h>'.
12497 (grub_print_error): Add full stop. Gettextizze.
12498 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12499 (grub_bsd_load_elf): Capitalise ELF.
12500 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12501 (grub_cmd_freebsd_module): Likewise.
12502 (grub_cmd_freebsd_module_elf): Likewise.
12503 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12504
40e3a41f 125052010-01-06 Carles Pina i Estany <carles@pina.cat>
12506
12507 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12508 * commands/search_file.c (HELP_MESSAGE): New macro.
12509 * commands/search_label.c (HELP_MESSAGE): Likewise.
12510 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12511 * po/POTFILES: Add `commands/search_file.c',
12512 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12513 `commands/search.c'.
12514
83507e68
RM
125152010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12516
12517 * config.rpath: Update from Gnulib.
12518
465c787b
YB
125192010-01-05 Yves Blusseau <blusseau@zetam.org>
12520
12521 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12522
6581dd3a
YB
125232010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12524
12525 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12526
3bff18c5
CW
125272010-01-05 Colin Watson <cjwatson@ubuntu.com>
12528
12529 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12530 arguments to fread so that we get a return value in bytes, rather
12531 than something that will normally be rounded down to 0.
12532 Adjust error handling to avoid producing garbage when size_t is not
12533 the same size as long long.
12534
a1368118
CW
125352010-01-05 Colin Watson <cjwatson@ubuntu.com>
12536
12537 * util/mkisofs/write.c (padblock_write): Check return value of
12538 fread.
12539
7c302978
RM
125402010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12541
12542 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12543 floppy images now.
12544
12545 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12546
e33ace06
RM
125472010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12548
12549 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12550 instead of manual alignment.
12551 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12552 verbose). Avoid attempts to read past end of the device
12553 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12554 but GRUB_DISK_CACHE_SIZE may exceed that).
12555
4b856776
RM
125562010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12557
12558 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12559 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12560 it to upper layer.
12561
52c2d97f
VS
125622010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12565 New constant.
12566 (grub_efi_piwg_device_path): New structure
12567 (grub_efi_piwg_device_path_t): New type.
12568 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12569 (devpath_1): Transform to a structure. All users updated.
12570 (devpath_2): Likewise.
12571 (devpath_3): Likewise.
12572 (devpath_4): Likewise.
12573 (devpath_5): Likewise.
12574
98ff6a54
VS
125752010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * loader/efi/appleloader.c: Restored. Update all users.
12578
3a73dcb6
RM
125792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12580
12581 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12582
12583 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12584 (struct boot_blocklist): Move from here ...
12585 * include/grub/i386/pc/boot.h [ASM_FILE]
12586 (struct grub_boot_blocklist): ... to here. Update all users.
12587 (setup): Only initialize `start' member of `first_block'
12588 structure. Add assert() calls to verify the other members.
12589
12590 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12591 (generate_image): Fix broken blocklist length initialization.
12592 Add assert() call to verify blocklist `segment' field.
12593
ab0eeb0c
RM
125942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12595
12596 * loader/efi/appleloader.c: Remove. Update all users.
12597
58bc8bd5
RM
125982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12599
12600 * boot/i386/pc/boot.S: Update copyright year.
12601 * boot/i386/pc/cdboot.S: Likewise.
12602 * boot/i386/pc/diskboot.S: Likewise.
12603 * boot/i386/pc/lnxboot.S: Likewise.
12604 * boot/i386/pc/pxeboot.S: Likewise.
12605 * bus/pci.c: Likewise.
12606 * commands/cmp.c: Likewise.
12607 * commands/help.c: Likewise.
12608 * commands/hexdump.c: Likewise.
12609 * commands/i386/pc/halt.c: Likewise.
12610 * commands/i386/pc/play.c: Likewise.
12611 * commands/i386/pc/vbeinfo.c: Likewise.
12612 * commands/ls.c: Likewise.
12613 * commands/test.c: Likewise.
12614 * disk/dmraid_nvidia.c: Likewise.
12615 * disk/i386/pc/biosdisk.c: Likewise.
12616 * disk/ieee1275/nand.c: Likewise.
12617 * disk/ieee1275/ofdisk.c: Likewise.
12618 * disk/lvm.c: Likewise.
12619 * disk/raid.c: Likewise.
12620 * disk/raid6_recover.c: Likewise.
12621 * disk/scsi.c: Likewise.
12622 * fs/affs.c: Likewise.
12623 * fs/cpio.c: Likewise.
12624 * fs/ext2.c: Likewise.
12625 * fs/hfs.c: Likewise.
12626 * fs/iso9660.c: Likewise.
12627 * fs/ntfs.c: Likewise.
12628 * fs/sfs.c: Likewise.
12629 * fs/udf.c: Likewise.
12630 * fs/ufs.c: Likewise.
12631 * fs/xfs.c: Likewise.
12632 * gencmdlist.sh: Likewise.
12633 * genmk.rb: Likewise.
12634 * include/grub/disk.h: Likewise.
12635 * include/grub/efi/api.h: Likewise.
12636 * include/grub/efi/efi.h: Likewise.
12637 * include/grub/efi/pe32.h: Likewise.
12638 * include/grub/elf.h: Likewise.
12639 * include/grub/fs.h: Likewise.
12640 * include/grub/i386/at_keyboard.h: Likewise.
12641 * include/grub/i386/pc/memory.h: Likewise.
12642 * include/grub/i386/pc/vbe.h: Likewise.
12643 * include/grub/i386/pci.h: Likewise.
12644 * include/grub/i386/tsc.h: Likewise.
12645 * include/grub/ieee1275/ieee1275.h: Likewise.
12646 * include/grub/ntfs.h: Likewise.
12647 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12648 * include/grub/sparc64/libgcc.h: Likewise.
12649 * include/grub/symbol.h: Likewise.
12650 * include/grub/types.h: Likewise.
12651 * include/multiboot2.h: Likewise.
12652 * io/gzio.c: Likewise.
12653 * kern/device.c: Likewise.
12654 * kern/disk.c: Likewise.
12655 * kern/efi/efi.c: Likewise.
12656 * kern/efi/mm.c: Likewise.
12657 * kern/elf.c: Likewise.
12658 * kern/file.c: Likewise.
12659 * kern/i386/dl.c: Likewise.
12660 * kern/i386/pc/init.c: Likewise.
12661 * kern/i386/pc/startup.S: Likewise.
12662 * kern/ieee1275/ieee1275.c: Likewise.
12663 * kern/ieee1275/init.c: Likewise.
12664 * kern/main.c: Likewise.
12665 * kern/mm.c: Likewise.
12666 * kern/powerpc/dl.c: Likewise.
12667 * kern/sparc64/dl.c: Likewise.
12668 * kern/x86_64/dl.c: Likewise.
12669 * lib/hexdump.c: Likewise.
12670 * loader/efi/appleloader.c: Likewise.
12671 * loader/i386/ieee1275/linux.c: Likewise.
12672 * loader/i386/pc/chainloader.c: Likewise.
12673 * loader/i386/pc/linux.c: Likewise.
12674 * loader/i386/pc/multiboot2.c: Likewise.
12675 * loader/ieee1275/multiboot2.c: Likewise.
12676 * loader/multiboot2.c: Likewise.
12677 * loader/multiboot_loader.c: Likewise.
12678 * loader/powerpc/ieee1275/linux.c: Likewise.
12679 * normal/completion.c: Likewise.
12680 * normal/menu_entry.c: Likewise.
12681 * partmap/apple.c: Likewise.
12682 * util/grub.d/10_hurd.in: Likewise.
12683 * util/hostfs.c: Likewise.
12684 * video/readers/png.c: Likewise.
12685
e2d70b5c
CW
126862010-01-03 Colin Watson <cjwatson@ubuntu.com>
12687
12688 * include/grub/misc.h (GNUC_PREREQ): New macro.
12689 (ATTRIBUTE_ERROR): New macro.
12690 * include/grub/list.h (grub_bad_type_cast_real): Use
12691 ATTRIBUTE_ERROR.
12692
a173283f 126932010-01-03 Carles Pina i Estany <carles@pina.cat>
12694
12695 * normal/menu_text.c (print_message): Change messages.
12696
7fa7ff74 126972010-01-03 Carles Pina i Estany <carles@pina.cat>
12698
12699 * normal/menu_entry.c (store_completion): Gettextizze.
12700
136d24f6 127012010-01-03 Carles Pina i Estany <carles@pina.cat>
12702
12703 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12704
f936862e 127052010-01-03 Carles Pina i Estany <carles@pina.cat>
12706
12707 * po/POTFILES: Sort correctly.
12708
29c44ad1 127092010-01-03 Carles Pina i Estany <carles@pina.cat>
12710
12711 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12712 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12713 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12714 full stop.
12715 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12716 summary. Gettextizze the strings.
12717 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12718 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12719 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12720 full stop.
12721 (GRUB_MOD_INIT): Remove command name from summary.
12722 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12723 summary.
12724 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12725 * term/i386/pc/serial.c (options): Add full stops.
12726 (GRUB_MOD_INIT): Remove command name from the summary.
12727
77a79592 127282010-01-03 Carles Pina i Estany <carles@pina.cat>
12729
12730 * commands/acpi.c: Gettextizze help strings and/or options. Include
12731 `grub/i18n.h' if needed.
12732 * commands/blocklist.c: Likewise.
12733 * commands/boot.c: Likewise.
12734 * commands/cat.c: Likewise.
12735 * commands/cmp.c: Likewise.
12736 * commands/configfile.c: Likewise.
12737 * commands/crc.c: Likewise.
12738 * commands/date.c: Likewise.
12739 * commands/echo.c: Likewise.
12740 * commands/efi/fixvideo.c: Likewise.
12741 * commands/efi/loadbios.c: Likewise.
12742 * commands/gptsync.c: Likewise.
12743 * commands/halt.c: Likewise.
12744 * commands/handler.c: Likewise.
12745 * commands/hdparm.c: Likewise.
12746 * commands/hexdump.c: Likewise.
12747 * commands/i386/cpuid.c: Likewise.
12748 * commands/i386/pc/drivemap.c: Likewise.
12749 * commands/i386/pc/halt.c: Likewise.
12750 * commands/i386/pc/pxecmd.c: Likewise.
12751 * commands/i386/pc/vbeinfo.c: Likewise.
12752 * commands/i386/pc/vbetest.c: Likewise.
12753 * commands/ieee1275/suspend.c: Likewise.
12754 * commands/keystatus.c: Likewise.
12755 * commands/loadenv.c: Likewise.
12756 * commands/ls.c: Likewise.
12757 * commands/lsmmap.c: Likewise.
12758 * commands/lspci.c: Likewise.
12759 * commands/memrw.c: Likewise.
12760 * commands/minicmd.c: Likewise.
12761 * commands/parttool.c: Likewise.
12762 * commands/password.c: Likewise.
12763 * commands/probe.c: Likewise.
12764 * commands/read.c: Likewise.
12765 * commands/reboot.c: Likewise.
12766 * commands/search.c: Likewise.
12767 * commands/sleep.c: Likewise.
12768 * commands/test.c: Likewise.
12769 * commands/true.c: Likewise.
12770 * commands/usbtest.c: Likewise.
12771 * commands/videotest.c: Likewise.
12772 * commands/xnu_uuid.c: Likewise.
12773 * disk/loopback.c: Likewise.
12774 * hello/hello.c: Likewise.
12775 * loader/i386/bsd.c: Likewise.
12776 * term/i386/pc/serial.c: Likewise.
12777 * po/POTFILES: Add new files.
12778
da8d5c53
CW
127792010-01-02 Colin Watson <cjwatson@ubuntu.com>
12780
12781 * term/i386/pc/at_keyboard.c
12782 (keyboard_controller_wait_untill_ready): Rename to ...
12783 (keyboard_controller_wait_until_ready): ... this. Update all users.
12784
33937904 127852010-01-01 Carles Pina i Estany <carles@pina.cat>
12786
12787 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12788 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12789 string using string width.
12790 * normal/menu_text.c (grub_print_message_indented): Use
12791 grub_print_spaces and not print_spaces.
12792 (print_timeout): Likewise.
12793 (print_spaces): Move to...
12794 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12795
3fd3b8d8
RM
127962010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12797
12798 Import from Gnulib.
12799
12800 * gnulib/getdelim.c: New file.
12801 * gnulib/getline.c: Likewise.
12802
33433555
VS
128032009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12804
12805 * include/grub/list.h (grub_assert_fail): Removed.
12806 (grub_bad_type_cast_real): New function.
12807 (grub_bad_type_cast): New macro.
12808 (GRUB_AS_LIST): Use grub_bad_type_cast.
12809 (GRUB_AS_LIST_P): Likewise.
e44721e8 12810 (GRUB_AS_NAMED_LIST): Likewise.
33433555 12811 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 12812 (GRUB_AS_PRIO_LIST): Likewise.
33433555 12813 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 12814 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 12815
f5a51306
VS
128162009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12819 Fix syntax error.
12820
90d1e879
RM
128212009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12822
12823 * configure.ac: Check for TARGET_CFLAGS initialization before we
12824 initialize it ourselves (sigh).
12825 Move a few modifications to TARGET_CFLAGS to be unconditional
12826 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12827 eh_frame)
12828
12829 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12830 * term/i386/pc/at_keyboard.c
12831 (keyboard_controller_wait_untill_ready): Likewise.
12832 (keyboard_controller_led): Rename `led_status' paramter to avoid
12833 name conflict.
12834
465b5a81 128352009-12-28 Carles Pina i Estany <carles@pina.cat>
12836
12837 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12838 quotes.
12839
c181849b
VS
128402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12843
9c8739a4
VS
128442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * normal/menu_text.c (grub_print_message_indented): Prevent
12847 past-the-end-of-array dereference.
12848
3e74249c
VS
128492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12852 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12853
64fd18ed 128542009-12-27 Carles Pina i Estany <carles@pina.cat>
12855
12856 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12857 * normal/main.c (grub_normal_read_line): Remove a space from the
12858 default prompt.
12859
714af9b9 128602009-12-27 Carles Pina i Estany <carles@pina.cat>
12861
12862 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12863 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12864 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12865 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12866 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12867 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12868 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12869
82f3e412 128702009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 12871
12872 * video/readers/jpeg.c (cmd): Declare.
12873 (grub_cmd_jpegtest): Use `grub_command_t' type.
12874 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12875 Assign to `cmd'.
12876 (GRUB_MOD_FINI): Use `cmd' to unregister.
12877 * video/readers/png.c (cmd): Declare.
12878 (grub_cmd_pngtest): Use `grub_command_t' type.
12879 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12880 Assign to `cmd'.
12881 (GRUB_MOD_FINI): Use `cmd' to unregister.
12882 * video/readers/tga.c (cmd): Declare.
12883 (grub_cmd_tgatest): Use `grub_command_t' type.
12884 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12885 Assign to `cmd'.
12886 (GRUB_MOD_FINI): Use `cmd' to unregister.
12887
82f3e412 128882009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 12889
12890 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12891 stops.
12892 * kern/corecmd.c (grub_register_core_commands): Likewise.
12893 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12894 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12895 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12896 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12897 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12898 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12899 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12900 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12901 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12902 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12903 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12904 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12905 * normal/handler.c (insert_handler): Likewise.
12906 * normal/main.c (GRUB_MOD_INIT): Likewise.
12907 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12908
fdcdbb66 129092009-12-26 Carles Pina i Estany <carles@pina.cat>
12910
12911 * commands/help.c (grub_cmd_help): Print the command name before the
12912 summary.
12913 (GRUB_MOD_INIT): Remove command name from the summary.
12914 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 12915 string as summary.
fdcdbb66 12916 * lib/arg.c (find_long): Print the command name before the summary.
12917 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12918 summary.
12919 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12920 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12921 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12922 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12923 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12924 * commands/date.c (GRUB_MOD_INIT): Likewise.
12925 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12926 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12927 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12928 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12929 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12930 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12931 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12932 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12933 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12934 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12935 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12936 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12937 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12938 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12939 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12940 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12941 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12942 * commands/password.c (GRUB_MOD_INIT): Likewise.
12943 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12944 * commands/read.c (GRUB_MOD_INIT): Likewise.
12945 * commands/search.c (GRUB_MOD_INIT): Likewise.
12946 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12947 * commands/test.c (GRUB_MOD_INIT): Likewise.
12948 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12949 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12950 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12951 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12952 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12953 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12954 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12955 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12956 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12957 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12958 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12959 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12960 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12961 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12962
9c288be2
VS
129632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 Use search command for preliminar UUID search.
12966
12967 * commands/search.c: Split into ...
12968 * commands/search_wrap.c: ...this
12969 * commands/search.c: ...and this.
12970 * commands/search_file.c: New file.
12971 * commands/search_label.c: New file.
12972 * commands/search_uuid.c: New file.
12973 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12974 Add commands/search_wrap.c, commands/search_file.c,
12975 commands/search_label.c and commands/search_uuid.c.
12976 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12977 (search_mod_SOURCES): Set to commands/search_wrap.c.
12978 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12979 search_label.mod.
12980 (search_fs_file_mod_SOURCES): New variable.
12981 (search_fs_file_mod_CFLAGS): Likewise.
12982 (search_fs_file_mod_LDFLAGS): Likewise.
12983 (search_label_mod_SOURCES): Likewise.
12984 (search_label_mod_CFLAGS): Likewise.
12985 (search_label_mod_LDFLAGS): Likewise.
12986 (search_fs_uuid_mod_SOURCES): New variable.
12987 (search_fs_uuid_mod_CFLAGS): Likewise.
12988 (search_fs_uuid_mod_LDFLAGS): Likewise.
12989 (fs_file_mod_SOURCES): Removed.
12990 (fs_file_mod_CFLAGS): Likewise.
12991 (fs_file_mod_LDFLAGS): Likewise.
12992 (fs_uuid_mod_SOURCES): Removed.
12993 (fs_uuid_mod_CFLAGS): Likewise.
12994 (fs_uuid_mod_LDFLAGS): Likewise.
12995 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12996 Set to util/grub-install.in.
12997 * disk/fs_file.c: Removed.
12998 * disk/fs_uuid.c: Likewise.
12999 * include/grub/search.h: New file.
13000 * util/grub-install.in: Handle sparc64.
13001 Create and use load.cfg.
13002 * util/sparc64/ieee1275/grub-install.in: Removed.
13003
db943399
VS
130042009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
13007 Ignore return status if CF is cleared.
13008 (grub_biosdisk_get_diskinfo_standard): Likewise.
13009
3fdae612
RM
130102009-12-25 Robert Millan <rmh.grub@aybabtu.com>
13011
13012 * term/i386/pc/at_keyboard.c
13013 (keyboard_controller_wait_untill_ready): New function.
13014 (grub_keyboard_controller_write, grub_keyboard_controller_read)
13015 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
13016 for keyboard polling, rather than duplicate the same loop. This
13017 saves a few bytes in code size.
13018
7ebaa2b4
VS
130192009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 Support for (pxe[:server[:gateway]]) syntax and
13022 use environment variable for PXE.
13023
13024 * commands/i386/pc/pxecmd.c (options): Removed.
13025 (print_ip): Removed.
13026 (grub_cmd_pxe): Removed
13027 (grub_cmd_pxe_unload): New function.
13028 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
13029 (grub_pxe_your_ip): Made static.
13030 (grub_pxe_default_server_ip): Likewise.
13031 (grub_pxe_default_gateway_ip): Likewise.
13032 (grub_pxe_blksize): Likewise.
13033 (parse_ip): New function.
13034 (grub_pxe_open): Support server and gateway specification.
13035 (grub_pxe_close): Free disk->data.
13036 (grub_pxefs_open): Use disk->data.
13037 (grub_pxefs_read): Likewise.
13038 (grub_env_write_readonly): New function.
13039 (set_mac_env): Likewise.
13040 (set_env_limn_ro): Likewise.
13041 (parse_dhcp_vendor): Likewise.
13042 (grub_pxe_detect): Set the environment variables.
13043 (set_ip_env): New function.
13044 (write_ip_env): Likewise.
13045 (grub_env_write_pxe_default_server): Likewise.
13046 (grub_env_write_pxe_default_gateway): Likewise.
13047 (grub_env_write_pxe_blocksize): Likewise.
13048 (GRUB_MOD_INIT(pxe)): Set environment variables.
13049 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
13050 (grub_pxe_mac_addr_t): ... this. All users updated.
13051 (grub_pxe_your_ip): Removed.
13052 (grub_pxe_server_ip): Likewise.
13053 (grub_pxe_gateway_ip): Likewise.
13054 (grub_pxe_blksize): Likewise.
13055
ec5f98ab 130562009-12-25 Carles Pina i Estany <carles@pina.cat>
13057
13058 * commands/help.c: Include `<grub/i18n.h>'.
13059 (grub_cmd_help): Gettextizze.
13060 (GRUB_MOD_INIT): Likewise.
13061 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
13062 (GRUB_MOD_INIT): Gettextizze.
13063 * commands/search.c: Include `<grub/i18n.h>'.
13064 (options): Gettextizze.
13065 (GRUB_MOD_INIT): Gettextizze.
13066 * lib/arg.c: Include `<grub/i18n.h>'.
13067 (help_options): Gettextizze.
13068 (find_long): Likewise.
13069 (grub_arg_show_help): Likewise.
13070 * normal/dyncmd.c: Include `<grub/i18n.h>'.
13071 (read_command_list): Gettextizze.
13072 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 13073 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 13074
22815526
RM
130752009-12-25 Robert Millan <rmh.grub@aybabtu.com>
13076
13077 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
13078 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
13079 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
13080 (led_status): New variable.
13081 (keyboard_controller_led): New function.
13082 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
13083 update led status for caps lock, num lock and scroll lock.
13084
0ad46fd7
FZ
130852009-12-25 Felix Zielcke <fzielcke@z-51.de>
13086
13087 * util/hostdisk.c (open_device): Fix a comment.
13088
d0e158c2
RM
130892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13090
13091 * util/grub-install.in (host_os): New variable.
13092 * util/i386/efi/grub-install.in (host_os): Likewise.
13093
401c0ad6
RM
130942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13095
13096 * util/mkisofs/write.c (padblock_write): Abort when given an
13097 excedingly large embed image, instead of silently truncating it.
13098
d14d3370
RM
130992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13100
13101 * include/multiboot.h: Indentation fixes.
13102
eeed10b4
RM
131032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13104
13105 * include/multiboot.h (struct multiboot_aout_symbol_table)
13106 (struct multiboot_elf_section_header_table): New structure
13107 declarations (stolen from GRUB Legacy).
13108 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
13109 table information.
13110
13111 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
13112 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
13113 type aliases.
13114
681c70ab
RM
131152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13116
13117 * include/multiboot.h: Make comments src2texi-friendly.
13118
e4d47d8d
RM
131192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13120
13121 For consistency with [multiboot]/docs/boot.S.
13122
13123 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
13124 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
13125 (MULTIBOOT_MAGIC2): Rename from this ...
13126 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
13127
a0b70bda
RM
131282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13129
13130 * include/multiboot.h: Remove `<grub/types.h>'.
13131 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
13132 types. Update all users.
13133
61ba42be 131342009-12-25 Carles Pina i Estany <carles@pina.cat>
13135
13136 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
13137 `couldn't' and `can not' by `cannot'.
13138 * commands/i386/pc/drivemap.c: Likewise.
13139 * disk/ata.c: Likewise.
13140 * disk/ieee1275/nand.c: Likewise.
13141 * fs/affs.c: Likewise.
13142 * fs/fat.c: Likewise.
13143 * fs/hfs.c: Likewise.
13144 * fs/hfsplus.c: Likewise.
13145 * fs/iso9660.c: Likewise.
13146 * fs/jfs.c: Likewise.
13147 * fs/minix.c: Likewise.
13148 * fs/reiserfs.c: Likewise.
13149 * fs/sfs.c: Likewise.
13150 * fs/udf.c: Likewise.
13151 * fs/ufs.c: Likewise.
13152 * fs/xfs.c: Likewise.
13153 * loader/powerpc/ieee1275/linux.c: Likewise.
13154 * loader/sparc64/ieee1275/linux.c: Likewise.
13155 * util/grub-probe.c: Likewise.
13156 * util/misc.c: Likewise.
13157
7fd0baee 131582009-12-24 Carles Pina i Estany <carles@pina.cat>
13159
13160 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
13161 grub_errno calls.
13162 * commands/acpi.c: Likewise.
13163 * commands/blocklist.c: Likewise.
13164 * commands/efi/loadbios.c: Likewise.
13165 * commands/i386/pc/drivemap.c: Likewise.
13166 * commands/loadenv.c: Likewise.
13167 * commands/memrw.c: Likewise.
13168 * commands/password.c: Likewise.
13169 * commands/videotest.c: Likewise.
13170 * disk/ata.c: Likewise.
13171 * disk/ata_pthru.c: Likewise.
13172 * disk/dmraid_nvidia.c: Likewise.
13173 * disk/ieee1275/nand.c: Likewise.
13174 * disk/ieee1275/ofdisk.c: Likewise.
13175 * disk/loopback.c: Likewise.
13176 * disk/lvm.c: Likewise.
13177 * disk/mdraid_linux.c: Likewise.
13178 * disk/raid.c: Likewise.
13179 * disk/raid6_recover.c: Likewise.
13180 * disk/scsi.c: Likewise.
13181 * efiemu/main.c: Likewise.
13182 * efiemu/mm.c: Likewise.
13183 * efiemu/pnvram.c: Likewise.
13184 * efiemu/symbols.c: Likewise.
13185 * font/font.c: Likewise.
13186 * fs/cpio.c: Likewise.
13187 * fs/hfsplus.c: Likewise.
13188 * fs/iso9660.c: Likewise.
13189 * fs/jfs.c: Likewise.
13190 * fs/minix.c: Likewise.
13191 * fs/ntfs.c: Likewise.
13192 * fs/ntfscomp.c: Likewise.
13193 * fs/reiserfs.c: Likewise.
13194 * fs/ufs.c: Likewise.
13195 * fs/xfs.c: Likewise.
13196 * gettext/gettext.c: Likewise.
13197 * include/grub/auth.h: Likewise.
13198 * kern/elf.c: Likewise.
13199 * kern/file.c: Likewise.
13200 * kern/ieee1275/init.c: Likewise.
13201 * kern/ieee1275/mmap.c: Likewise.
13202 * kern/ieee1275/openfw.c: Likewise.
13203 * kern/powerpc/dl.c: Likewise.
13204 * kern/sparc64/dl.c: Likewise.
13205 * lib/arg.c: Likewise.
13206 * loader/i386/bsd.c: Likewise.
13207 * loader/i386/bsdXX.c: Likewise.
13208 * loader/i386/efi/linux.c: Likewise.
13209 * loader/i386/efi/xnu.c: Likewise.
13210 * loader/i386/ieee1275/linux.c: Likewise.
13211 * loader/i386/linux.c: Likewise.
13212 * loader/i386/multiboot.c: Likewise.
13213 * loader/i386/pc/linux.c: Likewise.
13214 * loader/i386/pc/multiboot2.c: Likewise.
13215 * loader/i386/xnu.c: Likewise.
13216 * loader/ieee1275/multiboot2.c: Likewise.
13217 * loader/macho.c: Likewise.
13218 * loader/machoXX.c: Likewise.
13219 * loader/multiboot2.c: Likewise.
13220 * loader/multiboot_loader.c: Likewise.
13221 * loader/powerpc/ieee1275/linux.c: Likewise.
13222 * loader/sparc64/ieee1275/linux.c: Likewise.
13223 * loader/xnu.c: Likewise.
13224 * loader/xnu_resume.c: Likewise.
13225 * mmap/i386/pc/mmap.c: Likewise.
13226 * normal/menu_viewer.c: Likewise.
13227 * partmap/acorn.c: Likewise.
13228 * partmap/amiga.c: Likewise.
13229 * partmap/apple.c: Likewise.
13230 * script/lexer.c: Likewise.
13231 * term/gfxterm.c: Likewise.
13232 * term/i386/pc/serial.c: Likewise.
13233 * term/i386/pc/vga.c: Likewise.
13234 * term/ieee1275/ofconsole.c: Likewise.
13235 * term/terminfo.c: Likewise.
13236 * video/bitmap.c: Likewise.
13237 * video/efi_gop.c: Likewise.
13238 * video/efi_uga.c: Likewise.
13239 * video/fb/video_fb.c: Likewise.
13240 * video/i386/pc/vbe.c: Likewise.
13241 * video/readers/tga.c: Likewise.
13242 * video/video.c: Likewise.
13243
0ad46fd7 132442009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
13245
13246 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
13247 * commands/lspci.c: Likewise.
13248 * commands/probe.c: Likewise.
13249 * commands/xnu_uuid.c: Likewise.
13250 * conf/i386-coreboot.rmk: Likewise.
13251 * conf/i386-efi.rmk: Likewise.
13252 * conf/i386-ieee1275.rmk: Likewise.
13253 * conf/i386-pc.rmk: Likewise.
13254 * conf/powerpc-ieee1275.rmk: Likewise.
13255 * conf/sparc64-ieee1275.rmk: Likewise.
13256 * conf/x86_64-efi.rmk: Likewise.
13257 * fs/i386/pc/pxe.c: Likewise.
13258 * gettext/gettext.c: Likewise.
13259 * include/grub/efi/graphics_output.h: Likewise.
13260 * include/grub/i386/pc/memory.h: Likewise.
13261 * kern/env.c: Likewise.
13262 * kern/i386/qemu/startup.S: Likewise.
13263 * lib/i386/pc/biosnum.c: Likewise.
13264 * lib/i386/relocator.c: Likewise.
13265 * lib/i386/relocator_asm.S: Likewise.
13266 * lib/relocator.c: Likewise.
13267 * loader/i386/bsd.c: Likewise.
13268 * loader/i386/multiboot.c: Likewise.
13269 * loader/i386/pc/chainloader.c: Likewise.
13270 * loader/i386/xnu.c: Likewise.
13271 * loader/xnu.c: Likewise.
13272 * normal/main.c: Likewise.
13273 * normal/menu_text.c: Likewise.
13274 * util/getroot.c: Likewise.
13275 * util/grub-mkconfig_lib.in: Likewise.
13276 * util/grub.d/00_header.in: Likewise.
13277 * util/i386/pc/grub-mkimage.c: Likewise.
13278 * util/mkisofs/eltorito.c: Likewise.
13279 * util/mkisofs/exclude.h: Likewise.
13280 * util/mkisofs/hash.c: Likewise.
13281 * util/mkisofs/iso9660.h: Likewise.
13282 * util/mkisofs/joliet.c: Likewise.
13283 * util/mkisofs/mkisofs.c: Likewise.
13284 * util/mkisofs/mkisofs.h: Likewise.
13285 * util/mkisofs/multi.c: Likewise.
13286 * util/mkisofs/name.c: Likewise.
13287 * util/mkisofs/rock.c: Likewise.
13288 * util/mkisofs/tree.c: Likewise.
13289 * util/mkisofs/write.c: Likewise.
13290 * video/efi_gop.c: Likewise.
13291
009ec743
VS
132922009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
13295 size counting.
13296
0ad46fd7 132972009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
13298
13299 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
13300 * genmk.rb (class SCRIPT): Modify the target file instead of source.
13301
d3d30ea0
VS
133022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
13305 (GRUB_MOD_INIT(memrw)): Update help line.
13306
a34f5c70
VS
133072009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
13310 Use grub_extcmd_t. All users updated.
13311 (options): New variable.
13312 (grub_cmd_read): Restructure for readability. Support "-v" option.
13313 (grub_cmd_write): Restructure for readability.
13314
0ad46fd7 133152009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
13316
13317 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
13318
0ad46fd7 133192009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
13320
13321 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
13322 with the actual contents of the correspondending make variable.
13323 * util/grub-mkrescue.in (pkglib_DATA): New variable.
13324 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
13325 specifying `*.lst' and `efiemu??.o'
13326
0ad46fd7 133272009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
13328
13329 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
13330 after function name.
13331 Noticed by Rene Engelhard <rene@debian.org>.
13332
dc77a799
VS
133332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
13336 (options): New variable.
13337 (iospace): Likewise.
13338 (grub_lspci_iter): List IO spaces if "-i" was given.
13339 (grub_cmd_lspci): Parse options.
13340 (GRUB_MOD_INIT(lspci)): Use extcmd.
13341 (GRUB_MOD_FINI(lspci)): Likewise.
13342
0ad46fd7 133432009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
13344
13345 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13346 `function' keyword.
13347 Patch by Tony Mancill <tmancill@debian.org>.
13348
b5d5993b
VS
133492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13352 (grub_uhci_portstatus): Likewise.
13353 (grub_uhci_portstatus): Add necessary delay.
11d18281 13354 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 13355
941903f2 133562009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 13357
941903f2 13358 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13359 (GRUB_MOD_INIT): Likewise.
13360 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 13361 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13362 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 13363 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13364 (enable_rom_area): Likewise.
13365 (GRUB_MOD_INIT): Likewise.
13366 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13367 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13368 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13369 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13370 * commands/hexdump.c (options): Likewise.
13371 * commands/i386/cpuid.c (options): Likewise.
13372 (GRUB_MOD_INIT): Likewise.
13373 * commands/i386/pc/drivemap.c (options): Likewise.
13374 (GRUB_MOD_INIT): Likewise.
13375 * commands/i386/pc/halt (options): Likewise.
13376 (GRUB_MOD_INIT): Likewise.
13377 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13378 * commands/i386/pc/pxecmd.c (options): Likewise.
13379 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13380 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13381 * commands/keystatus.c (options): Likewise.
13382 (GRUB_MOD_INIT): Likewise.
13383 * commands/loadenv.c (options): Likewise.
13384 * commands/ls.c (options): Likewise.
13385 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13386 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13387 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13388 * commands/parttool.c (helpmsg): Likewise.
13389 * commands/probe.c (options): Likewise.
13390 * commands/read.c (GRUB_MOD_INIT): Likewise.
13391 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13392 * commands/search.c (options): Likewise.
13393 * commands/sleep.c (options): Likewise.
13394 * commands/test.c (GRUB_MOD_INIT): Likewise.
13395 * commands/true.c (GRUB_MOD_INIT): Likewise.
13396 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13397 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13398 * lib/arg.c (help_options): Likewise.
e9bbb4e7 13399 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13400 `$(XGETTEXT)'.
98a50553 13401 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 13402
0ad46fd7 134032009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 13404
ef3c2c3a 13405 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
13406 instead of specifying them explicit.
13407
7922f68b
RM
134082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13409
13410 * NEWS: Add grub-probe support for GNU/Hurd.
13411
537ce47f
RM
134122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13413
13414 * NEWS: gettext was added after 1.97.
13415
9b214e3a
RM
134162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13417
13418 * util/mkisofs/msdos_partition.h: New file (based on
13419 include/grub/msdos_partition.h).
13420 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13421 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13422 (ld_options, main): Recognize --protective-msdos-label.
13423 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13424 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13425 (padblock_write): If `use_protective_msdos_label' is set, patch a
13426 protective DOS-style label in the output image.
13427
13428 * util/grub-mkrescue.in: Use --protective-msdos-label.
13429
e9309813
RM
134302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13431
13432 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13433 boot.
13434
0ae56929
RM
134352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13436
13437 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13438 variables.
13439 (ld_options, main): Recognize `--embedded-boot'.
13440 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13441 declarations.
13442 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13443 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13444 (padblock_write): Likewise. Rewrite to support embedded boot image.
13445
13446 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13447 for BIOS-based disk boot instead of only ElTorito.
13448
b15937b1
RM
134492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13450
13451 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13452 build (not needed for bootstrap).
13453
52cc3ce0
RM
134542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13455
13456 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13457 from i386-pc build (not needed for bootstrap).
13458 Rewrite a pair of strings.
13459
36f5ff04
RM
134602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13461
13462 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13463
973c6c85 134642009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
13465
13466 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13467
05d21547
AB
134682009-12-21 Andreas Born <futur.andy@googlemail.com>
13469
13470 * kern/env.c (grub_env_context_open): Mark exported variable for
13471 reexport.
13472
0175d51f
AB
134732009-12-21 Andreas Born <futur.andy@googlemail.com>
13474
13475 * kern/env.c (grub_env_export): Create nonexistent variables before
13476 exporting.
13477
7f39d92f 134782009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 13479
7f39d92f 13480 * include/grub/auth.h: Include `<grub/i18n.h>'.
13481 (GRUB_GET_PASSWORD): Gettextizze string.
13482 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13483 menu_text.c.
13484 (grub_utf8_to_ucs4_alloc): Fix indentation.
13485 (grub_print_ucs4): Likewise.
13486 (grub_getstringwidth): Likewise.
13487 (print_message_indented): New declaration.
13488 * normal/auth.c: Include `<grub/i18n.h>'.
13489 (grub_auth_check_authentication): Gettexttize string.
13490 * normal/cmdline.c: Include `<grub/i18n.h>'.
13491 (grub_cmdline_get): Gettextizze.
13492 * normal/color.c: Include `<grub/i18n.h>'.
13493 (grub_parse_color_name_pair): Gettexttize strings.
13494 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13495 string (use `print_message_indented').
13496 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13497 `include/grub/normal.h'.
13498 (print_message_indented): Renamed to ...
13499 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13500 used in normal/main.c).
13501 (print_message): Use `grub_print_message_indented' instead of
13502 `print_message_indented'.
13503 (print_timeout): Likewise.
13504 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13505 (grub_normal_print_device_info): Gettexttize strings.
13506 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13507
3041d898
VS
135082009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13511 of arguments. Return number of tokens and not arguments. All users
13512 updated.
13513
de15bf8e
VS
135142009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13517 non-MSDOS paritions.
13518
e0a6ca52
VS
135192009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * include/grub/types.h (UNUSED): Removed since it conflicts with
13522 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13523 Reported by Grégoire Sutre.
13524
b99518d1 135252009-12-19 Carles Pina i Estany <carles@pina.cat>
13526
13527 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13528 (grub_print_ucs4_alloc): Likewise.
13529 (grub_getstringwidth): Likewise.
13530 * normal/main.c (grub_normal_init_page): Gettextize version string.
13531 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13532 (getstringwidth): Renamed to ...
13533 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13534 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13535 (grub_print_ucs4): Remove `static' qualifer (now used in
13536 normal/main.c).
13537 * po/POTFILES: Add normal/main.c.
13538
bfd5e52b 135392009-12-19 Carles Pina i Estany <carles@pina.cat>
13540
13541 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13542 (print_message_indented): Add `margin_left' and `margin_right'
13543 parameters.
13544 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13545 strings.
13546 (print_timeout): Use `print_message_indented' to print the message.
13547 Deletes `second_stage' parameter.
13548 (run_menu): Update `print_timeout' calls.
13549
5a1ad2b9
VS
135502009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 Fix console palette on OpenFirmware.
13553
13554 * term/ieee1275/ofconsole.c (MAX): Removed.
13555 (colors): Redone based on VGA palette.
13556 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13557 colors are supported.
13558 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13559
b045f00a
VS
135602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 Fix potential EfiEmu double prepare.
13563
13564 * efiemu/main.c (prepared): New variable
13565 (grub_efiemu_unload): Set prepare to '0'.
13566 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13567
13568 set_virtual_address_map support.
13569
13570 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13571 prototype.
13572 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13573 prototype.
13574 (grub_efiemu_crc32): Likewise.
13575 (grub_efiemu_crc64): Likewise.
13576 (grub_efiemu_set_virtual_address_map): Likewise.
13577 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13578 New definition.
13579 (grub_autoefi_set_virtual_address_map): Likewise.
13580 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13581 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13582 Restructure flow to accomodate it.
13583 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13584 (grub_efiemu_crc): Recompute CRC32.
13585 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13586 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13587 * efiemu/symbols.c (relocated_handle): New variable.
13588 (grub_efiemu_free_syms): Free relocated_handle.
13589 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13590 (grub_efiemu_write_sym_markers): New function.
13591 (grub_efiemu_set_virtual_address_map): Likewise.
13592
13593 Newer XNU parameters.
13594
13595 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13596 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13597 (grub_xnu_fill_devicetree): New prototype.
13598 (grub_xnu_heap_real_start): New variable.
13599 * loader/xnu.c (get_name_ptr): New function.
13600 (grub_xnu_load_driver): Fill namelen and name.
13601
13602 64-bit xnu support.
13603
13604 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13605 and 'loader/macho64.c'.
13606 * conf/i386-pc.rmk: Likewise.
13607 * conf/x86_64-efi.rmk: Likewise.
13608 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13609 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13610 * include/grub/macho.h (grub_macho_segment64): New structure.
13611 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13612 (grub_macho_size32): ... to this.
13613 (grub_macho32_get_entry_point): Renamed from ...
13614 (grub_macho_get_entry_point32): ... to this.
13615 (grub_macho_contains_macho64): New prototype.
13616 (grub_macho_size64): Likewise.
13617 (grub_macho_get_entry_point64): Likewise.
13618 (grub_macho32_load): Renamed from ...
13619 (grub_macho_load32): ... to this.
13620 (grub_macho32_filesize): Renamed from ...
13621 (grub_macho_filesize32): ... to this.
13622 (grub_macho32_readfile): Renamed from ...
13623 (grub_macho_readfile32): ... to this.
13624 (grub_macho_filesize64): New prototype.
13625 (grub_macho_readfile64): Likewise.
13626 (grub_macho_parse32): Likewise.
13627 (grub_macho_parse64): Likewise.
13628 * loader/macho.c: Split into ...
13629 * loader/machoXX.c: ... and this. Replace 32 with XX.
13630 * loader/macho32.c: New file.
13631 * loader/macho64.c: Likewise.
13632 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13633 (grub_cmd_xnu_kernel): Make 32-bit only.
13634 (grub_cmd_xnu_kernel64): New function.
13635 (grub_xnu_load_driver): Support Mach-O 64.
13636 (grub_cmd_xnu_mkext): Likewise.
13637 * util/grub.d/30_os-prober.in (osx_entry): New function.
13638 Generate entries for 64-bit boot too.
13639
13640 Eliminate ad-hoc tree format in XNU and EfiEmu.
13641
13642 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13643 * efiemu/pnvram.c: Rewritten to use environment variables.
13644 All users updated.
13645
13646 Inline utf16_to_utf8.
13647
13648 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13649 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13650 All users updated.
13651 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13652
13653 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13654 * commands/usbtest.c (grub_usb_get_string): ... move here.
13655 (usb_print_str): Fix error handling.
13656 * include/grub/usb.h (grub_usb_get_string): Remove.
13657
13658 UTF-8 to UTF-16 transformation.
13659
13660 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13661 (charset_mod_SOURCES): New variable.
13662 (charset_mod_CFLAGS): Likewise.
13663 (charset_mod_LDFLAGS): Likewise.
13664 * include/grub/utf.h: New file.
13665 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13666
13667 Support for device properties.
13668
13669 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13670 (grub_xnu_devprop_device_header): Likewise.
13671 (grub_xnu_devprop_device_descriptor): Likewise.
13672 (grub_xnu_devprop_add_device): New prototype.
13673 (grub_xnu_devprop_remove_device): Likewise.
13674 (grub_xnu_devprop_remove_property): Likewise.
13675 (grub_xnu_devprop_add_property_utf8): Likewise.
13676 (grub_xnu_devprop_add_property_utf16): Likewise.
13677 (grub_cpu_xnu_init): Likewise.
13678 (grub_cpu_xnu_fini): Likewise.
13679 (grub_cpu_xnu_unload): Likewise.
13680 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13681 (property_descriptor): Likewise.
13682 (devices): New variable.
13683 (grub_xnu_devprop_remove_property): New function.
13684 (grub_xnu_devprop_add_device): Likewise.
13685 (grub_xnu_devprop_remove_device): Likewise.
13686 (grub_xnu_devprop_add_property): Likewise.
13687 (grub_xnu_devprop_add_property_utf8): Likewise.
13688 (grub_xnu_devprop_add_property_utf16): Likewise.
13689 (hextoval): Likewise.
13690 (grub_cpu_xnu_fill_devprop): Likewise.
13691 (grub_cmd_devprop_load): Likewise.
13692 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13693 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13694 (cmd_devprop_load): New variable.
13695 (grub_cpu_xnu_init): New function.
13696 (grub_cpu_xnu_fini): Likewise.
13697 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13698 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13699 (grub_cmd_xnu_devtree): Likewise.
13700 (hextoval): New function.
13701 (unescape): Likewise.
13702 (grub_xnu_fill_devicetree): Likewise.
13703
13704 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13705 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13706
0945f181
VS
137072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 Workaround for broken ATI VBE.
13710
13711 * video/i386/pc/vbe.c (last_set_mode): New variable.
13712 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13713 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13714 (grub_video_vbe_setup): Don't check for reserved flag.
13715
0ad46fd7 137162009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
13717
13718 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13719 the `find' command.
13720
c179ebe4
VS
137212009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 UUID support for HFS.
13724
13725 * fs/hfs.c (grub_hfs_uuid): New function.
13726 (grub_hfs_fs): New value .uuid.
13727 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13728
0ad46fd7 137292009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
13730
13731 Fix a segfault with parsing unknown long options.
13732
13733 * util/grub-mkrelpath.c (options): Zero terminate it.
13734
c4a3e41a
CPE
137352009-12-13 Carles Pina i Estany <carles@pina.cat>
13736
13737 * include/grub/misc.h (grub_puts): New declaration.
13738 (grub_puts_): Likewise.
a22008a6 13739 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
13740 (grub_puts_): Likewise.
13741
2e8a7602
RM
137422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13743
13744 * util/grub-probe.c (probe): Improve error message.
13745
b50b77b9
RM
137462009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13747
13748 * loader/i386/multiboot_elfxx.c
13749 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13750 initialization.
13751
137522009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 Relocator framework
13755
13756 * loader/i386/xnu_helper.S: Removed. All users updated.
13757 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13758 (relocator_mod_SOURCES): New variable.
13759 (relocator_mod_CFLAGS): Likewise.
13760 (relocator_mod_LDFLAGS): Likewise.
13761 (relocator_mod_ASFLAGS): Likewise.
13762 * conf/x86_64.rmk: Likewise.
13763 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13764 (grub_multiboot_payload_entry_offset): Likewise.
13765 (grub_multiboot_forward_relocator): Likewise.
13766 (grub_multiboot_forward_relocator_end): Likewise.
13767 (grub_multiboot_backward_relocator): Likewise.
13768 (grub_multiboot_backward_relocator_end): Likewise.
13769 (grub_multiboot_payload_eip): New variable.
13770 (grub_multiboot_payload_orig): Likewise.
13771 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13772 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13773 * include/grub/i386/memory.h
13774 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13775 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13776 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13777 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13778 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13779 * include/grub/i386/relocator.h: New file.
13780 * include/grub/x86_64/relocator.h: Likewise.
13781 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13782 (XNU_RELOCATOR): New macro.
13783 (grub_xnu_launcher_start): Remove.
13784 (grub_xnu_launcher_end): Likewise.
13785 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13786 (grub_xnu_heap_real_start): Remove.
13787 (grub_xnu_heap_start): Change to void *. All users updated.
13788 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13789 * lib/i386/relocator.c: New file.
13790 * lib/i386/relocator_asm.S: Likewise.
13791 * lib/i386/relocator_backward.S: Likewise.
13792 * lib/mips/relocator.c: Likewise.
13793 * lib/mips/relocator_asm.S: Likewise.
13794 * lib/relocator.c: Likewise.
13795 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13796 (entry): Removed.
13797 (playground): Likewise.
13798 (grub_multiboot_payload_orig): New variable.
13799 (grub_multiboot_payload_dest): Likewise.
13800 (grub_multiboot_payload_size): Likewise.
13801 (grub_multiboot_payload_eip): Likewise.
13802 (grub_multiboot_payload_esp): Likewise.
13803 (grub_multiboot_boot): Use grub_relocator32_boot.
13804 (grub_multiboot_unload): Free relocators.
13805 (grub_multiboot): Setup stack. Use relocators.
13806 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13807 (grub_multiboot_load_elfXX): Use relocators.
13808 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13809 (grub_multiboot_payload_size): Likewise.
13810 (grub_multiboot_payload_dest): Likewise.
13811 (grub_multiboot_payload_entry_offset): Likewise.
13812 (grub_multiboot_forward_relocator): Likewise.
13813 (grub_multiboot_backward_relocator): Likewise.
13814 (grub_multiboot_real_boot): Likewise.
13815 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13816 (grub_xnu_entry_point): Likewise.
13817 (grub_xnu_arg1): Likewise.
13818 (grub_xnu_stack): Likewise.
13819 (grub_xnu_launch): Removed.
13820 (grub_xnu_boot_resume): New function.
13821 (grub_xnu_boot): Use relocators.
13822 * loader/i386/xnu_helper.S: Removed.
13823 * loader/xnu.c (grub_xnu_heap_start): New variable.
13824 (grub_xnu_heap_size): Likewise.
13825 (grub_xnu_heap_malloc): Use relocators.
13826 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13827
29eb90c6
VS
138282009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13831 anything.
13832
31027430
CPE
138332009-12-13 Carles Pina i Estany <carles@pina.cat>
13834
13835 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13836 GRUB_ERR_NONE before calling grub_env_set.
13837
dc0c71d9
RM
138382009-12-12 Robert Millan <rmh@aybabtu.com>
13839
13840 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13841 * genmk.rb (video): New variable.
13842 (CLEANFILES, VIDEOFILES): Add #{video}.
13843 (#{video}): New target rule.
13844 * genvideolist.sh: New file.
13845 * Makefile.in (pkglib_DATA): Add video.lst.
13846 (video.lst): New target rule.
13847 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13848 `video.lst'.
13849 * util/grub.d/30_os-prober.in: Replace `vbe' with
13850 ${GRUB_VIDEO_BACKEND}.
13851
2a4bfcf0
RM
138522009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13853
13854 * THANKS: Add David Miller.
13855
2a3aa4d5
RM
138562009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 libpciaccess support.
13859
13860 * Makefile.in (LIBPCIACCESS): New variable.
13861 (enable_grub_emu_pci): Likewise.
13862 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13863 util/pci.c and commands/lspci.c.
13864 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13865 * configure.ac (grub-emu-pci): New option.
13866 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13867 (grub_pci_device_unmap_range): Likewise.
13868 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13869 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13870 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13871 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13872 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13873 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13874 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13875 * include/grub/pciutils.h: New file.
13876 * util/pci.c: Likewise.
13877
0ad46fd7 138782009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
13879
13880 * util/misc.c: Don't include <errno.h> twice.
13881
0ad46fd7 138822009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
13883
13884 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13885 name in an error message.
13886 (grub_biosdisk_rw): Likewise.
13887
2e59983c
VS
138882009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 Eliminate NTFS 4Gib barrier.
13891
13892 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13893 (read_run_data): Likewise.
13894 (grub_ntfs_read_run_list): Likewise.
13895 (grub_ntfs_read_block): Likewise.
13896 (grub_ntfs_iterate_dir): Likewise.
13897 (read_mft): Likewise.
13898 (read_data): Likewise.
13899 Use COM_LOG_LEN.
13900 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13901 to avoid 64-bit division
13902 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13903 (grub_ntfs_rlst): Use grub_disk_addr_t.
13904
71ee178a
VS
139052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 Eliminate grub-fstest 4Gib barrier.
13908
13909 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13910 (read_file): Fix error reporting.
13911
2520d4b8
VS
139122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 Eliminate hexdump 4Gib barrier.
13915
13916 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13917 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13918
e1f27065
VS
139192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13922 Fixes amarsh bug.
13923
1a0f7f45
RM
139242009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13925
13926 Remove miscellaneous files in distclean target.
13927
13928 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13929
c631d9fb
CW
139302009-12-09 Colin Watson <cjwatson@ubuntu.com>
13931
13932 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13933 if they're already set. This resolves the conflict between my
13934 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13935 fixing the --grub-probe option again.
13936 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13937 change on 2009-10-06, so that we now once again source
13938 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13939
7c7b6106
RM
139402009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13941
13942 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13943 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13944 `util/devicemap.c'.
13945
e3069ec1
CPE
139462009-12-08 Carles Pina i Estany <carles@pina.cat>
13947
13948 * include/grub/misc.h (grub_printf_): New declaration.
13949 * kern/misc.c (grub_printf_): New definition.
13950 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13951 instead of `grub_printf' and `_'.
13952 * normal/menu_entry.c (store_completion): Likewise.
13953 (run): Likewise.
13954 (grub_menu_entry_run): Likewise.
13955 * normal/menu_text.c (grub_wait_after_message): Likewise.
13956 (notify_booting): Likewise.
13957 (notify_fallback): Likewise.
13958 (notify_execution_failure): Likewise.
13959
d6ceebf1
CW
139602009-12-07 Colin Watson <cjwatson@ubuntu.com>
13961
13962 * configure.ac: Check for vasprintf.
13963 * util/misc.c (asprintf): Move allocation from here ...
13964 (vasprintf): ... to here. New function.
13965 (xasprintf): New function.
13966 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13967 prototypes.
13968 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13969 * util/grub-mkfont.c (write_font): Likewise.
13970 * util/grub-probe.c (probe): Likewise.
13971 * util/hostdisk.c (make_device_name): Likewise.
13972
de6daa8b
DM
139732009-12-06 David S. Miller <davem@sunset.davemloft.net>
13974
13975 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13976 anything even prefixed with 'cdrom' as a cdrom.
13977
0ad46fd7 139782009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
13979
13980 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13981 mount points.
13982
98d3dc02
CPE
139832009-12-05 Carles Pina i Estany <carles@pina.cat>
13984
13985 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13986 grub_gettext_msg_list.
13987 (grub_gettext_gettranslation_from_position): Return const char *
13988 and not char *.
a2c1332b 13989 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
13990 returns from the list if existing there.
13991 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13992 (grub_gettext_delete_list): Delete the list.
13993 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13994 lang environment variable is changed.
13995 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13996
b283f108
VS
139972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 Rename kernel.mod to kernel.img.
14000
14001 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
14002 (kernel_mod_EXPORTS): Rename to ...
14003 (kernel_img_EXPORTS): ... this.
14004 (kernel_mod_SOURCES): Rename to ...
14005 (kernel_img_SOURCES): ... this.
14006 (kernel_mod_HEADERS): Rename to ...
14007 (kernel_img_HEADERS): ... this. All users updated.
14008 (kernel_mod_CFLAGS): Rename to ...
14009 (kernel_img_CFLAGS): ... this.
14010 (kernel_mod_ASFLAGS): Rename to ...
14011 (kernel_img_ASFLAGS): ... this.
14012 (kernel_mod_LDFLAGS): Rename to ...
14013 (kernel_img_LDFLAGS): ... this.
14014 * conf/x86_64-efi.rmk: Likewise.
14015 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
14016 (read_kernel_image): ... this. All users updated.
14017 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
14018
69055f8a
CPE
140192009-12-05 Carles Pina i Estany <carles@pina.cat>
14020
14021 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
14022 (print_spaces): New function.
14023 (grub_print_ucs4): New function.
14024 (getstringwidth): New function.
14025 (print_message_indented): New function.
14026 (print_message): Gettexttize strings using print_message_indented.
14027 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
14028 width.
14029 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 14030 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
14031 Gettextize.
14032 * normal/menu_entry.c (store_completion): Cleanup the gettextized
14033 string.
14034 (run): Likewise.
14035 (grub_menu_entry_run): Likewise.
14036 * PO/POTFILES: Add normal/menu_entry.c.
14037
f616f51c
VS
140382009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
14041
57bbe3be
CPE
140422009-12-05 Carles Pina i Estany <carles@pina.cat>
14043
14044 * util/grub-install.in: Install gettext .mo files.
14045 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
14046
013d67a1
CPE
140472009-12-05 Carles Pina i Estany <carles@pina.cat>
14048
14049 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
14050 grub_dprintf.
14051
fb954db0
RM
140522009-12-05 Robert Millan <rmh.grub@aybabtu.com>
14053
14054 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
14055 non-firmware-dependant one in realmode.S takes precedence.
14056
6b8474f8
RM
140572009-12-04 Robert Millan <rmh.grub@aybabtu.com>
14058
14059 * commands/halt.c: Replace misc arch-specific headers with
14060 `<grub/misc.h>'.
14061 * commands/reboot.c: Likewise.
14062 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
14063 `<grub/misc.h>'.
14064 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
14065 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
14066 (kernel_img_SOURCES): ... to here.
14067
14068 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
14069 * include/grub/i386/pc/init.h: Likewise.
14070 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14071 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14072
14073 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
14074
14075 * include/grub/i386/halt.h: Remove.
14076 * include/grub/i386/reboot.h: Likewise.
14077
14078 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
14079
4b2e6ca2
DM
140802009-12-03 David S. Miller <davem@sunset.davemloft.net>
14081
14082 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
14083 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
14084 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
14085 "progname.h"
14086 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14087 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14088 (usage): Add missing comma in printf.
14089
5239348f
RM
140902009-12-02 Robert Millan <rmh.grub@aybabtu.com>
14091
14092 Use the same reboot approach on i386 coreboot and qemu as we do on
14093 BIOS.
14094
14095 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
14096 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
14097 * kern/i386/reboot.c: Remove.
14098 * include/grub/i386/reboot.h (grub_reboot): Export function.
14099 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
14100 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
14101 0xf000:0xfff0 instead of 0xffff:0x0000.
14102 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
14103 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
14104
ef34cbd4
RM
141052009-11-30 Robert Millan <rmh.grub@aybabtu.com>
14106
14107 Fix $srcdir != $objdir build.
14108
14109 * Makefile.in (po/%.po): Rewrite as ...
14110 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
14111
dc9837ea
ST
141122009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
14113
14114 Fix GNU/Hurd grub-install crash.
14115 * util/grub-probe.c (probe): Try to access `path' only when it is not
14116 NULL.
14117
2f857f98
VS
141182009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 Correct module naming.
14121
14122 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
14123 (GRUB_MOD_INIT(efi_uga)): ... to this
14124 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
14125 (GRUB_MOD_FINI(efi_uga)): ... to this
14126 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
14127 (GRUB_MOD_INIT(efi_gop)): ... to this
14128 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
14129 (GRUB_MOD_FINI(efi_gop)): ... to this
14130
c5448046
RM
141312009-11-28 Robert Millan <rmh.grub@aybabtu.com>
14132
14133 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
14134 translatable.
14135 (usage): Translate `arg' strings using gettext().
14136 Thanks to Jordi Mallach for the suggestion.
14137
c85184ad
VS
141382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 GOP support. Based on patch from Bean
14141 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14142
14143 * video/efi_gop.c: New file.
14144 * include/grub/efi/graphics_output.h: Likewise.
14145 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
14146 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14147 variables.
14148 * conf/x86_64-efi.rmk: Likewise.
14149
8a4c48d8
VS
141502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 Rename efi_fb to efi_uga.
14153
14154 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
14155 'efi_uga.mod'.
14156 (efi_fb_mod_SOURCES): Rename this ...
14157 (efi_uga_mod_SOURCES): ... to this.
14158 (efi_fb_mod_CFLAGS): Rename this ...
14159 (efi_uga_mod_CFLAGS): ... to this.
14160 (efi_fb_mod_LDFLAGS): Rename this ...
14161 (efi_uga_mod_LDFLAGS): ... to this.
14162 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
14163 'efi_uga.mod'.
14164 (efi_fb_mod_SOURCES): Rename this ...
14165 (efi_uga_mod_SOURCES): ... to this.
14166 (efi_fb_mod_CFLAGS): Rename this ...
14167 (efi_uga_mod_CFLAGS): ... to this.
14168 (efi_fb_mod_LDFLAGS): Rename this ...
14169 (efi_uga_mod_LDFLAGS): ... to this.
14170 * video/efi_fb.c: Move this ...
14171 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
14172
fb6c1a7b
RM
141732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14174
14175 * po/README: New file. Explain our PO file workflow.
14176
3bc7896c
RM
141772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14178
14179 * po/ChangeLog: Remove. Move relevant entries back to ...
14180 * ChangeLog: ... here.
14181 * po/ca.po: Remove (now handled by TLP).
14182 * po/id.po: Likewise.
14183 * po/zh_CN.po: Likewise.
14184 * Makefile.in (LINGUAS): Initialize in a way that supports
14185 empty set.
14186
9ed4841d
RM
141872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14188
14189 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
14190 reliing on po/LINGUAS.
14191 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
14192 (po/%.po): ... this.
14193
0ad46fd7 141942009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
14195
14196 * util/i386/efi/grub-mkimage.c: Include "progname.h".
14197 (main): Use `program_name' instead of nonexistent `progname'.
14198
e30dd392
FZ
141992009-11-26 Felix Zielcke <fzielcke@z-51.de>
14200
14201 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14202 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
14203
7656de4f
RM
142042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14205
14206 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
14207 commit.
14208 * conf/i386-efi.rmk: Likewise.
14209 * conf/i386-ieee1275.rmk: Likewise.
14210 * conf/powerpc-ieee1275.rmk: Likewise.
14211 * conf/sparc64-ieee1275.rmk: Likewise.
14212 * conf/x86_64-efi.rmk: Likewise.
14213
db77c4d4
FZ
142142009-11-26 Felix Zielcke <fzielcke@z-51.de>
14215
14216 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
14217
a755bb04
FZ
142182009-11-26 Felix Zielcke <fzielcke@z-51.de>
14219
14220 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
14221
8a4c07fd
RM
142222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14223
14224 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
14225 (grub_mkdevicemap_SOURCES): New variable.
14226 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
14227 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
14228 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
14229 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
14230 (grub_mkdevicemap_SOURCES): Remove.
14231 * conf/i386-efi.rmk: Likewise.
14232 * conf/i386-ieee1275.rmk: Likewise.
14233 * conf/i386-pc.rmk: Likewise.
14234 * conf/powerpc-ieee1275.rmk: Likewise.
14235 * conf/sparc64-ieee1275.rmk: Likewise.
14236 * conf/x86_64-efi.rmk: Likewise.
14237 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
14238 (usage): Fix strings to use `program_name'.
14239 (main): Initialize gettext.
14240 * util/grub-editenv.c: Likewise.
14241 * util/grub-emu.c: Likewise.
14242 * util/grub-fstest.c: Likewise.
14243 * util/grub-mkdevicemap.c: Likewise.
14244 * util/grub-mkfont.c: Likewise.
14245 * util/grub-mkrelpath.c: Likewise.
14246 * util/grub-pe2elf.c: Likewise.
14247 * util/grub-probe.c: Likewise.
14248 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14249 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14250 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14251
14252 * util/misc.c: Include `"progname.h"'.
14253 (progname): Remove variable.
14254 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
14255
6f61ed55
FZ
142562009-11-25 Felix Zielcke <fzielcke@z-51.de>
14257
14258 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
14259 printf and print a newline after the menuentry header line.
14260 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14261
f022876b
FZ
142622009-11-25 Felix Zielcke <fzielcke@z-51.de>
14263
14264 autoconf >= 2.60 support $(localedir).
14265
14266 * INSTALL: Note that autoconf 2.60 is required.
14267 * configure.ac (AC_PREREQ): Bump to 2.60.
14268 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
14269 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14270
6717926e
YB
142712009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
14272
14273 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
14274 aclocal is run.
14275
08806a54
RM
142762009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14277
14278 * normal/main.c (grub_normal_read_line): Fix off-by-one
14279 buffer overflow.
14280
13b33fba
RM
142812009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14282
14283 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
14284 "parser.grub" in grub_command_execute() call.
14285
4a8572e9
CPE
142862009-11-24 Carles Pina i Estany <carles@pina.cat>
14287
14288 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
14289 * conf/i386-efi.rmk: Likewise.
14290 * conf/i386-ieee1275.rmk: Likewise.
14291 * conf/i386-pc.rmk: Likewise.
14292 * conf/powerpc-ieee1275.rmk: Likewise.
14293 * conf/sparc64-ieee1275.rmk: Likewise.
14294 * conf/x86_64-efi.rmk: Likewise.
14295 * gettext/gettex.c: Include <grub/i18n.h>.
14296 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
14297 here ...
14298 * include/grub/i18n.h: ... to here
14299 * include/grub/i18n.h: ... to here.
14300 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 14301 (grub_gettext_dummy): Move above user.
4a8572e9 14302
bee48093
FZ
143032009-11-24 Felix Zielcke <fzielcke@z-51.de>
14304
14305 * util/Makefile.in (install-local): Convert a `for' into a normal
14306 shell expansion.
14307
a031e91c
RM
143082009-11-24 Robert Millan <rmh.grub@aybabtu.com>
14309
14310 * autogen.sh: Add automake call.
14311 * config.guess: Remove.
14312 * config.sub: Likewise.
14313 * install-sh: Likewise.
14314
26bec39d
FZ
143152009-11-24 Felix Zielcke <fzielcke@z-51.de>
14316
14317 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
14318
8e2532fd
FZ
143192009-11-24 Felix Zielcke <fzielcke@z-51.de>
14320
14321 * util/Makefile.in (install-local): Convert a make `$(foreach)'
14322 function to a normal shell `for'.
14323
fefa1b7d
FZ
143242009-11-24 Felix Zielcke <fzielcke@z-51.de>
14325
14326 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14327
4501250b
FZ
143282009-11-24 Felix Zielcke <fzielcke@z-51.de>
14329
14330 * util/grub-mkrelpath.c: New file.
14331 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
14332 (grub_mkrelpath_SOURCES): New variable.
14333 * include/grub/util/misc.h: New function prototype.
14334 * util/misc.c (make_system_path_relative_to_its_root): New function.
14335
14336 * util/grub-mkconfig_lib.in (bindir): New variable.
14337 (grub_mkrelpath): Likewise.
14338 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
14339
14340 * util/probe.c (probe): Make the file path relative to its root.
14341 Change a info message to use the GRUB path. Enable again the
14342 check if we can read the file with GRUB facilities.
14343
14344 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14345 to its root.
14346
11d9778b
FZ
143472009-11-24 Felix Zielcke <fzielcke@z-51.de>
14348
14349 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14350 platform.
14351
4465287d
FZ
143522009-11-24 Felix Zielcke <fzielcke@z-51.de>
14353
14354 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14355 strncmp().
14356
62b47f22
FZ
143572009-11-24 Felix Zielcke <fzielcke@z-51.de>
14358
14359 * util/getroot.c (grub_util_is_dmraid): New function.
14360 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14361 devices as normal ones, not as LVM.
14362
1eafb9b9 143632009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
14364
14365 * conf/common.rmk: Add grub-gettext_lib target and updates
14366 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14367 LDFLAGS.
14368 * gettext/gettext.c: New file. (Reads mo files).
14369 * include/grub/file.h (grub_file_pread): New prototype.
14370 * include/grub/i18n.h (_): New prototype.
14371 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14372 prototypes.
14373 * kern/misc.c (grub_gettext_dummy): New function.
14374 * normal/menu_text.c: Include <grub/i18n.h>.
14375 * normal/menu_text.c (print_timeout): Gettexttize string.
14376 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
14377 * po/POTFILES: Add `normal/menu_text.c'.
14378 * po/ca.po: Add new translations.
c3ea6bd4
CPE
14379 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14380 gettext module and defines locale_dir and lang in grub.cfg.
14381 * NEWS: Add gettext support.
14382
0fdb2568
RM
143832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14384
14385 * util/hostdisk.c: Include `<grub/i18n.h>'.
14386 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14387 (make_device_name): Rewrite using asprintf.
14388 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14389 (find_system_device): If a device is not found, generate one just
14390 by reusing the OS path name.
14391 (read_device_map): Make it permissible for device.map not to exist.
14392
f515aa62
RM
143932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14394
14395 * script/sh/execute.c: Move from here ...
14396 * script/execute.c: ... to here. Update all users.
14397 * script/sh/function.c: Move from here ...
14398 * script/function.c: ... to here. Update all users.
14399 * script/sh/lexer.c: Move from here ...
14400 * script/lexer.c: ... to here. Update all users.
14401 * script/sh/main.c: Move from here ...
14402 * script/main.c: ... to here. Update all users.
14403 * script/sh/parser.y: Move from here ...
14404 * script/parser.y: ... to here. Update all users.
14405 * script/sh/script.c: Move from here ...
14406 * script/script.c: ... to here. Update all users.
14407
f84b481b
RM
144082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14409
14410 * configure.ac: Detect all `emu' platforms. Define
14411 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14412 --enable-grub-emu logic. Disable include/grub/machine
14413 symlink on `emu' platforms.
14414
14415 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14416 * gensymlist.sh.in: Likewise.
14417
14418 * include/grub/i386/coreboot/machine.h: Remove file.
14419 * include/grub/i386/efi/machine.h: Likewise.
14420 * include/grub/i386/ieee1275/machine.h: Likewise.
14421 * include/grub/i386/pc/machine.h: Likewise.
14422 * include/grub/i386/qemu/machine.h: Likewise.
14423 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14424 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14425 * include/grub/x86_64/efi/machine.h: Likewise.
14426
14427 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14428 * commands/halt.c: Likewise.
14429 * commands/reboot.c: Likewise.
14430 * include/grub/autoefi.h: Likewise.
14431 * include/grub/i386/at_keyboard.h: Likewise.
14432 * include/grub/i386/kernel.h: Likewise.
14433 * include/grub/i386/loader.h: Likewise.
14434 * include/grub/i386/pc/memory.h: Likewise.
14435 * kern/dl.c: Likewise.
14436 * kern/i386/coreboot/init.c: Likewise.
14437 * loader/i386/bsd.c: Likewise.
14438 * loader/i386/linux.c: Likewise.
14439 * loader/multiboot_loader.c: Likewise.
14440 * term/i386/pc/serial.c: Likewise.
14441 * term/usb_keyboard.c: Likewise.
14442
14443 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14444 `<grub/machine/machine.h>'
14445 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14446 * util/misc.c: Remove `<grub/machine/machine.h>' and
14447 `<grub/machine/time.h>'.
14448
14449 * Makefile.in (enable_grub_emu): Remove variable.
14450 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14451
14452 * conf/any-emu.rmk: New file.
14453 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14454 (grub_emu_init.c): Move from here ...
14455 * conf/any-emu.rmk: ... to here.
14456
14457 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14458 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14459 * conf/any-emu.rmk: ... to here.
14460
4efeab03
RM
144612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14462
14463 * include/grub/parser.h (grub_parser_register): Document need
14464 of `name' parameter.
14465 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14466 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14467 "sh" to "grub".
14468
ea1dd8bf
RM
144692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14470
14471 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14472 `$(XGETTEXT)'.
14473 * include/grub/i18n.h (N_): New macro.
14474 * util/mkisofs/mkisofs.h: Likewise.
14475 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14476 around N_().
14477 (usage): Use gettext() to translate help strings when printing them.
14478
0c140626
RM
144792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14480
14481 Based on patch from Bean
14482 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14483
14484 * video/efi_fb.c: New file.
14485 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14486 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14487 variables.
14488 * conf/x86_64-efi.rmk: Likewise.
14489
87d58298
RM
144902009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14491
14492 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14493 * util/i386/pc/grub-setup.c: Likewise.
14494
994cc3a3
ST
144952009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14496
14497 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14498 <hurd/fs.h>
14499 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14500 file_get_storage_info to implement grub_guess_root_device.
14501
26a61d6a
FZ
145022009-11-21 Felix Zielcke <fzielcke@z-51.de>
14503
14504 * Makefile.in (target): Use make's builtin $(shell) function
14505 instead of calling directly $(SHELL) to create the locale directories,
14506 inside the $(foreach) function.
14507
74ff1dd5
FZ
145082009-11-21 Felix Zielcke <fzielcke@z-51.de>
14509
14510 * util/grub-mkrescue.in: Print an error and usage if output option
14511 has not been given.
14512
0b787d0e
FZ
145132009-11-21 Felix Zielcke <fzielcke@z-51.de>
14514
14515 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14516 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14517 root and /boot are on different devices.
14518
1164b270
RM
145192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14520
14521 Fix build for srcdir != objdir.
14522
14523 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14524 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14525 $(srcdir).
14526 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14527 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14528 reference for input.
14529
13774a2f
RM
145302009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14531
14532 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14533 or hardlinking it). Remove -J option, Joliet is not compatible with
14534 multiple source directories.
14535
efda854e
RM
145362009-11-21 Carles Pina i Estany <carles@pina.cat>
145372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14538
14539 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14540 (process_input_dir): New function. Process an arbitrary input
14541 directory.
14542 Misc adjustments to support both "override mode" and system-wide mode.
14543
6c09890c
FZ
145442009-11-20 Felix Zielcke <fzielcke@z-51.de>
14545
14546 * configure.ac (UNIFONT_BDF): Rename to ...
14547 (FONT_SOURCE): ... this. Update all users.
14548
a797824f
FZ
145492009-11-20 Felix Zielcke <fzielcke@z-51.de>
14550
14551 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14552 to the list of unifont files to look for.
14553
cd4f42b0
RM
145542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14555
14556 Patch from Joe Auricchio <jauricchio@gmail.com>
14557 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14558 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14559 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14560
393c783d
FZ
145612009-11-19 Felix Zielcke <fzielcke@z-51.de>
14562
14563 * Makefile.in (install-local): Add a missing backslash.
14564
b2f1e327
FZ
145652009-11-19 Felix Zielcke <fzielcke@z-51.de>
14566
14567 * include/grub/x86_64/io.h: New file.
14568
f577f7a0
RM
145692009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14570
14571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14572 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14573 Include `"progname.h"'.
14574 (main): Initialize gettext.
14575 * util/i386/pc/grub-setup.c: Gettexttize.
14576 * util/i386/pc/grub-mkimage.c: Likewise.
14577
14578 * Makefile.in (po/*.po): Redefine as ...
14579 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14580
3bc7896c
RM
14581 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14582
c37943b6
RM
145832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14584
14585 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14586 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14587 (program_name): Remove.
14588 (main): Initialize gettext support.
6323f705
RM
14589 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14590 Include `<libintl.h>'.
14591 (_): New macro.
c37943b6
RM
14592
14593 * util/mkisofs/eltorito.c: Gettexttize.
14594 * util/mkisofs/joliet.c: Likewise.
14595 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
14596 * util/mkisofs/multi.c: Likewise.
14597 * util/mkisofs/rock.c: Likewise.
14598 * util/mkisofs/tree.c: Likewise.
14599 * util/mkisofs/write.c: Likewise.
14600
3bc7896c
RM
14601 * po/POTFILES: Update with new files.
14602
5ce77c6e
RM
146032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14604
14605 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14606 * util/mkisofs/iso9660.h: Likewise.
14607 * util/mkisofs/joliet.c: Likewise.
14608 * util/mkisofs/mkisofs.c: Likewise.
14609 * util/mkisofs/mkisofs.h: Likewise.
14610 * util/mkisofs/rock.c: Likewise.
14611 * util/mkisofs/tree.c: Likewise.
14612 * util/mkisofs/write.c: Likewise.
14613
14614 * util/mkisofs/eltorito.c (rcsid): Remove.
14615 * util/mkisofs/hash.c: Likewise.
14616 * util/mkisofs/joliet.c: Likewise.
14617 * util/mkisofs/name.c: Likewise.
14618 * util/mkisofs/rock.c: Likewise.
14619 * util/mkisofs/tree.c: Likewise.
14620 * util/mkisofs/write.c: Likewise.
14621
1dabbc77
RM
146222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14623
14624 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14625 instead of static allocation.
14626 * util/mkisofs/match.h: Likewise.
14627
633877cb
RM
146282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14629
3bc7896c
RM
14630 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14631 and `util/grub.d/10_linux.in'.
633877cb
RM
14632 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14633 translatable Shell files.
14634
af1c0c85
RM
146352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14636
14637 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14638
769ae37b
RM
146392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14640
14641 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 14642 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
14643 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14644 Add gettext initialization.
14645 (kfreebsd_entry): Make menuentry output translatable.
14646
146472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14648
14649 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14650 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14651 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14652 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14653 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 14654 * po/LINGUAS: New file.
769ae37b
RM
14655
146562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14659 other things).
14660 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14661 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14662 bindtextdomain() calls for gettext initialization.
14663
146642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14665
14666 * gnulib/progname.c: New file (imported from Gnulib).
14667 * gnulib/progname.h: Likewise.
14668 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14669 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14670 (usage): Replace `progname' with `program_name'.
14671 (main): Use set_program_name() for program name initialization.
14672
146732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14674
14675 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14676 from here ...
14677 * Makefile.in (CPPFLAGS): ... to here.
14678
146792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14680
14681 * aclocal.m4: Move from here ...
14682 * acinclude.m4: ... to here.
14683 * autogen.sh: Add call to `aclocal'.
14684 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14685
146862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14687
14688 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14689 (LINGUAS): New variable.
14690 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14691 (install-local): Install MO files.
14692 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14693 * include/grub/i18n.h: New file.
3bc7896c
RM
14694 * po/POTFILES: New file.
14695 * po/ca.po: New file.
769ae37b
RM
14696 * util/grub.d/10_linux.in (bindir): New variable.
14697 Add gettext initialization.
14698 (linux_entry): Make menuentry output translatable.
14699 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14700 (usage): Make --help output translatable.
14701 (main): Initialize gettext.
14702
02c0a6ad
RM
147032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14704
14705 * import_gcry.py: New file (written by Vladimir with minor
14706 adjustments).
14707 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14708 ciphers.
14709 * INSTALL: Document that Python is required for bootstrap.
14710
147112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14712
14713 Import ciphers from libgcrypt 1.4.4.
14714
14715 * lib/libgcrypt/cipher/ChangeLog
14716 * lib/libgcrypt/cipher/ac.c
14717 * lib/libgcrypt/cipher/arcfour.c
14718 * lib/libgcrypt/cipher/bithelp.h
14719 * lib/libgcrypt/cipher/blowfish.c
14720 * lib/libgcrypt/cipher/camellia-glue.c
14721 * lib/libgcrypt/cipher/camellia.c
14722 * lib/libgcrypt/cipher/camellia.h
14723 * lib/libgcrypt/cipher/cast5.c
14724 * lib/libgcrypt/cipher/cipher.c
14725 * lib/libgcrypt/cipher/crc.c
14726 * lib/libgcrypt/cipher/des.c
14727 * lib/libgcrypt/cipher/dsa.c
14728 * lib/libgcrypt/cipher/ecc.c
14729 * lib/libgcrypt/cipher/elgamal.c
14730 * lib/libgcrypt/cipher/hash-common.c
14731 * lib/libgcrypt/cipher/hash-common.h
14732 * lib/libgcrypt/cipher/hmac-tests.c
14733 * lib/libgcrypt/cipher/md.c
14734 * lib/libgcrypt/cipher/md4.c
14735 * lib/libgcrypt/cipher/md5.c
14736 * lib/libgcrypt/cipher/primegen.c
14737 * lib/libgcrypt/cipher/pubkey.c
14738 * lib/libgcrypt/cipher/rfc2268.c
14739 * lib/libgcrypt/cipher/rijndael-tables.h
14740 * lib/libgcrypt/cipher/rijndael.c
14741 * lib/libgcrypt/cipher/rmd.h
14742 * lib/libgcrypt/cipher/rmd160.c
14743 * lib/libgcrypt/cipher/rsa.c
14744 * lib/libgcrypt/cipher/seed.c
14745 * lib/libgcrypt/cipher/serpent.c
14746 * lib/libgcrypt/cipher/sha1.c
14747 * lib/libgcrypt/cipher/sha256.c
14748 * lib/libgcrypt/cipher/sha512.c
14749 * lib/libgcrypt/cipher/tiger.c
14750 * lib/libgcrypt/cipher/twofish.c
14751 * lib/libgcrypt/cipher/whirlpool.c
14752
af2f93ac
RM
147532009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14754
14755 Fix build for systems without error().
14756
14757 * gnulib/error.c: New file (imported from Gnulib).
14758 * gnulib/error.h: Likewise.
14759 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14760 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14761 (this variable is now used by error()).
14762
73fb3dd5
FZ
147632009-11-16 Felix Zielcke <fzielcke@z-51.de>
14764
814f5e96
FZ
14765 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14766 instead of relying that char is signed.
73fb3dd5 14767
a691ca33
VS
147682009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14771 blocksize different from specified.
14772 (grub_pxefs_read): Likewise.
14773
2af8f0f4
FZ
147742009-11-16 Felix Zielcke <fzielcke@z-51.de>
14775
14776 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14777
14778 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14779 (grub_ata_readwrite): Likewise. Update 2 format strings.
14780 (grub_atapi_read): Likewise.
14781
14782 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14783 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14784 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14785 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14786 (ata_mod_LDFLAGS): Move from here ...
14787 * conf/i386.rmk: ... to here ...
14788 * conf/x86_64-efi.rmk: ... and here.
14789 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14790 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14791
83bdecaf
RM
147922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14793
14794 Relicense multiboot.h, with RMS' blessing.
14795
14796 * include/multiboot.h: Change to X11 license.
14797
fd6fd3d7
RM
147982009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14799
14800 Support --version in grub-mkisofs.
14801
14802 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14803 (OPTION_VERSION): New macro.
14804 (ld_options): Recognize --version.
14805 (usage): Move `program_name' from here ...
14806 (program_name): ... to here. Add `static' qualifier.
14807 (main): Recognize `OPTION_VERSION'.
14808
16a88c49
FZ
148092009-11-15 Felix Zielcke <fzielcke@z-51.de>
14810
14811 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14812 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14813
a4158476
RM
148142009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14815
14816 Fix help2man generation for mkisofs.
14817
14818 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14819 (usage): Send output to stdout (rather than stderr).
14820
fc2208b0
RM
148212009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14822
14823 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14824 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14825 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14826 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14827 (bin_SCRIPTS): Add `grub-mkfloppy'.
14828 (grub_mkfloppy_SOURCES): New variable.
14829
14830 * util/grub-mkrescue.in: New file.
14831 * util/i386/pc/grub-mkfloppy.in: New file.
14832
14833 * util/i386/coreboot/grub-mkrescue.in: Remove.
14834 * util/i386/pc/grub-mkrescue.in: Remove.
14835
8d0edf4a
RM
148362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14837
14838 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14839 from here ...
14840 * include/multiboot.h (struct multiboot_header): ... to here. Update
14841 all users.
14842 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14843 from here ...
14844 * include/multiboot.h (struct multiboot_info): ... to here. Update
14845 all users.
14846 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14847 from here ...
14848 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14849 Update all users.
14850 * include/grub/multiboot.h (struct grub_mod_list): Move
14851 from here ...
14852 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14853 Update all users.
14854
a73f5969
RM
148552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14856
14857 * include/multiboot2.h (multiboot_word): Rename from this ...
14858 (multiboot2_word): ... to this. Update all users.
14859 (multiboot_header): Rename from this ...
14860 (multiboot2_header): ... to this. Update all users.
14861 (multiboot_tag_header): Rename from this ...
14862 (multiboot2_tag_header): ... to this. Update all users.
14863 (multiboot_tag_start): Rename from this ...
14864 (multiboot2_tag_start): ... to this. Update all users.
14865 (multiboot_tag_name): Rename from this ...
14866 (multiboot2_tag_name): ... to this. Update all users.
14867 (multiboot_tag_module): Rename from this ...
14868 (multiboot2_tag_module): ... to this. Update all users.
14869 (multiboot_tag_memory): Rename from this ...
14870 (multiboot2_tag_memory): ... to this. Update all users.
14871 (multiboot_tag_unused): Rename from this ...
14872 (multiboot2_tag_unused): ... to this. Update all users.
14873 (multiboot_tag_end): Rename from this ...
14874 (multiboot2_tag_end): ... to this. Update all users.
14875
1c8927f0
RM
148762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14877
14878 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14879 this platform we should support Multiboot1 first.
14880
14881 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14882 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14883 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14884
6e1e0d89
RM
148852009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14886
14887 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14888 of write calls (converting them to fwrite() if they aren't already).
14889 (get_torito_desc): Likewise.
14890 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14891
7f2b34d8
RM
148922009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14893
14894 * util/i386/pc/grub-install.in: Move from here ...
14895 * util/grub-install.in: ... to here. Update all users.
14896
c0ef3311
CW
148972009-11-11 Colin Watson <cjwatson@ubuntu.com>
14898
14899 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14900
e1f240ff
RM
149012009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14902
14903 Support for El Torito without floppy emulation.
14904
14905 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14906 (init_boot_catalog): Improve error handling.
14907 (get_torito_desc): Don't use floppy emulation unless requested by
14908 user. Patch boot information table when requested via
14909 `-boot-info-table'.
14910 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14911 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14912 (use_boot_info_table): New variables.
14913 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14914 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14915 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14916 `--eltorito-emul-floppy'.
14917 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14918 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14919 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14920 (use_boot_info_table, get_731): New prototypes.
14921 * util/mkisofs/write.c (get_731): New function.
14922
af7d4de5
FZ
149232009-11-11 Felix Zielcke <fzielcke@z-51.de>
14924
14925 Fix the generation of the man page.
14926
14927 * util/pc/i386/grub-install.in: Source
14928 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14929
2c55dbc0
RM
149302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14931
14932 Large file support for grub-mkisofs.
14933
14934 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14935 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14936 (session_start): Upgrade type to `uint64_t'. Update all users.
14937 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14938 (struct directory_entry): Upgrade type of `starting_block' and
14939 `size' to `uint64_t'. Update all users.
14940 (struct deferred): Remove unused structure.
14941 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14942 Update all users.
14943 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14944 file is larger than `UINT32_MAX'.
14945 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14946 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14947 return value.
14948 (struct deferred_write): Upgrade type of `extent' and `size' to
14949 `uint64_t'. Update all users.
14950 (last_extent_written): Upgrade type to `uint64_t'. Update all
14951 users.
14952 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14953 Update all users. Upgrade type of `remain' to `int64_t' and
14954 `use' to `size_t'. Use error() to handle fread() errors.
14955 (write_files): Rely on write_one_file() rather than calling
14956 xfwrite() directly.
14957
6a9cead5
FZ
149582009-11-09 Felix Zielcke <fzielcke@z-51.de>
14959
14960 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14961
4825d790
RM
149622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14963
14964 * util/mkisofs/fnmatch.c: Remove.
14965 * util/mkisofs/getopt1.c: Likewise.
14966 * util/mkisofs/getopt.c: Likewise.
14967 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14968 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14969 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14970 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14971 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14972
14973 * configure.ac: Detect `mingw32msvc' host_os.
14974 Check for lstat(), getuid() and getgid().
14975
14976 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14977 instances of `u_char' with `uint8_t'.
14978
14979 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14980 [!HAVE_GETUID] (getuid): New function (stub).
14981 [!HAVE_GETGID] (getgid): Likewise.
14982 [!HAVE_LSTAT] (lstat): Likewise.
14983 [!S_IROTH] (S_IROTH): New macro (dummy).
14984 [!S_IRGRP] (S_IRGRP): Likewise.
14985
84b860d8
RM
149862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14987
14988 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14989 conditional expression).
14990
66e9b712
RM
149912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14992
14993 Import from Gnulib.
14994
14995 * gnulib/fnmatch.c: New file.
14996 * gnulib/fnmatch.h: Likewise.
14997 * gnulib/fnmatch_loop.c: Likewise.
14998 * gnulib/getopt.c: Likewise.
14999 * gnulib/getopt.h: Likewise.
15000 * gnulib/getopt1.c: Likewise.
15001 * gnulib/getopt_int.h: Likewise.
15002 * gnulib/gettext.h: Likewise.
15003
34f4a5b0
RM
150042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15005
15006 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
15007 * normal/handler.c (read_handler_list): Likewise.
15008
ac451143
RM
150092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15010
15011 Misc cleanup.
15012
15013 * kern/command.c (grub_register_command_prio): Use
15014 grub_zalloc() instead of explicitly zeroing data.
15015 * kern/list.c: Include `<grub/mm.h>'.
15016 (grub_named_list_find): Replace `0' with `NULL'.
15017 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
15018 (fs_module_list): Change type to `grub_named_list_t'. Update all
15019 users.
15020 * normal/dyncmd.c (read_command_list): Add space between function
15021 call and parenthesis.
15022 * normal/handler.c (read_handler_list): Likewise.
15023
4089b167
RM
150242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15025
15026 * normal/auth.c (punishment_delay): Moved from here ...
15027 (grub_auth_strcmp): ... to here (inside function).
15028
325f5037
RM
150292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15030
15031 * include/grub/list.h (struct grub_named_list): Remove `const'
15032 qualifier from `name'.
15033 (struct grub_prio_list): Likewise.
15034
7aea29a3
RM
150352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15036
15037 * normal/auth.c: Include `<grub/time.h>'.
15038 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
15039
3fd6f044
RM
150402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15041
15042 * normal/auth.c (punishment_delay): New variable.
15043 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
15044 (grub_auth_check_authentication): Punish failed login attempts with
15045 an incremental (2^N) delay.
15046
a4cd68e4
RM
150472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15048
15049 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
15050 path with $(srcdir).
15051
7ad12f43
VS
150522009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
15055
c1129f03
RM
150562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15057
15058 * util/i386/coreboot/grub-mkrescue.in: New file.
15059 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
15060 variables.
15061
15062 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
15063 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
15064 * configure.ac: Add header and function checks to satisfy grub-mkisofs
15065 requirements.
15066 * util/mkisofs/defaults.h: New file.
15067 * util/mkisofs/eltorito.c: Likewise.
15068 * util/mkisofs/exclude.h: Likewise.
15069 * util/mkisofs/fnmatch.c: Likewise.
15070 * util/mkisofs/getopt.c: Likewise.
15071 * util/mkisofs/getopt1.c: Likewise.
15072 * util/mkisofs/hash.c: Likewise.
15073 * util/mkisofs/include/fctldefs.h: Likewise.
15074 * util/mkisofs/include/mconfig.h: Likewise.
15075 * util/mkisofs/include/prototyp.h: Likewise.
15076 * util/mkisofs/include/statdefs.h: Likewise.
15077 * util/mkisofs/iso9660.h: Likewise.
15078 * util/mkisofs/joliet.c: Likewise.
15079 * util/mkisofs/match.c: Likewise.
15080 * util/mkisofs/match.h: Likewise.
15081 * util/mkisofs/mkisofs.c: Likewise.
15082 * util/mkisofs/mkisofs.h: Likewise.
15083 * util/mkisofs/multi.c: Likewise.
15084 * util/mkisofs/name.c: Likewise.
15085 * util/mkisofs/rock.c: Likewise.
15086 * util/mkisofs/tree.c: Likewise.
15087 * util/mkisofs/write.c: Likewise.
15088
ec8bb77d
VS
150892009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
15092 being insecure.
15093
3716b12c
RM
150942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15095
15096 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
15097 `grub-mkimage' (and use $0 when possible).
15098
b97b7b91
RM
150992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15100
15101 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
15102 error message for excessively large memory map.
15103
04114812
RM
151042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15105
15106 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
15107 executable bit.
15108
e4eb2373
RM
151092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15110
15111 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
15112 message for coreboot users.
15113
c926e1d5 151142009-11-07 Robert Millan <rmh.grub@aybabtu.com>
15115
15116 Fix build with GNU gold.
15117
15118 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
15119 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
15120 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
15121 link addresses.
15122 * aclocal.m4: Likewise.
15123
86e5b1db 151242009-11-04 Felix Zielcke <fzielcke@z-51.de>
15125
15126 * configure.ac (AC_PREREQ): Bump to 2.59d.
15127 * INSTALL: Make it more clear when Autoconf and Ruby are
15128 needed and when to run `./autogen.sh'.
15129
246cd78f 151302009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
15131
15132 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
15133 OSes.
15134
4f9dfb37 151352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15136
15137 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
15138
b82bd5e1 151392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15140
15141 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
15142 giving it to GNU Mach.
15143
ff1a9bca 151442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15145
15146 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
15147 GNU partition number to get internal GRUB partition number.
15148
61697d9c 151492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15150
15151 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
15152 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
15153
a50569e1 151542009-11-01 Robert Millan <rmh.grub@aybabtu.com>
15155
15156 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
15157 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
15158 case.
15159
5b153867 151602009-11-01 Felix Zielcke <fzielcke@z-51.de>
15161
15162 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
15163
d9e2cd70 151642009-10-30 Robert Millan <rmh.grub@aybabtu.com>
15165
15166 Fix build problem.
15167
15168 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
15169 `-isystem=$(srcdir)/include'.
15170
805111a4 151712009-10-30 Robert Millan <rmh.grub@aybabtu.com>
15172
15173 * util/i386/pc/grub-install.in: Remove hint that device.map should be
15174 checked (grub-install doesn't currently rely on it).
15175
fa6e945f 151762009-10-29 Robert Millan <rmh.grub@aybabtu.com>
15177
15178 Revert SVN r2660.
15179
15180 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
15181 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15182 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
15183 * conf/i386-ieee1275.rmk: Likewise.
15184 * conf/i386-pc.rmk: Likewise.
15185 * conf/powerpc-ieee1275.rmk: Likewise.
15186 * conf/sparc64-ieee1275.rmk: Likewise.
15187 * conf/x86_64-efi.rmk: Likewise.
15188
cee15086 151892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15190
15191 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
15192
95b9239e 151932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15194
15195 * include/grub/misc.h: Stop checking for APPLE_CC.
15196
2ed19dfd 151972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15198
15199 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
15200 doesn't cause an infinite call loop.
15201
fdcdde19 152022009-10-28 Felix Zielcke <fzielcke@z-51.de>
15203
15204 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
15205 strings.
15206
cefabfe1 152072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15208
15209 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
15210 variable.
15211 * Makefile.in: Likewise.
15212
ed96ab6d 152132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15214
15215 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
15216
0579b753 152172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15218
15219 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
15220
478df409 152212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15222
15223 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
15224
083d1679 152252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15226
15227 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
15228 from here ...
15229 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
15230
5947ae32 152312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15232
15233 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
15234 in $(MAKEINFO) invocation. This makes it clear in output that
15235 errors are being ignored.
15236
94180ff6 152372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15238
15239 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
15240 from here ...
15241 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15242 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
15243 * conf/i386-ieee1275.rmk: Likewise.
15244 * conf/i386-pc.rmk: Likewise.
15245 * conf/powerpc-ieee1275.rmk: Likewise.
15246 * conf/sparc64-ieee1275.rmk: Likewise.
15247 * conf/x86_64-efi.rmk: Likewise.
15248
9031b03a 152492009-10-26 Colin Watson <cjwatson@ubuntu.com>
15250
15251 * util/grub-editenv.c (main): If only a command is given, use
15252 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
15253 (usage): FILENAME is now optional and has a default.
15254
e4f6809b 152552009-10-26 Colin Watson <cjwatson@ubuntu.com>
15256
15257 Improve grub-mkconfig performance when there are several menu
15258 entries on a single filesystem.
15259
15260 * util/grub.d/10_linux.in (linux_entry): Cache the output of
15261 prepare_grub_to_access_device.
15262 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15263 * util/grub.d/30_os-prober.in: Likewise.
15264
67937d4d 152652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15266
15267 * util/grub.d/10_freebsd.in: Remove.
15268 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
15269 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
15270
ee3756cc 152712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15272
5c35048e 15273 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 15274
4dea1c6f 152752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15276
15277 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
15278 grub_util_error() call.
15279
042484d7 152802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15281
15282 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
15283 `reserved_first_sector' member.
15284 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
15285 `reserved_first_sector' to 1.
15286 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
15287 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
15288 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
15289 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
15290 filesystems which begin at first sector.
15291 (options): New option --skip-fs-probe.
15292 (main): Handle --skip-fs-probe and pass it to setup().
15293
d64448a7 152942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15295
15296 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
15297 (memset): Fix function prototype.
15298
508d42ec 152992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
153002009-10-25 Vasily Averin <vvs@parallels.com>
15301
15302 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
15303 `dirent.direntlen == 0'.
15304
b240e30c 153052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15306
15307 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
15308 `cpio'.
15309 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
15310
346e7fbe 153112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15312
15313 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
15314 `__trampoline_setup' and `__ucmpdi2'.
15315 * include/grub/powerpc/libgcc.h: Only export symbols for functions
15316 that libgcc provides.
15317
cdb308b0 153182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15319
15320 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
15321 * include/grub/sparc64/libgcc.h (memset): Likewise.
15322 * include/grub/misc.h (memset, memcmp): New function prototypes.
15323
fb26abc2 153242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15325
15326 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
15327 `cpio'.
15328 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
15329
f6693890 153302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15331
15332 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
15333 * docs/grub.cfg: Compensate for recent change in multiboot
15334 loader (since 2009-08-14 it won't pass filename to payload).
15335 * util/grub.d/10_hurd.in: Likewise.
15336
0933cdc0 153372009-10-21 Felix Zielcke <fzielcke@z-51.de>
15338
15339 * config.guess: Update to latest version from config git
15340 repository.
15341 * config.sub: Likewise.
15342
3b2fe8c2 153432009-10-20 Robert Millan <rmh.grub@aybabtu.com>
15344
15345 Fix build on sparc64.
15346
15347 * configure.ac: Perform checks for libgcc symbols before
15348 adding `-nostdlib' to LDFLAGS.
15349
46695a62 153502009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 Let user specify OpenBSD root device.
15353
15354 * loader/i386/bsd.c (openbsd_root): New variable.
15355 (openbsd_opts): New option 'root'.
15356 (OPENBSD_ROOT_ARG): New macro.
15357 (grub_openbsd_boot): Use 'openbsd_root'.
15358 (grub_cmd_openbsd): Fill 'openbsd_root'.
15359
d2b6b7fc 153602009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15361
15362 * NEWS: Misc adjustments.
15363
421bd7ac 153642009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15367
f1d29d87 153682009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15369
15370 * configure.ac: Bump version to 1.97.
15371
6f3cd880 153722009-10-16 Colin Watson <cjwatson@ubuntu.com>
15373
15374 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15375 -mno-3dnow on x86 architectures. Some toolchains enable these
15376 features by default, but they rely on registers that aren't enabled
15377 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15378
035f7122 153792009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15380
15381 Make entry text a bit more readable.
15382
15383 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15384
44998e58 153852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15388
cd2851b3 153892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15392 operations.
15393
c6f3b249 153942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * configure.ac: Add missing dollar.
15397
6b5886ba 153982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15401
15402 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15403 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15404 exports.
15405 * include/grub/sparc64/libgcc.h: Likewise. Use
15406 preprocessor conditionals.
15407
e9d66f6d 154082009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15409
15410 * conf/common.rmk (grub-dumpbios): Remove rule.
15411 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15412 * util/grub-dumpbios.in: Remove file.
15413
9155bc17 154142009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15415
15416 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15417 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15418
15419 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15420 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15421 users.
15422
15423 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15424 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15425 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15426 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15427 users.
15428
bf7f7a18 154292009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15430
15431 * term/tparm.c: Switch to GPLv3.
15432
86564c26 154332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15434
15435 * include/grub/i386/cpuid.h: Add header protection.
15436
5c936493 154372009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15438
15439 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15440
15441 * include/grub/i386/cpuid.h: New file.
15442 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15443 (has_longmode): Rename to ...
15444 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15445 `static' attribute.
15446 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15447 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15448 on a CPU that doesn't implement AMD64 instruction set.
15449
186e7cf2 154502009-10-06 Colin Watson <cjwatson@ubuntu.com>
15451
15452 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15453 that version.texi is rebuilt on version number changes.
15454
83b65c4a 154552009-10-06 Colin Watson <cjwatson@ubuntu.com>
15456
15457 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15458 Fixes bug #27602.
15459
d244281c 154602009-10-06 Colin Watson <cjwatson@ubuntu.com>
15461
15462 * util/i386/pc/grub-install.in: Source
15463 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15464 that the --grub-probe option will work.
15465 * util/sparc64/ieee1275/grub-install.in: Likewise.
15466
da25306d 154672009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15468
15469 * configure.ac: Bump version to 1.97~beta4.
15470
e8ee83c0 154712009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15472
15473 Resync grub-mkdevicemap in x86_64-efi.
15474
15475 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15476 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15477 `util/devicemap.c'.
15478
50dcabcf 154792009-10-01 Colin Watson <cjwatson@ubuntu.com>
15480
15481 * util/grub-editenv.c (create_envblk_file): Write new block with a
15482 .new suffix and then rename it into place, to ensure atomic
15483 creation.
15484
0e51c3a7 154852009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15486
15487 Do not automatically install headers.
15488
15489 * Makefile.in (include_DATA): Remove. Update all users.
15490
31299a95 154912009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15492
15493 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15494 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15495
15496 * util/osdetect.lua: Remove.
15497 * script/lua/lauxlib.c: Likewise.
15498 * script/lua/ldebug.c: Likewise.
15499 * script/lua/grub_main.c: Likewise.
15500 * script/lua/lauxlib.h: Likewise.
15501 * script/lua/ldebug.h: Likewise.
15502 * script/lua/ltablib.c: Likewise.
15503 * script/lua/liolib.c: Likewise.
15504 * script/lua/lstrlib.c: Likewise.
15505 * script/lua/lualib.h: Likewise.
15506 * script/lua/ldo.c: Likewise.
15507 * script/lua/ldump.c: Likewise.
15508 * script/lua/ldo.h: Likewise.
15509 * script/lua/loslib.c: Likewise.
15510 * script/lua/lundump.c: Likewise.
15511 * script/lua/grub_lib.c: Likewise.
15512 * script/lua/ldblib.c: Likewise.
15513 * script/lua/lundump.h: Likewise.
15514 * script/lua/lmem.c: Likewise.
15515 * script/lua/grub_lib.h: Likewise.
15516 * script/lua/lmathlib.c: Likewise.
15517 * script/lua/lstate.c: Likewise.
15518 * script/lua/ltm.c: Likewise.
15519 * script/lua/lvm.c: Likewise.
15520 * script/lua/lmem.h: Likewise.
15521 * script/lua/lstate.h: Likewise.
15522 * script/lua/ltm.h: Likewise.
15523 * script/lua/ltable.c: Likewise.
15524 * script/lua/lvm.h: Likewise.
15525 * script/lua/llex.c: Likewise.
15526 * script/lua/lgc.c: Likewise.
15527 * script/lua/grub_lua.h: Likewise.
15528 * script/lua/loadlib.c: Likewise.
15529 * script/lua/lfunc.c: Likewise.
15530 * script/lua/lopcodes.c: Likewise.
15531 * script/lua/lparser.c: Likewise.
15532 * script/lua/ltable.h: Likewise.
15533 * script/lua/llex.h: Likewise.
15534 * script/lua/lgc.h: Likewise.
15535 * script/lua/lfunc.h: Likewise.
15536 * script/lua/lbaselib.c: Likewise.
15537 * script/lua/lopcodes.h: Likewise.
15538 * script/lua/lparser.h: Likewise.
15539 * script/lua/lzio.c: Likewise.
15540 * script/lua/linit.c: Likewise.
15541 * script/lua/lobject.c: Likewise.
15542 * script/lua/llimits.h: Likewise.
15543 * script/lua/lstring.c: Likewise.
15544 * script/lua/lzio.h: Likewise.
15545 * script/lua/lapi.c: Likewise.
15546 * script/lua/lcode.c: Likewise.
15547 * script/lua/lua.h: Likewise.
15548 * script/lua/lobject.h: Likewise.
15549 * script/lua/lstring.h: Likewise.
15550 * script/lua/lapi.h: Likewise.
15551 * script/lua/lcode.h: Likewise.
15552 * script/lua/luaconf.h: Likewise.
15553
cb8a2c38 155542009-09-26 Colin Watson <cjwatson@ubuntu.com>
15555
15556 * docs/grub.texi (Command-line and menu entry commands): Document
15557 date and echo commands.
15558
6b9b6276 155592009-09-24 Pavel Roskin <proski@gnu.org>
15560
15561 * include/grub/kernel.h (struct grub_module_header): Remove
15562 `grub_module_header_types'. Make `type' unsigned. Make `size'
15563 32-bit on all platforms.
15564 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15565 8-bit field. Use grub_host_to_target32() for `size'.
15566 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15567 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15568 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15569
4e5a02a7 155702009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15571
15572 Fix "lost keypress" bug in at_keyboard.
15573
15574 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15575 Checks for readyness of input buffer (without flushing it).
15576 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15577 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15578
c6dcedf6 155792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15580
15581 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15582 size check within GRUB_MACHINE_PCBIOS section.
15583
74c958b1 155842009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15585
15586 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15587 return value.
15588 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15589 KEYBOARD_ISREADY check.
15590 (grub_at_keyboard_checkkey): Rename to ...
15591 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15592 Remove gratuitous cast.
15593
ff420223 155942009-09-23 Colin Watson <cjwatson@ubuntu.com>
15595
15596 * configure.ac: Call AC_PROG_MKDIR_P.
15597 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15598 version.texi in $(builddir) rather than $(srcdir).
15599 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15600 to makeinfo's @include search path.
15601
d96875df 156022009-09-23 Felix Zielcke <fzielcke@z-51.de>
15603
15604 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15605
9b3f8365 156062009-09-23 Felix Zielcke <fzielcke@z-51.de>
15607
15608 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15609 for `*.dpkg-new'.
15610
c44c90db 156112009-09-21 Colin Watson <cjwatson@ubuntu.com>
15612
15613 Build info documentation. Some code borrowed from Automake.
15614
15615 * configure.ac: Check for makeinfo.
15616 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15617 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15618 docs/version.texi.
15619 (MOSTLYCLEANFILES): Add vti.tmp.
15620 (docs/version.texi, docs/stamp-vti): Update automatically.
15621 (docs/grub.info): Build info documentation. Use --force and ignore
15622 errors for now.
15623 (all-local): Add $(INFOS).
15624 (install-local): Install info files.
15625 (uninstall): Uninstall info files.
15626 * docs/version.texi: Remove from revision control. This file is
15627 automatically generated on build now.
15628 * gendistlist.sh: Add `*.info'.
15629
e0b37bb5 156302009-09-21 Felix Zielcke <fzielcke@z-51.de>
15631
15632 * kern/term.c: Fix indentation.
15633
5a78865b 156342009-09-21 Felix Zielcke <fzielcke@z-51.de>
15635
15636 * util/hostdisk.c: Fix a comment.
15637
dace7e8a 156382009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15639
15640 Fix regression introduced in r2539.
15641
15642 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15643 to 0xA1.
15644
a83d079b 156452009-09-19 Colin Watson <cjwatson@ubuntu.com>
15646
15647 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 15648 os-prober. Under normal operation, it does not print anything to
15649 stderr; if it does, we need to debug it, and throwing away stderr
15650 makes that excessively difficult.
a83d079b 15651
be94a509 156522009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15655
63f745e8 156562009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15657
15658 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15659 AC_LANG_PROGRAM from autoconf.
15660 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15661 prototypes (fixes warning).
15662
15663 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15664 `--disable-werror' was used.
15665
bbb2a70f 156662009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15667
15668 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15669 uninitialized `lastaddr'.
15670
77c24f1d 156712009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15672
0f0b8c87 15673 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 15674
07197f23 156752009-09-14 Colin Watson <cjwatson@ubuntu.com>
15676
15677 * commands/test.c (get_fileinfo): Return immediately if
15678 grub_fs_probe fails.
15679
dabf1798 156802009-09-14 José Martínez <xosemp@gmail.com>
15681
15682 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15683
d52109a7 156842009-09-14 Colin Watson <cjwatson@ubuntu.com>
15685
15686 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15687 output.
15688
56532179 156892009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15690
15691 * configure.ac: Remove --enable-grub-pe2elf. Only build
15692 grub-pe2elf when needed by the build system itself.
15693 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15694
8ef070f5 156952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15696
15697 * configure.ac: Bump version to 1.97~beta3.
15698 * docs/version.texi: Likewise.
15699
61229557 157002009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15701
15702 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15703 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15704 from here ...
15705 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15706 (grub_linux_setup_video): ... to here (with some adjustments).
15707
5c9f8d84 157082009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15709
15710 Fix memory corruption issue (spotted by Colin Watson).
15711
15712 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15713 causing returned size to be stored in an incorrect memory location.
15714 Fix use of uninitialized value when storing the returned size.
15715
e8f5d6e9 157162009-09-12 Yves Blusseau <blusseau@zetam.org>
15717
15718 Change clean rules to properly remove files
15719
15720 * genmk.rb: add new clean rules
15721 * Makefile.in (clean): add the new targets
15722 (mostlyclean): likewise
15723
cda2a409 157242009-09-11 Colin Watson <cjwatson@ubuntu.com>
15725
15726 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15727 to grub_uint64_t.
15728 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15729 non-resident files.
15730
86695375 157312009-09-11 Colin Watson <cjwatson@ubuntu.com>
15732
15733 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15734 part of bug #27349.
15735
8aa1541a 157362009-09-10 Felix Zielcke <fzielcke@z-51.de>
15737
15738 * util/grub-mkconfig.in: Make the created config mode 400 and
15739 print a warning if it fails.
15740
48d9bb0a 157412009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15742
15743 * util/grub.d/40_custom.in: Ask user to type custom entries below
15744 comment, rather than below 'exec tail' line.
15745
3b0521be 157462009-09-10 Colin Watson <cjwatson@ubuntu.com>
15747
15748 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15749 visible in grub.cfg.
15750
50051d55 157512009-09-10 Colin Watson <cjwatson@ubuntu.com>
15752
15753 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15754 file.
15755
c0d34387 157562009-09-10 Felix Zielcke <fzielcke@z-51.de>
15757
15758 * docs/grub.cfg: Add an example menu entry for memtest86+.
15759
80a608f3 157602009-09-09 Felix Zielcke <fzielcke@z-51.de>
15761
a2094832 15762 * config.guess: Update to latest version from config git.
80a608f3 15763 * config.sub: Likewise.
15764
99423078 157652009-09-08 Colin Watson <cjwatson@ubuntu.com>
15766
15767 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15768 unknown-command case. Fixes bug #27320.
15769
44454e4c 157702009-09-08 Felix Zielcke <fzielcke@z-51.de>
15771
15772 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15773 `help' if the command exists.
15774
e30d87ad 157752009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15776
15777 * INSTALL: Require GCC 4.1.3 or later.
15778
9a86f1ec 157792009-09-06 Yves Blusseau <blusseau@zetam.org>
15780
15781 * Makefile.in (RMKFILES): add i386-qemu.rmk
15782 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15783 $(srcdir)/stamp-h.in
15784
7f26d466 157852009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15786
15787 * util/grub-probe.c (probe): Comment out buggy codepath, which
15788 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15789 should be re-enabled after 1.97.
15790
3a613259 157912009-09-05 Felix Zielcke <fzielcke@z-51.de>
15792
15793 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15794 find searches for.
15795
197f76c7 157962009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15799 unnecessary calls to grub_error.
15800
70ba68ce 158012009-09-04 Colin Watson <cjwatson@ubuntu.com>
15802
15803 * NEWS: Mention `keystatus' and Unicode fonts.
15804
4ff0d7a4 158052009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15806
15807 * configure.ac: Bump version to 1.97~beta2.
15808 * docs/version.texi: Likewise.
15809
77c55a87 158102009-09-03 Colin Watson <cjwatson@ubuntu.com>
15811
15812 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15813 containing unwind information in some cases where it previously did
15814 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15815 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15816 discussion.
15817
f79572cd 158182009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15819
15820 Embedding loadenv module into grub-emu
15821
15822 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15823 commands/loadenv.c
15824 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15825 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15826 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15828 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15829 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15830
93a81088 158312009-09-03 Magnus Granberg <zorry@ume.nu>
15832
15833 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15834 include -fPIE in the default specs.
15835 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15836 to TARGET_CFLAGS.
15837
160034b2 158382009-09-03 Felix Zielcke <fzielcke@z-51.de>
15839
15840 * INSTALL: Note that GNU Bison 2.3 or later is required.
15841
087c07c4 158422009-09-03 Colin Watson <cjwatson@ubuntu.com>
15843
15844 * kern/i386/pc/startup.S: Fix typo.
15845
cbf978c0 158462009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15849 according to GCS.
15850
158512009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 15852
15853 * docs/grub.texi (Naming convention): Describe one-based partition
15854 numbering.
15855 (Device syntax): Likewise.
15856 (File name syntax): Likewise.
15857 (Block list syntax): Likewise.
15858 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15859 menu.lst.
15860 (File name syntax): Likewise.
15861 (Command-line and menu entry commands): Document acpi, blocklist,
15862 crc, export, insmod, keystatus, ls, set, and unset commands.
15863
f3e8cdfd 158642009-09-02 Colin Watson <cjwatson@ubuntu.com>
15865
15866 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15867 to avoid implying that only one of --shift, --ctrl, or --alt may be
15868 used.
15869
c0bc232b 158702009-09-02 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15873 rather than comparing against S_IFREG, which will almost never work.
15874
aa0f752d 158752009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15878 (write_blocklists): Likewise.
15879
ecb3166a 158802009-09-01 Colin Watson <cjwatson@ubuntu.com>
15881
15882 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15883 argument to grub_printf.
15884
c403a125 158852009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 15886
15887 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 15888 non GNU test.
31aba781 15889
b5e7312c 158902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 * kern/file.c (grub_file_read): Spelling fix
15893
fe00f472 158942009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15897 loading of headers in some cases.
15898
cc55302e 158992009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15900
15901 * configure.ac: Bump version to 1.97~beta1.
15902 * docs/version.texi: Likewise.
15903
5c90cdd2 159042009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 15905
15906 * include/grub/i386/xnu.h: Add license header.
15907 include grub/err.h explicitly.
15908
c90edae4 159092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15910
15911 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15912 to `ufs' in the vfs.root.mountfrom kernel parameter.
15913
d8888b5c 159142009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15915
15916 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15917
15918 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15919 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15920
15921 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15922 `ARRAY_SIZE' macro.
15923
6f07b921 159242009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * kern/file.c (grub_file_read): Check offset.
15927 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15928 * fs/jfs.c (grub_jfs_read_file): Likewise.
15929 * fs/ntfs.c (grub_ntfs_read): Likewise.
15930 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15931 * fs/minix.c (grub_minix_read_file): Correct offset check.
15932 * fs/ufs.c (grub_ufs_read_file): Likewise.
15933
b4f34077 159342009-08-28 Colin Watson <cjwatson@ubuntu.com>
15935
15936 * term/i386/pc/console.c (bios_data_area): Cast
15937 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15938
e7c69859 159392009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 1-bit optimised blitters.
15942
15943 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15944 prototype.
15945 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15946 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15947 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15948 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15949 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15950 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15951 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15952 function.
15953 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15954 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15955 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15956 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15957 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15958 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15959 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15960 when possible.
15961 * video/video.c (grub_video_get_blit_format): Return
15962 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15963
a57da43f 159642009-08-28 Colin Watson <cjwatson@ubuntu.com>
15965
15966 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15967 the first argument to grub_printf.
15968
4cbe67e5 159692009-08-28 Colin Watson <cjwatson@ubuntu.com>
159702009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15971
15972 Add `getkeystatus' terminal method. Add a new `keystatus' command
15973 to query it.
15974
15975 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15976 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15977 modifier key bitmasks.
15978 (struct grub_term_input): Add `getkeystatus' member.
15979 (grub_getkeystatus): Add prototype.
15980 * kern/term.c (grub_getkeystatus): New function.
15981
15982 * include/grub/i386/pc/memory.h
15983 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15984 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15985 Data Area layout.
15986 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15987 (grub_console_term_input): Set `getkeystatus' member.
15988 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15989 constants.
15990 (grub_usb_keyboard_getreport): Likewise.
15991 (grub_usb_keyboard_checkkey): Likewise.
15992 (grub_usb_keyboard_getkeystatus): New function.
15993 (grub_usb_keyboard_term): Set `getkeystatus' member.
15994
15995 * commands/keystatus.c: New file.
15996 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15997 (keystatus_mod_SOURCES): New variable.
15998 (keystatus_mod_CFLAGS): Likewise.
15999 (keystatus_mod_LDFLAGS): Likewise.
16000 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
16001 commands/keystatus.c.
16002 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16003 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16004 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16007 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 16008
6e2a9085 160092009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 Split befs.mod and afs.mod into *_be.mod and *.mod
16012
16013 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
16014 (grub_fstest_SOURCES): Likewise.
16015 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
16016 (afs_be_mod_SOURCES): New variable.
16017 (afs_be_mod_CFLAGS): Likewise.
16018 (afs_be_mod_LDFLAGS): Likewise.
16019 (befs_be_mod_SOURCES): Likewise.
16020 (befs_be_mod_CFLAGS): Likewise.
16021 (befs_be_mod_LDFLAGS): Likewise.
16022 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
16023 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16024 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16025 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16026 (grub_emu_SOURCES): Likewise.
16027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16028 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16029 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16030 * fs/afs_be.c: New file.
16031 * fs/befs_be.c: New file.
16032 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
16033 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
16034 (U16): Replaced with ...
16035 (grub_afs_to_cpu16): ...this. All users updated.
16036 (U32): Replaced with ...
16037 (grub_afs_to_cpu32): ...this. All users updated.
16038 (U64): Replaced with ...
16039 (grub_afs_to_cpu64): ...this. All users updated.
16040 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
16041 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 16042 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 16043 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
16044 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
16045 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
16046 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
16047 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
16048 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
16049 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
16050 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
16051
32a71655 160522009-08-26 Bean <bean123ch@gmail.com>
16053
16054 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
16055 64-bit number.
16056 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16057 (grub_xfs_inode_block): Change return type to grub_uint64_t.
16058 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
16059
552bf6c5 160602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 NetBSD memory map support.
16063
16064 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
16065 (grub_netbsd_btinfo_mmap_header): New structure.
16066 (grub_netbsd_btinfo_mmap_entry): Likewise.
16067 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
16068
1ae2078c 160692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 Enable bsd.mod on coreboot.
16072
16073 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
16074 (bsd_mod_SOURCES): New variable.
16075 (bsd_mod_CFLAGS): Likewise.
16076 (bsd_mod_LDFLAGS): Likewise.
16077 (bsd_mod_ASFLAGS): Likewise.
16078 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
16079 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
16080
beefc598 160812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 Cleanup NetBSD root support.
16084
16085 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
16086 grub_bsd_get_device.
16087 Fix typo.
16088
3b76e68b 160892009-08-25 Felix Zielcke <fzielcke@z-51.de>
16090
16091 * util/grub.d/00_header.in: Move check for the video backend of
16092 gfxterm from here ...
16093 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
16094 a suitable video backend.
16095
aea664ea 160962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 Fix breakage in grub-setup.
16099
16100 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
16101 "msdos_partition_map".
16102
ff747d50 161032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 Fix breakage in normal/auth.c.
16106
16107 * normal/auth.c (grub_iswordseparator): New function.
16108
e7e1f93f 161092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 Authentication support.
16112
16113 * commands/password.c: New file.
16114 * conf/common.rmk (pkglib_MODULES): Add password.mod.
16115 (password_mod_SOURCES): New variable.
16116 (password_mod_CFLAGS): Likewise.
16117 (password_mod_LDFLAGS): Likewise.
16118 (normal_mod_SOURCES): Add normal/auth.c.
16119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
16120 normal/auth.c.
16121 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16122 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16123 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16125 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16127 * include/grub/auth.h: New file.
16128 * include/grub/err.h (grub_err_t): New enum value
16129 GRUB_ERR_ACCESS_DENIED.
16130 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
16131 'users'.
16132 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
16133 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
16134 users updated.
16135 * normal/auth.c: New file.
16136 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
16137 (grub_cmdline_run): Don't allow to go to command line without
16138 authentication.
16139 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
16140 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
16141 menuentry without superuser rights.
16142 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
16143 user isn't a superuser.
16144
70f1161d 161452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 Save space by inlining misc.c functions.
16148
16149 * kern/misc.c (grub_iswordseparator): Made static.
16150 * kern/misc.c (grub_strcat): Moved from here ...
16151 * include/grub/misc.h (grub_strcat): ... here. Inlined.
16152 * kern/misc.c (grub_strncat): Moved from here ...
16153 * include/grub/misc.h (grub_strncat): ... here. Inlined.
16154 * kern/misc.c (grub_strcasecmp): Moved from here ...
16155 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
16156 * kern/misc.c (grub_strncasecmp): Moved from here ...
16157 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
16158 * kern/misc.c (grub_isalpha): Moved from here ...
16159 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
16160 * kern/misc.c (grub_isdigit): Moved from here ...
16161 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
16162 * kern/misc.c (grub_isgraph): Moved from here ...
16163 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
16164 * kern/misc.c (grub_tolower): Moved from here ...
16165 * include/grub/misc.h (grub_tolower): ... here. Inlined.
16166
48e40bff 161672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 * script/sh/function.c (grub_script_function_find): Cut error message
16170 not to flood terminal.
16171 * script/sh/lexer.c (grub_script_yylex): Remove command line length
16172 limit.
16173 * script/sh/script.c (grub_script_arg_add): Duplicate string.
16174
c385bfc3 161752009-08-24 Colin Watson <cjwatson@ubuntu.com>
16176
16177 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
16178 `report' grub_uint8_t *.
16179 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
16180 Use a 50-millisecond timeout rather than just repeating
16181 grub_usb_keyboard_getreport 50 times.
16182 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
16183
2d21e3e8 161842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 Rename *_partition_map to part_*
16187
16188 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
16189 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
16190 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
16191 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
16192 All users updated.
16193 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
16194 All users updated.
16195 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
16196 * util/grub-probe.c (probe_partmap): Don't transform partition name
16197 to get module name.
16198
dd103c4e 161992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16200
16201 Fix OpenBSD and NetBSD support.
16202
16203 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
16204 memory address conflict.
16205 (OPENBSD_MMAP_ACPI): New definition.
16206 (OPENBSD_MMAP_NVS): Likewise.
16207 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
16208 and OPENBSD_MMAP_NVS.
16209 Add memory map terminator
16210 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 16211 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 16212
16c84d74 162132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 Let user specify NetBSD root device.
16216
16217 * loader/i386/bsd.c (netbsd_root): New variable.
16218 (netbsd_opts): New option 'root'.
16219 (NETBSD_ROOT_ARG): New macro.
16220 (grub_netbsd_boot): Use 'netbsd_root'.
16221 (grub_bsd_unload): Free 'netbsd_root'.
16222 (grub_cmd_netbsd): Fill 'netbsd_root'.
16223
adb29902 162242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16225
16226 Support for 64-bit NetBSD.
16227
16228 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
16229 point when booting non-FreeBSD.
16230
f5ae9f74 162312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 Support --no-smp and --no-acpi for NetBSD.
16234
16235 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
16236 (NETBSD_AB_NOACPI): Likewise.
16237 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
16238 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
16239
de74f136 162402009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
16243 errors.
16244 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
16245 errors. Call grub_error when needed.
16246
e9a925da 162472009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * commands/search.c (search_fs): Try searching without autoload first.
16250 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16251 filesystem module explicitly for faster booting.
16252
5174302b 162532009-08-23 Colin Watson <cjwatson@ubuntu.com>
16254
16255 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
16256
c8c80635 162572009-08-23 Colin Watson <cjwatson@ubuntu.com>
16258
16259 * util/grub.d/30_os-prober.in: Disable os-prober if
16260 `GRUB_DISABLE_OS_PROBER' was set to true.
16261
71acf5e5 162622009-08-23 Robert Millan <rmh.grub@aybabtu.com>
16263
16264 * partmap/pc.c: Rename to ...
16265 * partmap/msdos.c: ... this. Update all users.
16266 (grub_pc_partition_map): Rename to ...
16267 (grub_msdos_partition_map): ... this. Update all users.
16268
16269 * parttool/pcpart.c: Rename to ...
16270 * parttool/msdospart.c: ... this. Update all users.
16271
16272 * include/grub/pc_partition.h: Rename to ...
16273 * include/grub/msdos_partition.h: ... this. Update all users.
16274 (grub_pc_partition_bsd_entry): Rename to ...
16275 (grub_msdos_partition_bsd_entry): ... this. Update all users.
16276 (grub_pc_partition_disk_label): Rename to ...
16277 (grub_msdos_partition_disk_label): ... this. Update all users.
16278 (grub_pc_partition_entry): Rename to ...
16279 (grub_msdos_partition_entry): ... this. Update all users.
16280 (grub_pc_partition_mbr): Rename to ...
16281 (grub_msdos_partition_mbr): ... this. Update all users.
16282 (grub_pc_partition): Rename to ...
16283 (grub_msdos_partition): ... this. Update all users.
16284 (grub_pc_partition_is_empty): Rename to ...
16285 (grub_msdos_partition_is_empty): ... this. Update all users.
16286 (grub_pc_partition_is_extended): Rename to ...
16287 (grub_msdos_partition_is_extended): ... this. Update all users.
16288 (grub_pc_partition_is_bsd): Rename to ...
16289 (grub_msdos_partition_is_bsd): ... this. Update all users.
16290
16291 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
16292 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
16293 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
16294 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
16295 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
16296 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
16297 (gpt_mod_LDFLAGS): Rename to ...
16298 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
16299 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
16300 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
16301 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
16302 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
16303 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
16304 (part_gpt_mod_LDFLAGS): ... this.
16305 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
16306 `pcpart.mod' to `msdospart.mod'.
16307 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
16308 to ...
16309 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
16310 (msdospart_mod_LDFLAGS): ... this.
16311
c11fded5 163122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
16315 (openbsd_opts): Likewise.
16316 (netbsd_opts): Likewise.
16317 (freebsd_flags): Added 0 terminator.
16318 (openbsd_flags): Likewise.
16319 (netbsd_flags): Likewise.
16320 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
16321 (grub_cmd_freebsd): Transformed into extended command.
16322 (grub_cmd_openbsd): Likewise.
16323 (grub_cmd_netbsd): Likewise.
16324 (cmd_freebsd): Changed type to grub_extcmd_t.
16325 (cmd_openbsd): Likewise.
16326 (cmd_netbsd): Likewise.
16327 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
16328 grub_cmd_openbsd as extended commands.
16329 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
16330 cmd_netbsd and cmd_openbsd
16331
11d1c769 163322009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
16335
7a9094e5 163362009-08-21 Pavel Roskin <proski@gnu.org>
16337
5496c37e 16338 * Makefile.in (install-local): When checking if a file is in the
16339 build directory, use "test -e" to detect symlinks.
16340
7a9094e5 16341 * Makefile.in (install-local): Remove all files in
16342 $(DESTDIR)$(pkglibdir) before installing new files there.
16343
e53cea11 163442009-08-18 Felix Zielcke <fzielcke@z-51.de>
16345
16346 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16347 grub-mkelfimage.
16348
9aced544 163492009-08-18 Felix Zielcke <fzielcke@z-51.de>
16350
16351 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16352 explicitly specified by the user.
16353
b7da6bab 163542009-08-18 Pavel Roskin <proski@gnu.org>
16355
16356 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16357 grub_uint8_t pointer for data.
16358 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16359 Likewise.
16360 * video/fb/fbutil.c: Remove unnecessary casts.
16361
19f1b335 163622009-08-17 Michal Suchanek <hramrach@centrum.cz>
16363
16364 VBE cleanup.
16365
16366 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16367 (grub_vbe_set_video_mode): Save active mode info
16368 only after setting the mode.
16369 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16370 second argument.
16371
2f467aa9 163722009-08-17 Michal Suchanek <hramrach@centrum.cz>
16373
16374 Rename variables for clarity.
16375
16376 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16377 (active_vbe_mode_info): ... this. All users updated.
16378 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16379 All users updated.
16380 (initial_mode): Rename to ...
16381 (initial_vbe_mode): ... this. All users updated.
16382 (mode_in_use): Rename to ..
16383 (vbe_mode_in_use): ... this. All users updated.
16384 (mode_list): Rename to ..
16385 (vbe_mode_list): ... this. All users updated.
16386 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16387 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16388 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16389 'mode_list_size' to 'vbe_mode_list_size'.
16390 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16391 'best_mode_info' to 'best_vbe_mode_info' and
16392 'best_mode' to 'best_vbe_mode'
16393
6025fcd7 163942009-08-17 Michal Suchanek <hramrach@centrum.cz>
16395
16396 Remove duplicate grub_video_fb_get_video_ptr.
16397
16398 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16399 (grub_video_fb_get_video_ptr): ... this.
16400 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16401 * video/fb/fbutil.c: Add comment about addressing.
16402 (get_data_ptr): Rename to ...
16403 (grub_video_fb_get_video_ptr): ... this. All users updated.
16404 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16405
cc8c6faf 164062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16407
16408 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16409 grub_dprintf() that was just added.
16410
08aa61f0 164112009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16412
16413 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16414 (DEFAULT_VIDEO_MODE): Remove macros.
16415 (grub_linux_boot): Remove assumption that Linux has FB support,
16416 and use "text" as default video mode.
16417
7cef4f75 164182009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16421 grub_dprintf.
16422 * fs/fat.c (grub_fat_read_data): Likewise.
16423
e1f39873 164242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16427 payload.
16428 (grub_module): Likewise.
16429
c166d79e 164302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16433 mbi->cmdline but free playground.
16434
c60cee8e 164352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16436
16437 Handle group offset on UFS1.
16438
16439 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16440 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16441
c0d8b5d4 164422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 Split ufs.mod into ufs1.mod and ufs2.mod.
16445
16446 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16447 (grub_fstest_SOURCES): Likewise.
16448 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16449 (ufs_mod_SOURCES): Remove.
16450 (ufs_mod_CFLAGS): Likewise.
16451 (ufs_mod_LDFLAGS): Likewise.
16452 (ufs1_mod_SOURCES): New variable.
16453 (ufs1_mod_CFLAGS): Likewise.
16454 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 16455 (ufs2_mod_SOURCES): New variable.
16456 (ufs2_mod_CFLAGS): Likewise.
16457 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 16458 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16459 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16460 Likewise.
16461 (grub_emu_SOURCES): Likewise.
16462 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16463 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16464 (grub_setup_SOURCES): Likewise.
16465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16466 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16467 (grub_setup_SOURCES): Likewise.
16468 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16469 Likewise.
16470 * fs/ufs2.c: New file.
16471 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16472
d3539132 164732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Framebuffer split.
16476
16477 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16478 subsystem at the end.
16479 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16480 (video_fb_mod_SOURCES): New variable.
16481 (video_fb_mod_CFLAGS): Likewise.
16482 (video_fb_mod_LDFLAGS): Likewise.
16483 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16484 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16485 * video/i386/pc/vbeblit.c: Moved from here ...
16486 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16487 * video/i386/pc/vbefill.c: Moved from here ...
16488 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16489 * video/i386/pc/vbeutil.c: Moved from here ...
16490 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16491 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16492 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16493 * include/grub/i386/pc/vbefill.h: Moved from here ...
16494 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16495 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16496 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16497 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16498 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16499 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16500 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16501 (grub_video_adapter): Added 'get_info_and_fini'.
16502 (grub_video_get_info_and_fini): New prototype.
16503 (grub_video_set_mode): make modestring const char *.
16504 * loader/i386/linux.c (grub_linux_setup_video): Use
16505 grub_video_get_info_and_fini.
16506 (grub_linux_boot): Move modesetting just before booting.
16507 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16508 grub_video_get_info_and_fini.
16509 * video/i386/pc/vbe.c: Moved framebuffer part ...
16510 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16511 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16512 grub_video_fbstd_colors and grub_video_fb_set_palette.
16513 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16514 grub_video_fb_init.
16515 (grub_video_vbe_fini): Use grub_video_fb_fini.
16516 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16517 render_target and use grub_video_fb_set_active_render_target and
16518 grub_video_fb_set_palette.
16519 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16520 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16521 (grub_video_vbe_adapter): Use framebuffer.
16522 * video/video.c (grub_video_get_info_and_fini): New function.
16523 (grub_video_set_mode): Make modestring const char *.
16524 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16525 values are already initialised.
16526
d404ee56 165272009-08-14 Pavel Roskin <proski@gnu.org>
16528
16529 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16530 ABS and APPLE_CC.
16531 * boot/i386/pc/diskboot.S: Likewise.
16532 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16533 sectors allow compilation on MacOSX.
16534 * conf/i386-pc.rmk: Enable unconditional compilation of
16535 lnxboot.img.
16536
9a10df16 165372009-08-13 Colin Watson <cjwatson@ubuntu.com>
16538
16539 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16540 * util/grub.d/00_header.in: Enter interruptible sleep if
16541 GRUB_HIDDEN_TIMEOUT is set.
16542
be3c9ca7 165432009-08-13 Yves Blusseau <blusseau@zetam.org>
16544
16545 * include/grub/symbol.h: Add the LOCAL macro.
16546 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16547 starting with "L_".
16548
1f9e557e 165492009-08-13 Pavel Roskin <proski@gnu.org>
16550
9ca62843 16551 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16552 any modern compilers we support.
16553
1f9e557e 16554 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16555 Use local labels starting with "L_" so that Apple assembler
16556 knows they are local.
16557
81623db6 165582009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16559
16560 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16561 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16562 (bsd_kernel_types): ... this enum.
16563
16564 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16565 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16566 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16567
16568 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16569 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16570 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16571 messages.
16572
f5d35e7a 165732009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16574
16575 * util/grub-dumpdevtree: Moved from here ...
16576 * util/i386/efi/grub-dumpdevtree: ... to here.
16577 (hexify): New function. Converts a string to its hex version.
16578 Generate hex versions of "efi" and "device-properties" by calling
16579 hexify() on the ASCII strings rather than by hardcoding numbers.
16580
d1e1d527 165812009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16582
16583 * fs/jfs.c: Update copyright year.
16584
1ebbe064 165852009-08-08 Felix Zielcke <fzielcke@z-51.de>
16586
16587 * util/grub.d/00_header.in: Fix a comment.
16588 * util/grub.d/10_linux.in: Likewise.
16589 * util/grub.d/10_windows.in: Likewise.
16590 * util/grub.d/10_hurd.in: Likewise.
16591
a78c8d24 165922009-08-08 Felix Zielcke <fzielcke@z-51.de>
16593
16594 * util/grub-mkconfig.in: Allow the user to specify the used font
16595 with GRUB_FONT.
16596
29a6b9e8 165972009-08-08 Pavel Roskin <proski@gnu.org>
16598
b5f16cc4 16599 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16600 available, xfs.mod needs it now.
16601
2f5cb827 16602 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16603 the "g" modifier in sed when the intention is to strip something
16604 once. This fixes comparison of kernels with multiple dashes.
16605
29a6b9e8 16606 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16607 on it. Add missing space before closing bracket. Fix
16608 misleading formatting.
16609
892a3d98 166102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16611
16612 * docs/grub.texi: Major overhaul. Remove all sections that are
16613 specific to GRUB Legacy, or mostly composed of Legacy-specific
16614 information.
16615
ed94253f 166162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16617
16618 * docs/version.texi: New file. Provides version information for
16619 grub.texi.
16620
126d6628 166212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16622
16623 * docs/grub.texi: Update CVS information to SVN.
16624 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16625
998b5aa9 166262009-08-07 Felix Zielcke <fzielcke@z-51.de>
16627
16628 * util/grub-mkconfig.in: Remove a wrong `fi'.
16629
818e094a 166302009-08-07 Felix Zielcke <fzielcke@z-51.de>
16631
16632 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16633 (grub_jfs_uuid): New function.
16634 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16635
b969c52f 166362009-08-07 Felix Zielcke <fzielcke@z-51.de>
16637
16638 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16639 of it to ...
16640 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16641 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16642
7a4894cc 166432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16644
16645 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16646 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16647 Update all users.
16648
16649 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16650 not just "vmlinu[zx]".
16651 Moved from here ...
16652 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16653 all users.
16654
16655 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16656 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16657 all users.
16658
4e2171f8 166592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16660
16661 * util/grub.d/10_freebsd.in: Use an absolute device path for
16662 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16663
6dcfcb32 166642009-08-06 Felix Zielcke <fzielcke@z-51.de>
16665
16666 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16667 handling of multiple abstraction modules.
16668
f56a8756 166692009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16670
16671 Fix a bug resulting in black screen when loading Linux using a
16672 packed video mode.
16673
16674 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16675 function.
16676
16677 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16678 (grub_vbe_bios_getset_dac_palette_width): New function.
16679 (grub_vbe_bios_get_dac_palette_width)
16680 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16681 grub_vbe_bios_getset_dac_palette_width()).
16682
16683 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16684 check for return status.
16685 (grub_vbe_get_video_mode_info): When getting information for a packed
16686 mode (<= 8 bpp), obtain DAC palette width using
16687 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16688 {red,green,blue}_mark_size.
16689
222671b2 166902009-08-04 Felix Zielcke <fzielcke@z-51.de>
16691
ecb1a6d9 16692 * commands/search.c (options): Fix help output to match actual code.
222671b2 16693
f84114f5 166942009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16697 of homegrown code.
16698
bd288a20 166992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 16700
16701 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16702 on XFS or ReiserFS.
16703
8aab5e25 167042009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 Support Apple partition map with sector size different from 512 bytes.
16707
16708 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16709 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16710 and 'apart.partmap_size'.
16711
6ad6258a 167122009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
167132009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16714
16715 Fix cpuid command.
16716
16717 * commands/i386/cpuid.c (options): New variable.
16718 (grub_cmd_cpuid): Return real error.
16719 (GRUB_MOD_INIT(cpuid)): Declare options.
16720
67459bc6 167212009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16724 valid.
16725
fbc6ab54 167262009-07-31 Bean <bean123ch@gmail.com>
16727
16728 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16729 log2_inode.
16730 (grub_fshelp_node): Move inode field to the end.
16731 (grub_xfs_data): Remove inode field.
16732 (grub_xfs_inode_block): Calculate inode size using sblock.
16733 (grub_xfs_inode_offset): Likewise.
16734 (grub_xfs_read_inode): Calculate inode size using sblock.
16735 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16736 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16737 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16738 to match inode size.
16739 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16740 not accessible when data is null.
16741 (grub_xfs_open): Likewise.
16742
f45d6cfc 167432009-07-31 Bean <bean123ch@gmail.com>
16744
16745 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16746 Don't change pv->disk if it's already set.
16747
16748 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16749 (grub_raid_register): ... here.
16750 (grub_raid_rescan): Removed.
16751
16752 * include/grub/raid.h (grub_raid_rescan): Removed.
16753
16754 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16755 (fstest): Replace grub_raid_rescan with module fini function followed
16756 by init function.
16757
16758 * util/grub-probe.c: Add include file <grub/raid.h>.
16759 (probe_raid_level): New function.
16760 (probe): Detect abstraction by walking the disk device, support two
16761 level of abstraction (LVM on RAID) when detecting partition map.
16762
24443b5a 167632009-07-31 Pavel Roskin <proski@gnu.org>
16764
16765 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16766 to grub_zalloc(), it was erroneous.
16767 Reported by Bean <bean123ch@gmail.com>
16768
a275d9e7 167692009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 16772 embedding zone, not only the first one.
a275d9e7 16773
56c5a47f 167742009-07-29 Joe Auricchio <jauricchio@gmail.com>
16775
16776 * term/gfxterm.c (clear_char): New function.
16777 (grub_virtual_screen_setup): Use clear_char.
16778 (scroll_up): Likewise.
16779 (grub_virtual_screen_cls): Likewise.
16780
67bb323a 167812009-07-29 Felix Zielcke <fzielcke@z-51.de>
16782
16783 * util/deviceiter.c (get_acceleraid_disk_name): New static
16784 function.
16785 (grub_util_iterate_devices): Handle Accelraid devices.
16786 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16787
388a7c75 167882009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16789
16790 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16791 separator for the suggested gfxpayload string (';' collides with the
16792 parser and needs escaping).
16793
3bb7abcf 167942009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16797 Clear direction flag before jumping to OS.
16798 (grub_multiboot2_real_boot): Likewise.
16799
2ddd36d7 168002009-07-28 Felix Zielcke <fzielcke@z-51.de>
16801
16802 * util/i386/pc/grub-install: Fix parsing of --disk-module
16803 option.
16804
c521b62b 168052009-07-28 Felix Zielcke <fzielcke@z-51.de>
16806
16807 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16808 when embedding.
16809
880e0a0c 168102009-07-26 Felix Zielcke <fzielcke@z-51.de>
16811
16812 * util/grub-mkconfig.in (package_version): New variable.
16813 Use it do display the version.
16814
2366e356 168152009-07-25 Felix Zielcke <fzielcke@z-51.de>
16816
16817 * kern/file.c (grub_file_open): Revert to previous check with
16818 grub_errno.
16819
7ad8c80e 168202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16823 from help line. It's out of sync with code.
16824
72b9658b 168252009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16828 entries on failed boot.
16829
77435277 168302009-07-25 Felix Zielcke <fzielcke@z-51.de>
16831
16832 * kern/file.c (grub_file_open): Fix an error check.
16833
fcaa8b21 168342009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16835
35d16c74 16836 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16837 partition map couldn't be identified.
fcaa8b21 16838
48904cd1 168392009-07-23 Pavel Roskin <proski@gnu.org>
16840
ef3c317f 16841 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16842 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16843 case of little endian words becomes just an optimization.
16844 Respect const modifier.
ad8ea1f4 16845 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 16846
48904cd1 16847 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16848 to avoid loss of upper bits if align is unsigned and shorter
16849 than addr.
16850
260c9a89 168512009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 UUID support for UFS
16854
16855 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16856 (grub_ufs_uuid): New function.
16857 (grub_ufs_fs): add .uuid
16858
f76ce889 168592009-07-21 Pavel Roskin <proski@gnu.org>
16860
16861 * kern/dl.c (grub_dl_check_header): Make static.
16862
6a6cbcaf 168632009-07-21 Felix Zielcke <fzielcke@z-51.de>
16864
16865 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16866 add drivemap for Vista. It breaks Windows 7.
16867
cffcddb2 168682009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16871 128 bytes
16872
1ef44b80 168732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16874
16875 Add BFS support
16876
16877 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16878 (grub_fstest_SOURCES): Likewise.
16879 (pkglib_MODULES): Add befs.mod.
16880 (befs_mod_SOURCES): New variable.
16881 (befs_mod_CFLAGS): Likewise.
16882 (befs_mod_LDFLAGS): Likewise.
16883 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16884 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16885 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16886 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16887 (grub_setup_SOURCES): Likewise.
16888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16889 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16890 (grub_setup_SOURCES): Likewise.
16891 * fs/befs.c: New file.
16892 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16893 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16894 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16895 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16896 (B_KEY_INDEX_ALIGN): New declaration.
16897 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16898 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16899 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16900 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16901 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16902 (grub_afs_mount) [MODE_BFS]: Likewise.
16903 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16904 (grub_afs_fs): Use GRUB_AFS_FSNAME
16905 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16906 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16907 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16908 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16909
4f253044 169102009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16911
16912 * util/getroot.c (find_root_device): Add support for MacOSX.
16913 * util/hostdisk.c: Likewise.
16914
57a55913 169152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 * font/font.c (find_glyph): Check whether a font is present to avoid
16918 segmentation fault.
75421ca9 16919
169202009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 16921
16922 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16923
e98cd0c2 169242009-07-20 Pavel Roskin <proski@gnu.org>
16925
16926 * configure.ac: Trim excessively wordy excuses.
16927
1d2d169a 169282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 Add symlink, mtime and label support to AtheFS.
16931
16932 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16933 (grub_afs_iterate_dir): Handle symlinks.
16934 (grub_afs_open): Use grub_afs_read_symlink.
16935 (grub_afs_dir): Likewise.
16936 Pass mtime.
16937 (grub_afs_label): New function.
16938 (grub_afs_fs): Add grub_afs_label.
16939 (grub_afs_read_symlink): New function.
16940
186f3189 169412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 Fix AtheFS support.
16944
16945 * fs/afs.c: Fix comments style.
16946 (grub_afs_blockrun): Declare as packed.
16947 (grub_afs_datastream): Likewise.
16948 (grub_afs_bnode): Likewise.
16949 (grub_afs_btree): Likewise.
16950 (grub_afs_sblock): Likewise.
16951 Declare `name' as char.
16952 (grub_afs_inode): Declare as packed.
16953 Change void *vnode to grub_uint32_t unused.
16954 (grub_afs_iterate_dir): Check that key_size is positive.
16955 (grub_afs_mount): Don't read superblock twice.
75421ca9 16956 (grub_afs_dir): Don't free node in case of error,
186f3189 16957 grub_fshelp_find_file already handles this.
16958 (grub_afs_open): Likewise.
16959
5680109e 169602009-07-19 Pavel Roskin <proski@gnu.org>
16961
16962 * Makefile.in: Remove LIBLZO and enable_lzo.
16963 * conf/i386-pc.rmk: Remove lzo support.
16964 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16965 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16966 support.
16967 * kern/i386/pc/lzo1x.S: Remove.
16968 * kern/i386/pc/startup.S: Remove lzo support.
16969 * util/i386/pc/grub-mkimage.c: Likewise.
16970
ac70fa32 169712009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16974 * fs/xfs.c (grub_xfs_dir): Likewise.
16975 * fs/afs.c (grub_afs_dir): Likewise.
16976 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16977 (grub_iso9660_open): Likewise.
16978 * fs/jfs.c (grub_jfs_open): Likewise.
16979 * fs/ext2.c (grub_ext2_dir): Likewise.
16980 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16981 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 16982
eab58da2 169832009-07-16 Pavel Roskin <proski@gnu.org>
16984
d2838156 16985 * configure.ac: Never add "-c" to CFLAGS.
16986
55c70904 16987 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16988
43e6200c 16989 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16990 grub_cv_cc_efiemu should be used.
16991
ce7a733d 16992 * configure.ac: Typo fixes.
16993
eab58da2 16994 * kern/mm.c (grub_zalloc): New function.
16995 (grub_debug_zalloc): Likewise.
16996 * include/grub/mm.h: Declare grub_zalloc() and
16997 grub_debug_zalloc().
16998 * util/misc.c (grub_zalloc): New function.
16999 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
17000 instead of grub_malloc(), remove unneeded initializations.
17001 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
17002 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
17003 * commands/parttool.c (grub_cmd_parttool): Likewise.
17004 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17005 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
17006 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
17007 * disk/usbms.c (grub_usbms_finddevs): Likewise.
17008 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
17009 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
17010 (grub_cmd_efiemu_pnvram): Likewise.
17011 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
17012 * fs/iso9660.c (grub_iso9660_mount): Likewise.
17013 (grub_iso9660_iterate_dir): Likewise.
17014 * fs/jfs.c (grub_jfs_opendir): Likewise.
17015 * fs/ntfs.c (list_file): Likewise.
17016 (grub_ntfs_mount): Likewise.
17017 * kern/disk.c (grub_disk_open): Likewise.
17018 * kern/dl.c (grub_dl_load_core): Likewise.
17019 * kern/elf.c (grub_elf_file): Likewise.
17020 * kern/env.c (grub_env_context_open): Likewise.
17021 (grub_env_set): Likewise.
17022 (grub_env_set_data_slot): Likewise.
17023 * kern/file.c (grub_file_open): Likewise.
17024 * kern/fs.c (grub_fs_blocklist_open): Likewise.
17025 * loader/i386/multiboot.c (grub_module): Likewise.
17026 * loader/xnu.c (grub_xnu_create_key): Likewise.
17027 (grub_xnu_create_value): Likewise.
17028 * normal/main.c (grub_normal_add_menu_entry): Likewise.
17029 (read_config_file): Likewise.
17030 * normal/menu_entry.c (make_screen): Likewise.
17031 * partmap/sun.c (sun_partition_map_iterate): Likewise.
17032 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
17033 * script/sh/script.c (grub_script_parse): Likewise.
17034 * video/bitmap.c (grub_video_bitmap_create): Likewise.
17035 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17036 * video/readers/png.c (grub_png_output_byte): Likewise.
17037 (grub_video_reader_png): Likewise.
17038
830afef7 170392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 17040
17041 Enable all targets that can be built by default
17042
830afef7 17043 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 17044 grub-mkfont and grub-fstest if they can be built
17045
ee293aee 170462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 Fix hang and segmentation fault in grub-emu-usb
17049
17050 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
17051 * util/usb.c (grub_libusb_devices): likewise
17052 (grub_libusb_init): rename to ...
17053 (GRUB_MOD_INIT (libusb)):...this
17054 (grub_libusb_fini): rename to ..
17055 (GRUB_MOD_FINI (libusb)):...this
17056 * disk/usbms.c (grub_usbms_transfer): fix retry logic
17057 * include/grub/disk.h (grub_raid_init): removed, it's useless
17058 (grub_raid_fini): likewise
17059 (grub_lvm_init): likewise
17060 (grub_lvm_fini): likewise
17061 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
17062 by grub_init_all
17063
94414221 170642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 Fix libusb
17067
17068 * Makefile.in (LIBUSB): new macro
17069 * genmk.rb (Utility/print_tail): new method
17070 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
17071 (top level): call util.print_tail at the end.
17072
59ade63d 170732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 Make FreeBSD accept zpool.cache
17076
17077 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
17078 type is /boot/zfs/zpool.cache
17079
a58da8c7 170802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 Fix 64-bit efiemu
17083
17084 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
17085 correct wrong typedef
17086 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
17087
20591577 170882009-07-15 Pavel Roskin <proski@gnu.org>
17089
560ca572 17090 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
17091 * kern/disk.c (struct grub_disk_cache): Likewise.
17092
e8e8e4fd 17093 * commands/probe.c (options): Typo fix.
17094
fde24e10 17095 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
17096 Increase to 0x5a to accommodate FAT32. Adjust other offsets
17097 accordingly.
17098 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
17099
379c54c1 17100 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
17101 the end of "Error" to make the message more readable.
17102
7bd8f5bf 17103 * boot/i386/pc/boot.S (kernel_segment): Remove.
17104 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
17105 for destination.
17106
40b132c5 17107 * boot/i386/pc/boot.S (boot_version): Remove.
17108 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17109 Remove.
17110
20591577 17111 * include/grub/i386/pc/boot.h: Sort all offsets.
17112 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
17113 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
17114 * boot/i386/pc/boot.S: Assert location of every offset listed in
17115 include/grub/i386/pc/boot.h.
17116
2df32b2c 171172009-07-13 Pavel Roskin <proski@gnu.org>
17118
44b5d879 17119 * include/grub/i386/coreboot/machine.h: Rename
17120 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
17121 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
17122 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
17123
17dc3751 17124 * kern/dl.c: Force native word size to suppress warnings when
17125 compiling grub-emu.
17126
2df32b2c 17127 * kern/device.c (grub_device_iterate): Change struct part_ent to
17128 hold the name, not a pointer to it. Use one grub_malloc() per
17129 partition, not two. Free partition_name if grub_malloc() fails.
17130 Set ents to NULL only before grub_partition_iterate() is called.
17131
75c59f59 171322009-07-11 Bean <bean123ch@gmail.com>
17133
17134 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
17135 childname.
17136
0ae1bf88 171372009-07-10 Bean <bean123ch@gmail.com>
171382009-07-10 Robert Millan <rmh.grub@aybabtu.com>
17139
17140 * kern/ieee1275/openfw.c (grub_children_iterate)
17141 (grub_devalias_iterate): Fix size evaluation for property or path
17142 strings, which was broken since r2132.
17143
8279cade 171442009-07-07 Pavel Roskin <proski@gnu.org>
17145
7d8a52d3 17146 * commands/search.c (search_file): Merge into ...
17147 (search_fs): ... this. Accept search type as argument.
17148 (grub_cmd_search): Pass search type to search_fs().
17149
25f9a05a 17150 * include/grub/util/console.h: New file.
17151 * util/console.c: Use it instead of grub/machine/console.h.
17152 * util/grub-emu.c: Likewise.
17153
8279cade 17154 * lib/arg.c (find_long_option): Remove.
17155 (find_long): Add `len' argument, make `s' const char *.
17156 (grub_arg_parse): Parse long options in place, not in a
17157 temporary buffer.
17158
4a11b60f 171592009-07-06 Pavel Roskin <proski@gnu.org>
17160
99f68041 17161 * commands/search.c (search_fs): Fix potential NULL pointer
17162 dereference.
17163
4a11b60f 17164 * commands/search.c (search_fs): Replace QUID macro with quid_fn
17165 function pointer.
17166
e110f4de 171672009-07-06 Daniel Mierswa <impulze@impulze.org>
17168
17169 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
17170 comparison.
17171
46eeb6a2 171722009-07-05 Pavel Roskin <proski@gnu.org>
17173
bab74958 17174 * include/grub/i386/linux.h (struct linux_kernel_params):
17175 Restore padding3, it's still needed.
17176
46eeb6a2 17177 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
17178 FreeBSD.
17179 * util/osdetect.lua: Likewise.
17180
b4a1dc79 171812009-07-05 Bean <bean123ch@gmail.com>
17182
17183 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
17184
17185 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
17186 (grub_lua_getenv): Likewise.
17187 (grub_lua_setenv): Likewise.
17188 (save_errno): New function.
17189 (push_result): Likewise.
17190 (grub_lua_enum_device): Likewise.
17191 (grub_lua_enum_file): Likewise.
17192 (grub_lua_file_open): Likewise.
17193 (grub_lua_file_close): Likewise.
17194 (grub_lua_file_seek): Likewise.
17195 (grub_lua_file_read): Likewise.
17196 (grub_lua_file_getline): Likewise.
17197 (grub_lua_file_getsize): Likewise.
17198 (grub_lua_file_getpos): Likewise.
17199 (grub_lua_file_eof): Likewise.
17200 (grub_lua_file_exist): Likewise.
17201 (grub_lua_add_menu): Likewise.
17202
17203 * script/lua/grub_lua.h (isupper): New inline function.
17204 (islower): Likewise.
17205 (ispunct): Likewise.
17206 (isxdigit): Likewise.
17207 (strcspn): Change to normal function.
17208 (strpbkr): New function declaration.
17209 (memchr): Likewise.
17210
17211 * script/lua/grub_main.c (scan_str): New function.
17212 (strcspn): Likewise.
17213 (strpbrk): Likewise.
17214 (memchr): Likewise.
17215
17216 * script/lua/linit.c (lualibs): Enable the string library.
17217
17218 * util/osdetect.lua: New file.
17219
2da92295 172202009-07-04 Robert Millan <rmh.grub@aybabtu.com>
17221
17222 * include/grub/i386/linux.h (struct linux_kernel_params): Add
17223 `capabilities' member.
17224
b2582ec9 172252009-07-02 Pavel Roskin <proski@gnu.org>
17226
17227 * genparttoollist.sh: Add missing newline at the end.
17228
32622956 172292009-07-01 Pavel Roskin <proski@gnu.org>
17230
87a7339e 17231 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
17232
d23af54e 17233 * util/hostdisk.c (open_device): Remove `const' from
17234 `sysctl_size', as sysctlbyname() can change it (in this case it
17235 doesn't actually happen).
17236
c94b18a9 17237 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
17238 using signed long int constants.
17239
c6cd3ef0 17240 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
17241 constant to avoid a warning on FreeBSD.
17242
0df63420 17243 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
17244 where it's needed.
17245
999577f1 17246 * Makefile.in: Install include/grub/machine symlink.
17247
6f41557f 17248 * Makefile.in: When installing symlinks, use "cp -fR", which
17249 works on FreeBSD and MacOSX.
17250 From Yves Blusseau <cl7m42e02@sneakemail.com>
17251
c8d22988 17252 * kern/dl.c (grub_dl_resolve_symbol): Make static.
17253 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
17254
1b96e952 17255 * util/misc.c: Move grub_reboot() and grub_halt() ...
17256 * util/grub-emu.c: ... here. Make main_env static.
17257 * include/grub/util/misc.h: Remove main_env.
17258
2ef0084d 17259 * kern/mm.c: Use correct format to print size_t.
17260
32622956 17261 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
17262 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
17263 * kern/powerpc/dl.c: Likewise.
17264 * kern/sparc64/dl.c: Likewise.
17265 * kern/x86_64/dl.c: Likewise.
17266
3f7f0cd0 172672009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17268
17269 Fix grub-emu build on sparc64-ieee1275.
17270
75421ca9 17271 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 17272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
17273
211d06b5 172742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17275
17276 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
17277 (grub_reboot, grub_halt): New functions.
17278
17279 * util/i386/pc/misc.c: Delete. Update all users.
17280 * util/sparc64/ieee1275/misc.c: Likewise.
17281 * util/powerpc/ieee1275/misc.c: Likewise.
17282
aaf53e3c 172832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17284
17285 * conf/i386.rmk (setjmp_mod_SOURCES)
17286 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
17287 * conf/common.rmk (setjmp_mod_SOURCES)
17288 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
17289 to use $(target_cpu).
17290 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
17291 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
17292 * conf/powerpc-ieee1275.rmk: Likewise.
17293 * conf/sparc64-ieee1275.rmk: Likewise.
17294
17295 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
17296 $(target_cpu) for kern/$(target_cpu)/dl.c.
17297 * conf/i386-efi.rmk: Likewise.
17298 * conf/i386-ieee1275.rmk: Likewise.
17299 * conf/x86_64-efi.rmk: Likewise.
17300 * conf/i386-coreboot.rmk: Likewise.
17301 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
17302 $(target_cpu) for kern/$(target_cpu)/dl.c and for
17303 kern/$(target_cpu)/cache.S.
17304 * conf/sparc64-ieee1275.rmk: Likewise.
17305
a337130b 173062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17307
17308 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
17309 type to `grub_uint8_t', and adjust `padding9' accordingly.
17310
c6fe4d53 173112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17312
b09db61d 17313 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
17314
c6fe4d53 17315 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
17316 assembly in final jump, using register constraints.
17317
b09db61d 17318 (grub_linux_boot): For text mode, initialize `have_vga' using
17319 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
17320
17321 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
17322 right before the final jump.
17323
17324 Set `video_mode' to 0x3.
17325
17326 Document initialization of `video_page', `video_mode' and
17327 `video_ega_bx'.
17328
28333ad0 173292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17330
17331 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
17332 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 17333 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 17334
02164e1b 173352009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17336
17337 Fix build on Debian / sparc.
17338
17339 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
17340
18b6c557 173412009-06-28 Pavel Roskin <proski@gnu.org>
17342
85f2aab6 17343 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
17344 fix a warning.
17345
18b6c557 17346 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17347
ad760f81 173482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17349
17350 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17351 `err'.
17352
87a4623b 173532009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17354
17355 Revert r2338.
17356
17357 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17358 file can't be opened. grub_file_open() is already supposed to set
75421ca9 17359 grub_errno / grub_errmsg appropriately.
87a4623b 17360 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17361
8231fb77 173622009-06-27 Pavel Roskin <proski@gnu.org>
173632009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17364
17365 * include/grub/dl.h: Include grub/elf.h.
17366 (struct grub_dl): Add symtab field.
17367 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17368 GRUB_MODULES_MACHINE_READONLY.
17369 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17370 of the header for read-only modules.
17371 (grub_dl_unload): Free mod->symtab for read-only modules.
17372 * kern/i386/dl.c: Use mod->symtab.
17373 * kern/powerpc/dl.c: Likewise.
17374 * kern/sparc64/dl.c: Likewise.
17375 * kern/x86_64/dl.c: Likewise.
17376
17377 * conf/i386-qemu.rmk: New file.
17378 * kern/i386/qemu/startup.S: Likewise.
17379 * kern/i386/qemu/mmap.c: Likewise.
17380 * boot/i386/qemu/boot.S: Likewise.
17381 * include/grub/i386/qemu/time.h: Likewise.
17382 * include/grub/i386/qemu/serial.h: Likewise.
17383 * include/grub/i386/qemu/kernel.h: Likewise.
17384 * include/grub/i386/qemu/console.h: Likewise.
17385 * include/grub/i386/qemu/boot.h: Likewise.
17386 * include/grub/i386/qemu/init.h: Likewise.
17387 * include/grub/i386/qemu/machine.h: Likewise.
17388 * include/grub/i386/qemu/loader.h: Likewise.
17389 * include/grub/i386/qemu/memory.h: Likewise.
17390
17391 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17392 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17393 [qemu] (pkglib_IMAGES): Add `boot.img'.
17394 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17395 [qemu] (boot_img_FORMAT): New variables.
17396 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17397 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17398 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17399 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17400 [qemu] (kernel_img_FORMAT): New variables.
17401
17402 * configure.ac: Recognise `i386-qemu'.
17403
17404 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17405 (for no compression).
17406 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17407 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17408 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17409 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17410 ifdefs).
17411
97fe384e 174122009-06-27 Pavel Roskin <proski@gnu.org>
17413
17414 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17415 read.
17416 * efiemu/prepare32.c: Likewise.
17417 * efiemu/prepare64.c: Likewise.
17418
c402ab17 174192009-06-26 Pavel Roskin <proski@gnu.org>
17420
17421 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17422 * include/grub/elf.h: Define symbols without "32" or "64" based
17423 on GRUB_TARGET_WORDSIZE.
17424 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17425 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17426 ELF definitions.
17427 * efiemu/loadcore64.c: Likewise.
17428 * loader/i386/bsd32.c: Likewise.
17429 * loader/i386/bsd64.c: Likewise.
17430 * kern/dl.c: Remove own ELF definitions.
17431 * util/i386/efi/grub-mkimage.c: Likewise.
17432
9bbdfd4d 174332009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17434
17435 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17436 segment 0x0 unconditionally, because the reference generated by
17437 GAS is an absolute address.
17438
a42ce6e9 174392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17440
17441 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17442 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17443
c952cf92 174442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17445
17446 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17447 indexes. Check for -f explicitly.
cc3752ad 17448 (search_file): Improve error message.
17449 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 17450
132a0a59 174512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17452
17453 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17454 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17455
387a140c 174562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17457
17458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17459 * conf/i386-ieee1275.rmk: Likewise.
17460 * conf/i386-coreboot.rmk: Likewise.
17461
17462 * kern/i386/pc/startup.S (grub_stop): Remove function.
17463 * kern/i386/ieee1275/startup.S: Likewise.
17464 * kern/i386/coreboot/startup.S: Likewise.
17465 * kern/i386/misc.S (grub_stop): New function.
17466
41da9665 174672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17468
17469 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17470 * kern/i386/realmode.S (real_to_prot): ... to here.
17471
bf337234 174722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17473
17474 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17475 with `kernel.img'.
17476 (kernel_elf_SOURCES): Rename to ...
17477 (kernel_img_SOURCES): ... this.
17478 (kernel_elf_HEADERS): Rename to ...
17479 (kernel_img_HEADERS): ... this. Update all users.
17480 (kernel_elf_ASFLAGS): Rename to ...
17481 (kernel_img_ASFLAGS): ... this.
17482 (kernel_elf_CFLAGS): Rename to ...
17483 (kernel_img_CFLAGS): ... this.
17484 (kernel_elf_LDFLAGS): Rename to ...
17485 (kernel_img_LDFLAGS): ... this.
17486 * conf/i386-coreboot.rmk: Likewise.
17487 * conf/powerpc-ieee1275.rmk: Likewise.
17488
17489 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17490 with "kernel.img".
17491
f52196ff 174922009-06-21 Pavel Roskin <proski@gnu.org>
17493
c3cee413 17494 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17495 to match nested functions.
17496 * loader/sparc64/ieee1275/linux.c: Likewise.
17497
f52196ff 17498 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17499
58750afc 175002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17501
17502 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17503 all i386 platforms.
17504
15355c7d 175052009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17506
17507 Fix asm file handling on ELF, and remove workarounds.
17508
17509 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 17510 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 17511 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17512 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17513
3f3ec72b 175142009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 Load BSD ELF modules
17517
17518 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17519 and loader/i386/bsd64.c
17520 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17521 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17522 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17523 (grub_freebsd_load_elfmodule32): New declaration
17524 (grub_freebsd_load_elfmoduleobj64): Likewise
17525 (grub_freebsd_load_elf_meta32): Likewise
17526 (grub_freebsd_load_elf_meta64): Likewise
17527 (grub_freebsd_add_meta): Likewise
17528 (grub_freebsd_add_meta_module): Likewise
17529 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17530 (grub_freebsd_add_meta_module): Likewise and move module-specific
17531 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17532 (grub_cmd_freebsd): Add elf-kernel specific parts
17533 based on grub_freebsd_add_meta_module
17534 (grub_cmd_freebsd_module): Add type parsing moved from
17535 grub_freebsd_add_meta_module
17536 (grub_cmd_freebsd_module_elf): New function
17537 (cmd_freebsd_module_elf): New variable
17538 (GRUB_MOD_INIT): Register freebsd_module_elf
17539 * loader/i386/bsd32.c: New file
17540 * loader/i386/bsd64.c: Likewise
17541 * loader/i386/bsdXX.c: Likewise
17542 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17543 (grub_elf64_load): Likewise
17544 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17545 All users updated
17546 (grub_elf64_load_hook_t): Likewise
17547
0db15301 175482009-06-21 Colin Watson <cjwatson@ubuntu.com>
17549
17550 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17551 variable.
17552 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17553 don't write a menu entry for recovery mode.
17554
546796c1 175552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17556
17557 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17558 after it's no longer needed.
17559
cd7310d5 175602009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17561
17562 * include/grub/i386/loader.h (grub_linux_prot_size)
17563 (grub_linux_tmp_addr, grub_linux_real_addr)
17564 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17565 GRUB_MACHINE_PCBIOS.
17566 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17567 common grub_util_info() call to ...
17568 (generate_image): ... here.
17569 Fix use of uninitialized memory, comparison of signed with
17570 unsigned integers and memory leak.
17571 Remove bogus module address message.
17572
ab32d3b5 175732009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17576 grub_raid_register
17577 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17578
024ef597 175792009-06-19 Pavel Roskin <proski@gnu.org>
17580
17581 * configure.ac: Remove stray AC_MSG_CHECKING.
17582
3ac72b51 175832009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 17586
e14cd814 175872009-06-18 Pavel Roskin <proski@gnu.org>
17588
17589 * conf/common.rmk: Add fs_file.mod.
17590 * disk/fs_file.c: New file.
17591 * include/grub/disk.h (enum grub_disk_dev_id): Add
17592 GRUB_DISK_DEVICE_FILE_ID.
17593
26586d98 175942009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 Fix build with Apple's toolchain. Part 2
17597
17598 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17599 a fake start
17600
26de2bcd 176012009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17602
17603 Fix build with Apple's toolchain. Part 1
17604
17605 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17606 for long calls
17607 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 17608 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 17609 Apple's toolchain
17610
09b3490b 176112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17612
17613 Fix warnings
17614
17615 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17616 (decomp_block): initialize ch
17617 use grub_memcpy instead of memcpy
17618
c22a006a 176192009-06-17 Pavel Roskin <proski@gnu.org>
17620
d3638678 17621 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17622 version, use declarations needed to use vga_text as the startup
17623 console.
17624
c22a006a 17625 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17626 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17627 the kernel.
17628 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17629 and grub_at_keyboard_fini(), it's done on module load and
17630 unload.
17631
05b129e0 176322009-06-17 Felix Zielcke <fzielcke@z-51.de>
17633
17634 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17635 file can't be found.
17636 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17637
cf24ed9e 176382009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 Fix newline handling
17641
17642 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 17643 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 17644 (grub_script_yylex): don't segfault on unterminated script
17645 newline terminates command and variable
17646
74aa8e4b 176472009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 avoid double grub_adjust_range call. Bug reported by David Simner
17650
17651 * kern/disk.c (grub_disk_write): change to raw disk access before
17652 calling disk_read
17653
1bd265f3 176542009-06-17 Colin Watson <cjwatson@ubuntu.com>
17655
17656 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17657 spaces, for the benefit of help2man.
17658 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17659
a2d08c06 176602009-06-16 Pavel Roskin <proski@gnu.org>
17661
17662 * kern/i386/halt.c: Include grub/machine/init.h.
17663 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17664
b97bcb19 176652009-06-16 Felix Zielcke <fzielcke@z-51.de>
17666
17667 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17668 drivemap menuentry.
17669
0644f96c 176702009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17671
17672 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17673 `echo' command.
17674
3ef17a2e 176752009-06-16 Pavel Roskin <proski@gnu.org>
17676
17677 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17678 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17679 save %dx, we only need %dl and we never change it.
17680 * boot/i386/pc/cdboot.S: Don't set the root drive.
17681 * boot/i386/pc/pxeboot.S: Likewise.
17682 * include/grub/i386/pc/boot.h: Remove
17683 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17684 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17685 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17686 * kern/i386/pc/init.c (make_install_device): Remove references
17687 to grub_root_drive.
17688 * kern/i386/pc/startup.S: Likewise.
17689 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17690
693fe637 176912009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 xnu_uuid command
17694
17695 * commands/xnu_uuid.c: new file
17696 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17697 (xnu_uuid_mod_SOURCES): new variable
17698 (xnu_uuid_mod_CFLAGS): likewise
17699 (xnu_uuid_mod_LDFLAGS): likewise
17700 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17701 * conf/i386-ieee1275.rmk: likewise
17702 * conf/i386-pc.rmk: likewise
17703 * conf/powerpc-ieee1275.rmk: likewise
17704 * conf/sparc64-ieee1275.rmk: likewise
17705 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17706
c9da87d0 177072009-06-16 Pavel Roskin <proski@gnu.org>
17708
17709 * configure.ac: Avoid '==' in test command, it's not portable.
17710
9c6f4596 177112009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 Probe command
17714
17715 * commands/probe.c: new file
17716 * conf/common.rmk (pkglib_MODULES): add probe.mod
17717 (probe_mod_SOURCES): new variable
17718 (probe_mod_CFLAGS): likewise
17719 (probe_mod_LDFLAGS): likewise
17720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17721 * conf/i386-ieee1275.rmk: likewise
17722 * conf/i386-pc.rmk: likewise
17723 * conf/powerpc-ieee1275.rmk: likewise
17724 * conf/sparc64-ieee1275.rmk: likewise
17725
70b7f9fd 177262009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 Fix handling of string like \"hello\" and "a
17729 b"
17730
17731 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17732 (grub_script_yylex): fix parsing of quoting, escaping and newline
17733
71c79a6b 177342009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17735
dd74360c 17736 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 17737 handling
dd74360c 17738
0644f96c 177392009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 17740
17741 * util/grub-mkconfig.in: Fix parsing of --output option.
17742
e40893c3 177432009-06-12 Pavel Roskin <proski@gnu.org>
17744
17745 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17746 genmk.rb don't need to be generated or installed.
17747
3a1acfe2 177482009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17749
17750 * commands/i386/pc/drivemap_int13h.S: add more comments
17751
3a4575d4 177522009-06-11 Pavel Roskin <proski@gnu.org>
17753
0658e928 17754 * Makefile.in (uninstall): Uninstall manuals.
17755
ca0388f0 17756 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17757 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17758 and update-grub_lib in two places.
17759 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17760
e3b27c39 17761 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17762 a compiler warning.
17763
3a4575d4 17764 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17765 `entry_lo' to fix variable shadowing.
17766
af1f4f55 177672009-06-11 Christian Franke <franke@computer.org>
17768
17769 * kern/misc.c (__enable_execute_stack): Add missing return type
17770 to prevent gcc warning.
17771
5225e649 177722009-06-11 Felix Zielcke <fzielcke@z-51.de>
17773
17774 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17775
7d83bd47 177762009-06-11 Pavel Roskin <proski@gnu.org>
17777
c1cb63ba 17778 * Makefile.in: Don't rely on any scripts being executable.
17779 Always use $(SHELL) to run shell scripts.
17780
7d83bd47 17781 * configure.ac: Always define ___main if using -nostdlib. This
17782 fixes tests on Cygwin.
17783
948f48e7 177842009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17785
17786 UDF fix
17787
7d83bd47 17788 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 17789 is in bytes and not in blocks
7d83bd47 17790
8ada9bc1 177912009-06-11 Pavel Roskin <proski@gnu.org>
17792
17793 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17794 warning.
17795
25ad2323 177962009-06-11 Felix Zielcke <fzielcke@z-51.de>
17797
17798 * util/grub.d/30_os-prober.in: Fix a comment. Source
17799 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17800 to set the root device. Place drivemap command in the generated
17801 chain entry.
17802
e65acb0c 178032009-06-11 Pavel Roskin <proski@gnu.org>
17804
17805 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17806 have long been resolved.
17807
f285fe2d 178082009-06-11 Colin Watson <cjwatson@ubuntu.com>
17809
bd47b0b5 17810 * util/grub.d/10_linux.in: Capitalise "Linux".
17811
f285fe2d 17812 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17813
a0c62e4e 178142009-06-11 Pavel Roskin <proski@gnu.org>
17815
b6783cb2 17816 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17817 fix a gcc warning and ensure that the function won't ever exit.
17818
dde032e8 17819 * kern/i386/ieee1275/init.c: Add missing prototype for
17820 grub_stop_floppy().
17821
22cd079d 17822 * loader/ieee1275/multiboot2.c [__i386__]: Include
17823 grub/cpu/multiboot.h.
17824
a0c62e4e 17825 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17826 casts to short - they are not portable and cause warnings. Fix
17827 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17828
63963d17 178292009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 Drivemap fixes
17832
17833 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17834 new function
17835 (grub_get_root_biosnumber_saved): new variable
17836 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17837 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 17838 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 17839 %dx after the call if necessary
17840 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17841 (boot_mod_SOURCES): remove
17842 (boot_mod_CFLAGS): remove
17843 (boot_mod_LDFLAGS): remove
17844 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17845 (boot_mod_SOURCES): new variable
17846 (boot_mod_CFLAGS): likewise
17847 (boot_mod_LDFLAGS): likewise
17848 * conf/i386-efi.rmk: likewise
17849 * conf/i386-ieee1275.rmk: likewise
17850 * conf/i386-pc.rmk: likewise
17851 * conf/powerpc-ieee1275.rmk: likewise
17852 * conf/sparc64-ieee1275.rmk: likewise
17853 * conf/x86_64-efi.rmk: likewise
17854 * include/grub/i386/pc/biosnum.h: new file
17855 * lib/i386/pc/biosnum.c: likewise
17856 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17857 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17858 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 17859
33abf7ae 178602009-06-10 Pavel Roskin <proski@gnu.org>
17861
5ac35b35 17862 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17863 Use separate variables. Read only the file size at the end, but
17864 not the checksum that we don't use.
17865
5c5215d5 17866 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17867 Adjust all callers.
17868
27d5fef7 17869 * kern/ieee1275/openfw.c: Remove libc includes.
17870 * kern/ieee1275/cmain.c: Likewise.
17871 * include/grub/ieee1275/ieee1275.h: Likewise.
17872
33abf7ae 17873 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17874 compiler warnings.
17875
19d50c2b 178762009-06-10 Felix Zielcke <fzielcke@z-51.de>
17877
17878 * Makefile.in: Remove all trailing whitespace.
17879 * conf/i386-pc.rmk: Likewise.
17880 * conf/powerpc-ieee1275.rmk: Likewise.
17881 * conf/sparc64-ieee1275.rmk: Likewise.
17882 * docs/grub.texi: Likewise.
17883 * docs/texinfo.tex: Likewise.
17884 * disk/fs_uuid.c: Likewise.
17885 * disk/lvm.c: Likewise.
17886 * disk/scsi.c: Likewise.
17887 * disk/ata.c: Likewise.
17888 * disk/ieee1275/ofdisk.c: Likewise.
17889 * disk/i386/pc/biosdisk.c: Likewise.
17890 * disk/host.c: Likewise.
17891 * disk/raid.c: Likewise.
17892 * disk/efi/efidisk.c: Likewise.
17893 * disk/usbms.c: Likewise.
17894 * disk/memdisk.c: Likewise.
17895 * disk/loopback.c: Likewise.
17896 * kern/powerpc/dl.c: Likewise.
17897 * kern/device.c: Likewise.
17898 * kern/dl.c: Likewise.
17899 * kern/sparc64/dl.c: Likewise.
17900 * kern/ieee1275/ieee1275.c: Likewise.
17901 * kern/term.c: Likewise.
17902 * kern/fs.c: Likewise.
17903 * kern/i386/dl.c: Likewise.
17904 * kern/i386/pc/startup.S: Likewise.
17905 * kern/i386/pc/init.c: Likewise.
17906 * kern/i386/pc/mmap.c: Likewise.
17907 * kern/i386/pc/lzo1x.S: Likewise.
17908 * kern/i386/ieee1275/init.c: Likewise.
17909 * kern/i386/realmode.S: Likewise.
17910 * kern/i386/tsc.c: Likewise.
17911 * kern/partition.c: Likewise.
17912 * kern/corecmd.c: Likewise.
17913 * kern/file.c: Likewise.
17914 * kern/efi/efi.c: Likewise.
17915 * kern/efi/init.c: Likewise.
17916 * kern/efi/mm.c: Likewise.
17917 * kern/main.c: Likewise.
17918 * kern/err.c: Likewise.
17919 * kern/env.c: Likewise.
17920 * kern/disk.c: Likewise.
17921 * kern/generic/millisleep.c: Likewise.
17922 * kern/generic/rtc_get_time_ms.c: Likewise.
17923 * kern/misc.c: Likewise.
17924 * kern/parser.c: Likewise.
17925 * genmk.rb: Likewise.
17926 * configure.ac: Likewise.
17927 * boot/i386/pc/diskboot.S: Likewise.
17928 * boot/i386/pc/pxeboot.S: Likewise.
17929 * boot/i386/pc/boot.S: Likewise.
17930 * boot/i386/pc/lnxboot.S: Likewise.
17931 * boot/i386/pc/cdboot.S: Likewise.
17932 * parttool/pcpart.c: Likewise.
17933 * video/readers/tga.c: Likewise.
17934 * video/video.c: Likewise.
17935 * video/bitmap.c: Likewise.
17936 * lib/envblk.c: Likewise.
17937 * lib/i386/setjmp.S: Likewise.
17938 * fs/xfs.c: Likewise.
17939 * fs/afs.c: Likewise.
17940 * fs/fat.c: Likewise.
17941 * fs/ntfs.c: Likewise.
17942 * fs/udf.c: Likewise.
17943 * fs/affs.c: Likewise.
17944 * fs/iso9660.c: Likewise.
17945 * fs/hfs.c: Likewise.
17946 * fs/fshelp.c: Likewise.
17947 * fs/ext2.c: Likewise.
17948 * fs/jfs.c: Likewise.
17949 * fs/reiserfs.c: Likewise.
17950 * fs/hfsplus.c: Likewise.
17951 * fs/minix.c: Likewise.
17952 * fs/cpio.c: Likewise.
17953 * fs/sfs.c: Likewise.
17954 * fs/ufs.c: Likewise.
17955 * efiemu/prepare.c: Likewise.
17956 * efiemu/loadcore_common.c: Likewise.
17957 * efiemu/runtime/efiemu.sh: Likewise.
17958 * efiemu/runtime/efiemu.S: Likewise.
17959 * efiemu/runtime/efiemu.c: Likewise.
17960 * efiemu/pnvram.c: Likewise.
17961 * efiemu/main.c: Likewise.
17962 * efiemu/i386/pc/cfgtables.c: Likewise.
17963 * efiemu/i386/loadcore64.c: Likewise.
17964 * efiemu/i386/loadcore32.c: Likewise.
17965 * efiemu/loadcore.c: Likewise.
17966 * efiemu/symbols.c: Likewise.
17967 * efiemu/mm.c: Likewise.
17968 * include/grub/autoefi.h: Likewise.
17969 * include/grub/datetime.h: Likewise.
17970 * include/grub/term.h: Likewise.
17971 * include/grub/hfs.h: Likewise.
17972 * include/grub/lvm.h: Likewise.
17973 * include/grub/i386/tsc.h: Likewise.
17974 * include/grub/i386/linux.h: Likewise.
17975 * include/grub/i386/xnu.h: Likewise.
17976 * include/grub/i386/efiemu.h: Likewise.
17977 * include/grub/i386/pc/biosdisk.h: Likewise.
17978 * include/grub/i386/pc/memory.h: Likewise.
17979 * include/grub/i386/pc/vbe.h: Likewise.
17980 * include/grub/parttool.h: Likewise.
17981 * include/grub/video.h: Likewise.
17982 * include/grub/memory.h: Likewise.
17983 * include/grub/fs.h: Likewise.
17984 * include/grub/partition.h: Likewise.
17985 * include/grub/xnu.h: Likewise.
17986 * include/grub/efi/api.h: Likewise.
17987 * include/grub/efi/pe32.h: Likewise.
17988 * include/grub/efi/memory.h: Likewise.
17989 * include/grub/multiboot.h: Likewise.
17990 * include/grub/usbdesc.h: Likewise.
17991 * include/grub/multiboot2.h: Likewise.
17992 * include/grub/acpi.h: Likewise.
17993 * include/grub/efiemu/efiemu.h: Likewise.
17994 * include/grub/disk.h: Likewise.
17995 * include/grub/ieee1275/ieee1275.h: Likewise.
17996 * include/grub/net.h: Likewise.
17997 * include/grub/machoload.h: Likewise.
17998 * include/grub/macho.h: Likewise.
17999 * include/multiboot.h: Likewise.
18000 * genmoddep.awk: Likewise.
18001 * normal/main.c: Likewise.
18002 * normal/menu_entry.c: Likewise.
18003 * normal/menu_viewer.c: Likewise.
18004 * normal/completion.c: Likewise.
18005 * normal/cmdline.c: Likewise.
18006 * normal/misc.c: Likewise.
18007 * normal/datetime.c: Likewise.
18008 * bus/usb/usbtrans.c: Likewise.
18009 * bus/usb/ohci.c: Likewise.
18010 * bus/usb/uhci.c: Likewise.
18011 * bus/usb/usb.c: Likewise.
18012 * mmap/efi/mmap.c: Likewise.
18013 * mmap/i386/pc/mmap_helper.S: Likewise.
18014 * mmap/i386/pc/mmap.c: Likewise.
18015 * mmap/i386/mmap.c: Likewise.
18016 * mmap/i386/uppermem.c: Likewise.
18017 * mmap/mmap.c: Likewise.
18018 * commands/acpi.c: Likewise.
18019 * commands/echo.c: Likewise.
18020 * commands/blocklist.c: Likewise.
18021 * commands/loadenv.c: Likewise.
18022 * commands/usbtest.c: Likewise.
18023 * commands/boot.c: Likewise.
18024 * commands/parttool.c: Likewise.
18025 * commands/search.c: Likewise.
18026 * commands/cat.c: Likewise.
18027 * commands/i386/pc/play.c: Likewise.
18028 * commands/i386/pc/drivemap.c: Likewise.
18029 * commands/i386/pc/vbeinfo.c: Likewise.
18030 * commands/i386/pc/acpi.c: Likewise.
18031 * commands/i386/pc/vbetest.c: Likewise.
18032 * commands/ls.c: Likewise.
18033 * commands/cmp.c: Likewise.
18034 * commands/test.c: Likewise.
18035 * commands/efi/acpi.c: Likewise.
18036 * commands/gptsync.c: Likewise.
18037 * commands/help.c: Likewise.
18038 * partmap/amiga.c: Likewise.
18039 * partmap/apple.c: Likewise.
18040 * partmap/acorn.c: Likewise.
18041 * partmap/pc.c: Likewise.
18042 * partmap/sun.c: Likewise.
18043 * partmap/gpt.c: Likewise.
18044 * script/sh/lexer.c: Likewise.
18045 * script/sh/function.c: Likewise.
18046 * font/font.c: Likewise.
18047 * font/font_cmd.c: Likewise.
18048 * loader/powerpc/ieee1275/linux.c: Likewise.
18049 * loader/efi/chainloader.c: Likewise.
18050 * loader/multiboot_loader.c: Likewise.
18051 * loader/macho.c: Likewise.
18052 * loader/i386/multiboot.c: Likewise.
18053 * loader/i386/linux.c: Likewise.
18054 * loader/i386/pc/linux.c: Likewise.
18055 * loader/i386/pc/multiboot2.c: Likewise.
18056 * loader/i386/pc/chainloader.c: Likewise.
18057 * loader/i386/pc/xnu.c: Likewise.
18058 * loader/i386/bsd_trampoline.S: Likewise.
18059 * loader/i386/efi/linux.c: Likewise.
18060 * loader/i386/multiboot_elfxx.c: Likewise.
18061 * loader/i386/bsd_helper.S: Likewise.
18062 * loader/i386/bsd.c: Likewise.
18063 * loader/i386/linux_trampoline.S: Likewise.
18064 * loader/i386/xnu_helper.S: Likewise.
18065 * loader/i386/xnu.c: Likewise.
18066 * loader/i386/bsd_pagetable.c: Likewise.
18067 * loader/i386/multiboot_helper.S: Likewise.
18068 * loader/xnu.c: Likewise.
18069 * loader/xnu_resume.c: Likewise.
18070 * io/gzio.c: Likewise.
18071 * term/efi/console.c: Likewise.
18072 * term/terminfo.c: Likewise.
18073 * term/ieee1275/ofconsole.c: Likewise.
18074 * term/i386/pc/serial.c: Likewise.
18075 * term/i386/pc/vesafb.c: Likewise.
18076 * term/i386/pc/vga.c: Likewise.
18077 * term/usb_keyboard.c: Likewise.
18078 * term/gfxterm.c: Likewise.
18079 * aclocal.m4: Likewise.
18080 * util/lvm.c: Likewise.
18081 * util/grub.d/30_os-prober.in: Likewise.
18082 * util/grub.d/10_hurd.in: Likewise.
18083 * util/console.c: Likewise.
18084 * util/grub-macho2img.c: Likewise.
18085 * util/grub-probe.c: Likewise.
18086 * util/hostfs.c: Likewise.
18087 * util/i386/pc/grub-mkimage.c: Likewise.
18088 * util/i386/pc/grub-setup.c: Likewise.
18089 * util/i386/efi/grub-mkimage.c: Likewise.
18090 * util/grub-mkconfig.in: Likewise.
18091 * util/raid.c: Likewise.
18092 * util/resolve.c: Likewise.
18093 * util/grub-mkdevicemap.c: Likewise.
18094 * util/grub-emu.c: Likewise.
18095 * util/getroot.c: Likewise.
18096 * util/hostdisk.c: Likewise.
18097 * util/usb.c: Likewise.
18098 * util/grub-editenv.c: Likewise.
18099 * util/misc.c: Likewise.
18100
d2d49665 181012009-06-10 Felix Zielcke <fzielcke@z-51.de>
18102
18103 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
18104 `genparttoollist.sh'.
18105 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
18106 Add `*.sh' to the list find searches for and change `mdate.sh'
18107 to `mdate-sh'.
18108
fe052e37 181092009-06-10 Pavel Roskin <proski@gnu.org>
18110
2763ac18 18111 * include/grub/multiboot2.h: Provide compatibility defines for
18112 multiboot2.h.
18113 * include/multiboot2.h: Include stdint.h only if needed, using
18114 angle brackets.
18115 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
18116 grub/multiboot2.h.
18117 * loader/ieee1275/multiboot2.c: Likewise.
18118 * loader/multiboot2.c: Likewise.
18119 * loader/multiboot_loader.c: Likewise.
18120
437e6adc 18121 * configure.ac: Use -nostdlib when probing for the target. It
18122 should not be required to have libc for the target.
18123
06a6836c 18124 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
18125 they fail without libc headers for the target.
18126 * include/grub/powerpc/libgcc.h: Use weak attribute for all
18127 exports.
18128 * include/grub/sparc64/libgcc.h: Likewise. Don't use
18129 preprocessor conditionals.
18130
fe052e37 18131 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
18132 build system doesn't need to be aware of the tar.c internals.
18133
afd22553 181342009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 18135
afd22553 18136 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 18137
6b787c4f 181382009-06-09 Robert Millan <rmh.grub@aybabtu.com>
18139
18140 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
18141 disk limit to 26 for IDE, Virtio, Xen and SCSI.
18142
181432009-06-09 Felix Zielcke <fzielcke@z-51.de>
18144
18145 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 18146 aren't available if ata.mod gets used.
6b787c4f 18147
473d1e45 181482009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 18149
473d1e45 18150 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 18151 initialising controller.
473d1e45 18152 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 18153
255a27d4 181542009-06-08 Felix Zielcke <fzielcke@z-51.de>
18155
18156 * util/i386/pc/grub-install.in: Add a parameter --disk-module
18157 to choose between ata and biosdisk module on i386-pc.
18158
473d1e45 181592009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 18160
d55842d8 18161 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
18162 Subclass and Programming Interface fields in terms of the 3 byte
18163 Class Code register.
18164 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18165
fa5db0b1 18166 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
18167 interface is OHCI. Add grub_dprintf for symmetry with
18168 bus/usb/uhci.c.
18169 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
18170 interface is UHCI. Add interf variable for programming
18171 interface. Print interface with class/subclass.
18172
c0947beb 18173 * bus/usb/ohci.c: Set interf with correct field.
18174
69da8877 18175 * bus/usb/uhci.c: Remove unneeded doubled lines.
18176 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
18177 Remove whitespace inside comment.
18178
9e172e30 181792009-06-08 Robert Millan <rmh.grub@aybabtu.com>
18180
18181 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
18182 as fallback an equivalent option without depth.
18183
de65ee2b 181842009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 Not fail if unable to retrieve C/H/S on LBA disks
18187
473d1e45 18188 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 18189 if unable to retrieve C/H/S on LBA disks
18190
b57ea2c9 181912009-06-08 Pavel Roskin <proski@gnu.org>
18192
18193 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
18194 about aliasing.
18195
af361263 181962009-06-08 Felix Zielcke <fzielcke@z-51.de>
18197
18198 * Makefile.in (uninstall): Remove all $lib_DATA files.
18199
4c9ec6b3 182002009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 Bugfix: install on partitionless device
18203
18204 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
18205 is a whole disk
18206
e76fc924 182072009-06-08 Felix Zielcke <fzielcke@z-51.de>
18208
18209 * Makefile.in (uninstall): Remove all $include_DATA files.
18210
ba5a0d05 182112009-06-08 Felix Zielcke <fzielcke@z-51.de>
18212
18213 * commands/true.c: New file. Implement the true and false commands.
18214 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
18215 (true_mod_SOURCES): New variable.
18216 (true_mod_CFLAGS): Likewise.
18217 (true_mod_LDFLAGS): Likewise.
18218
c8048e32 182192009-06-05 Colin D Bennett <colin@gibibit.com>
18220
18221 Optimized font character lookup using binary search instead of linear
18222 search. Fonts now are required to have the character index ordered by
18223 code point.
18224
18225 * font/font.c (load_font_index): Verify that fonts have ordered
18226 character indices.
18227 (find_glyph): Use binary search instead of linear search to find a
18228 character in a font.
18229
408305be 182302009-06-05 Michael Scherer <misc@mandriva.org>
18231
18232 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
18233 uses case sensitive btree.
18234 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
18235 only for case insensitive filesystems.
18236
8ee1e0d9 182372009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
18240 * conf/common.rmk (search_mod_CFLAGS): likewise
18241
a9966eb1 182422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18243
473d1e45 18244 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 18245 compensate a compiler bug
18246
9e7100fb 182472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18248
473d1e45 18249 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 18250 instead of '\b'
473d1e45 18251
ede21d71 182522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 Definitions for creating asm symbols with Apple's CC
18255
18256 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
18257 [APPLE_CC] (VARIABLE): likewise
18258
9dbf7653 182592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18260
18261 Disable lnxboot.img when compiled
18262 with Apple's CC
18263
18264 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
18265 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
18266 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
18267 [! APPLE_CC] (CODE_LENG): skip
18268 [! APPLE_CC] (setup_sects): likewise
18269 [! APPLE_CC]: skip filling
473d1e45 18270
e93cdc3d 182712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 Address in trampolines based on 32-bit registers when compiled
18274 with Apple's CC
18275
473d1e45 18276 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 18277 for addresses
18278 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
18279
6c688477 182802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18281
18282 Avoid aliases when compiling with Apple's CC for PCBIOS machine
18283
18284 * kern/misc.c [APPLE_CC] (memcpy): new function
18285 [APPLE_CC] (memmove): likewise
18286 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 18287 (memcpy): define alias conditionally on !APPLE_CC
6c688477 18288 (memset): likewise
18289 (abort): likewise
18290 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
18291 APPLE_CC are defined
18292 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
18293 (grub_assert_fail): make prototype conditional
18294
e37ffc5c 182952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
18298
473d1e45 18299 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
18300 grub-macho2img
e37ffc5c 18301 (CLEANFILES): add grub-macho2img
18302 (grub_macho2img_SOURCES): new variable
18303 * kern/i386/pc/startup.S (bss_start): new variable
18304 (bss_end): likewise
18305 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
18306 * util/grub-macho2img.c: new file
18307
cf00df31 183082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 Use objconv when compiling with Apple's CC
18311
18312 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
18313 (efiemu64.o): likewise
18314 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
18315 when compiling with Apple's CC
18316 (efiemu64_s.o): likewise
18317 * configure.ac: check for objconv when compiling with Apple's CC
18318 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 18319
d119a20c 183202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 Define segment as well as section when compiling with
18323 Apple's CC
18324
18325 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
18326 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
18327 (efiemu_convert_pointer): likewise
18328 (efiemu_set_virtual_address_map): likewise
18329 (efiemu_convert_pointer): likewise
18330 (efiemu_getcrc32): likewise
18331 (init_crc32_table): likewise
18332 (reflect): likewise
18333 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
18334 (GRUB_MOD_DEP): likewise
473d1e45 18335
c8600122 183362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 Allow a compilation without -mcmodel=large
18339
18340 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
18341 when compiled without -mcmodel=large
473d1e45 18342 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 18343 without -mcmodel=large
473d1e45 18344 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 18345 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 18346
e8df1d4e 183472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 Remove nested functions in efiemu core
18350
18351 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 18352
cc6c3ac1 183532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18354
18355 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18356
18357 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18358 temporary storage
473d1e45 18359 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18360 using Apple's CC
cc6c3ac1 18361 (grub_cpu_is_tsc_supported): likewise
18362 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 18363
3e325901 183642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 Absolute addressing through constant with Apple's cc
18367
18368 * kern/i386/pc/startup.S: Define necessary constants
18369 and address through it when using ABS with Apple's CC
18370 * boot/i386/pc/diskboot.S: likewise
18371 * boot/i386/pc/boot.S: likewise
18372 * boot/i386/pc/lnxboot.S: likewise
18373 * boot/i386/pc/cdboot.S: likewise
18374 * mmap/i386/pc/mmap_helper.S: likewise
18375 * commands/i386/pc/drivemap_int13h.S: likewise
18376
2b167a72 183772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 Check if compiler is apple cc
18380
18381 * Makefile.in (ASFLAGS): new variable
18382 (TARGET_ASFLAGS): likewise
18383 (TARGET_MODULE_FORMAT): likewise
18384 (TARGET_APPLE_CC): likewise
18385 (OBJCONV): likewise
18386 (TARGET_IMG_CFLAGS): likewise
18387 (TARGET_CPPFLAGS): add includedir
18388 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18389 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18390 Check for linker script only if compiler isn't Apple's CC
18391 (TARGET_MODULE_FORMAT): set
18392 (TARGET_APPLE_CC): likewise
18393 (TARGET_ASFLAGS): likewise
18394 (ASFLAGS): likewise
18395 Check for objcopy only if compiler isn't Apple's CC
18396 Check for BSS symbol only if compiler isn't Apple's CC
18397 * genmk.rb: adapt nm options if we use Apple's utils
18398 * aclocal.m4 (grub_apple_cc): new test
18399 (grub_apple_target_cc): likewise
473d1e45 18400
fb14123e 184012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18402
18403 Simplify sed expressions and improve awk
18404
18405 * Makefile.in (install-local): simplify sed expression
18406 * gencmdlist.sh: likewise
18407 * genmoddep.awk: avoid adding module as a dependency of itself
18408
5b889789 184092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 Add missing start symbols
18412
18413 * boot/i386/pc/boot.S: add start
fb14123e 18414 * boot/i386/pc/pxeboot.S: likewise
473d1e45 18415
fd2bf2e3 184162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 18419
18420 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 18421 (relocate_addresses): consider both r_addend and value at offset
18422 (make_mods_section): zerofill modinfo and header
18423 (convert_elf): write prefix here
473d1e45 18424
5389763d 184252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 Use .asciz instead of .string
18428
18429 * i386/pc/diskboot.S: use .asciz instead of .string
18430 * i386/pc/boot.S: likewise
18431 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18432 (GRUB_MOD_NAME): likewise
473d1e45 18433
3eb5ed4e 184342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 gfxpayload support
18437
18438 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18439 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18440 (grub_video_setup): remove
18441 (grub_video_set_mode): new prototype
18442 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18443 (vid_mode): remove
18444 (linux_vesafb_res): compile only on PCBIOS
18445 (grub_linux_boot): support gfxpayload
18446 * loader/i386/pc/xnu.c (video_hook): new function
18447 (grub_xnu_set_video): support gfxpayload
18448 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18449 (DEFAULT_VIDEO_HEIGHT): likewise
18450 (DEFAULT_VIDEO_FLAGS): likewise
18451 (DEFAULT_VIDEO_MODE): new definition
18452 (video_hook): new function
18453 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 18454 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 18455 loading xnu
18456 * video/video.c (grub_video_setup): removed
473d1e45 18457 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 18458 grub_video_setup
18459
4b0e1143 184602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 Avoid calling biosdisk in drivemap
18463
18464 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18465 (revparse_biosdisk): likewise
18466 (list_mappings): derive name from id directly
18467 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 18468
fda6cb98 184692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18470
18471 Script fixes
18472
18473 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18474 (grub_lexer_param): add tokenonhold
18475 (grub_script_create_cmdline): remove cmdline. All callers updated
18476 (grub_script_function_create): make functionname
18477 grub_script_arg. All callers updated
18478 (grub_script_execute_argument_to_string): new prototype
18479 * kern/parser.c (state_transitions): reorder
18480 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 18481 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 18482 make global
18483 (grub_script_execute_cmdline): use new format
18484 * script/sh/function.c (grub_script_function_create): make functionname
18485 grub_script_arg. All callers updated
473d1e45 18486 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 18487 (grub_script_yylex): remove
18488 (grub_script_yylex2): renamed to ...
18489 (grub_script_yylex): ...renamed
18490 parse the expressions like a${b}c
18491 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18492 (GRUB_PARSER_TOKEN_VAR): remove
18493 (GRUB_PARSER_TOKEN_NAME): likewise
18494 ("if"): declare as typeless
18495 ("while"): likewise
18496 ("function"): likewise
18497 ("else"): likewise
18498 ("then"): likewise
18499 ("fi"): likewise
18500 (text): remove
18501 (argument): likewise
18502 (script): accept empty scripts and make exit on error
18503 (arguments): use GRUB_PARSER_TOKEN_ARG
18504 (function): likewise
18505 (command): move error handling to script
18506 (menuentry): move grub_script_lexer_ref before
473d1e45 18507 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 18508 argument. All callers updated
18509
f4448a07 185102009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18511
18512 Prevent GRUB from probing floppies during boot.
18513
18514 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18515 * commands/search.c (options): Add --no-floppy.
18516 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18517 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18518 --no-floppy when searching for UUIDs.
18519
2bf5885a 185202009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18521
18522 Simplify the code duplication in commands/search.c.
18523
18524 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18525 (search_fs): ... this. Update all users.
18526
f6fd460a 185272009-06-03 Felix Zielcke <fzielcke@z-51.de>
18528
18529 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18530
cbb3c83e 185312009-05-28 Pavel Roskin <proski@gnu.org>
18532
57788cfd 18533 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18534 Remove the original symlink explicitly.
18535
cbb3c83e 18536 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18537 just one slash. That's how grub_fshelp_find_file() does it.
18538
cd0d5e30 185392009-05-26 Pavel Roskin <proski@gnu.org>
18540
f0f8bbe2 18541 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18542 to `str'.
18543
cd0d5e30 18544 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18545 possibly unused.
18546
8c2cab51 185472009-05-25 Christian Franke <franke@computer.org>
18548
18549 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18550 register.
18551 (grub_atapi_identify): Add wait after drive select.
18552 (grub_ata_identify): Do more strict status register check before
18553 calling grub_atapi_identify (). Suppress error message if status
18554 register is 0x00 after command failure. Add status register
18555 check after PIO read to avoid bogus identify due to stuck DRQ.
18556 Thanks to Pavel Roskin for testing.
18557 (grub_device_initialize): Remove unsafe status register check.
18558 Thanks to 'phcoder' for problem report and patch.
18559 Prevent sign extension in debug message.
18560
230c0ad6 185612009-05-23 Colin D Bennett <colin@gibibit.com>
18562
18563 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18564 definition file, and functions defined in `normal/menu.c' have had
18565 their prototypes moved to `include/grub/menu.h' for consistency.
18566
18567 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18568 from normal.h.
18569 (grub_menu_get_entry): Likewise.
18570 (grub_menu_get_timeout): Likewise.
18571 (grub_menu_set_timeout): Likewise.
18572 (grub_menu_execute_entry): Likewise.
18573 (grub_menu_execute_with_fallback): Likewise.
18574 (grub_menu_entry_run): Likewise.
18575
18576 * include/grub/normal.h: Re-ordered and grouped function
18577 prototypes by file that the function is defined in.
18578 (grub_menu_execute_callback): Removed; moved to menu.h.
18579 (grub_menu_get_entry): Likewise.
18580 (grub_menu_get_timeout): Likewise.
18581 (grub_menu_set_timeout): Likewise.
18582 (grub_menu_execute_entry): Likewise.
18583 (grub_menu_execute_with_fallback): Likewise.
18584 (grub_menu_entry_run): Likewise.
18585 (grub_menu_addentry): Renamed from this ...
18586 (grub_normal_add_menu_entry): ... to this.
18587
18588 * normal/main.c (grub_menu_addentry): Renamed from this ...
18589 (grub_normal_add_menu_entry): ... to this.
18590
18591 * script/sh/execute.c (grub_script_execute_menuentry): Update
18592 reference to renamed grub_menu_addentry function.
18593
861f03a5 185942009-05-23 Felix Zielcke <fzielcke@z-51.de>
18595
18596 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18597
96b1619a 185982009-05-22 Pavel Roskin <proski@gnu.org>
18599
bf6a5fb2 18600 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18601 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18602 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18603 compiling for the i386 targets, but not for the utilities.
18604
96b1619a 18605 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18606 to grub_uint8_t.
18607 (grub_root_drive): Likewise.
18608 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18609 remove alignment.
18610 (grub_root_drive): Change size to byte.
18611 (grub_start_addr): Remove.
18612 (grub_end_addr): Likewise.
18613 (grub_apm_bios_info): Likewise.
18614
b729776b 186152009-05-21 Felix Zielcke <fzielcke@z-51.de>
18616
18617 * normal/i386: Remove.
18618 * normal/powerpc: Likewise.
18619 * normal/sparc64: Likewise.
18620 * normal/x86_64: Likewise.
18621
0a15ce80 186222009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 18625 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 18626 * loader/i386/xnu_helper.S: Likewise
d6da58e6 18627
33db9015 186282009-05-18 Colin D Bennett <colin@gibibit.com>
18629
d6da58e6 18630 Display error messages when parsing a Lua statement fails.
18631 Previously, executing a syntactically invalid statement like
18632 ")foo" or "bar;" would silently fail.
33db9015 18633
18634 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 18635 (grub_lua_parse_line): Improved reporting of Lua parser and
18636 execution errors.
33db9015 18637
46422c89 186382009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18639
18640 Remove -Werror which causes build to fail on some systems
18641
18642 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18643 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18644 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 18645
22f53a96 186462009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18647
18648 trampoline for linux on 64-bit platform
18649
18f547ad 18650 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18651 loader/i386/efi/linux_trampoline.S
18652 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 18653 declaration
d6da58e6 18654 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18655 here
22f53a96 18656 * loader/i386/linux_trampoline.S: moved here
d6da58e6 18657 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18658 trampoline
22f53a96 18659 (jumpvector): removed
18660 (grub_linux_trampoline_start): new declaration
18661 (grub_linux_trampoline_end): likewise
18662 (grub_linux_boot): use trampoline when on 64-bit platform
18663 * loader/i386/linux.c: likewise
18664
cb5a0f40 186652009-05-16 Pavel Roskin <proski@gnu.org>
18666
18667 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18668 const to avoid a warning.
18669 (grub_lua_setenv): Likewise.
18670 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18671 lmsg to fix a warning.
18672
334f2c28 186732009-05-16 Felix Zielcke <fzielcke@z-51.de>
18674
18675 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 18676 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18677 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18678 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18679 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18680 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18681 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18682 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 18683
59e5d3ec 186842009-05-16 Felix Zielcke <fzielcke@z-51.de>
18685
18686 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18687
9d87a1ba 186882009-05-16 Bean <bean123ch@gmail.com>
18689
18690 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18691 (lua_mod_SOURCES): New variable.
18692 (lua_mod_CFLAGS): Likewise.
18693 (lua_mod_LDFLAGS): Likewise.
18694
18695 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18696 (setjmp_mod_SOURCES): New variable.
18697 (setjmp_mod_CFLAGS): Likewise.
18698 (setjmp_LDFLAGS): Likewise.
18699
18700 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18701 (setjmp_mod_SOURCES): New variable.
18702 (setjmp_mod_CFLAGS): Likewise.
18703 (setjmp_LDFLAGS): Likewise.
18704
18705 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18706 (setjmp_mod_SOURCES): New variable.
18707 (setjmp_mod_CFLAGS): Likewise.
18708 (setjmp_LDFLAGS): Likewise.
18709
18710 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18711 (setjmp_mod_SOURCES): New variable.
18712 (setjmp_mod_CFLAGS): Likewise.
18713 (setjmp_LDFLAGS): Likewise.
18714
18715 * normal/i386/setjmp.S: Moved from here ...
18716 * lib/i386/setjmp.S: ... Moved here
18717 * normal/x86_64/setjmp.S: Moved from here ...
18718 * lib/x86_64/setjmp.S: ... Moved here
18719 * normal/powerpc/setjmp.S: Moved from here ...
18720 * lib/powerpc/setjmp.S: ... Moved here
18721 * normal/sparc64/setjmp.S: Moved from here ...
18722 * lib/sparc64/setjmp.S: ... Moved here
18723
18724 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18725 returns_twice in mingw.
18726
18727 * script/lua/grub_lib.c: New file.
18728 * script/lua/grub_lib.h: Likewise.
18729 * script/lua/grub_lua.h: Likewise.
18730 * script/lua/grub_main.c: Likewise.
18731 * script/lua/lapi.c: Likewise.
18732 * script/lua/lapi.h: Likewise.
18733 * script/lua/lauxlib.c: Likewise.
18734 * script/lua/lauxlib.h: Likewise.
18735 * script/lua/lbaselib.c: Likewise.
18736 * script/lua/lcode.c: Likewise.
18737 * script/lua/lcode.h: Likewise.
18738 * script/lua/ldblib.c: Likewise.
18739 * script/lua/ldebug.c: Likewise.
18740 * script/lua/ldebug.h: Likewise.
18741 * script/lua/ldo.c: Likewise.
18742 * script/lua/ldo.h: Likewise.
18743 * script/lua/ldump.c: Likewise.
18744 * script/lua/lfunc.c: Likewise.
18745 * script/lua/lfunc.h: Likewise.
18746 * script/lua/lgc.c: Likewise.
18747 * script/lua/lgc.h: Likewise.
18748 * script/lua/linit.c: Likewise.
18749 * script/lua/liolib.c: Likewise.
18750 * script/lua/llex.c: Likewise.
18751 * script/lua/llex.h: Likewise.
18752 * script/lua/llimits.h: Likewise.
18753 * script/lua/lmathlib.c: Likewise.
18754 * script/lua/lmem.c: Likewise.
18755 * script/lua/lmem.h: Likewise.
18756 * script/lua/loadlib.c: Likewise.
18757 * script/lua/lobject.c: Likewise.
18758 * script/lua/lobject.h: Likewise.
18759 * script/lua/lopcodes.c: Likewise.
18760 * script/lua/lopcodes.h: Likewise.
18761 * script/lua/loslib.c: Likewise.
18762 * script/lua/lparser.c: Likewise.
18763 * script/lua/lparser.h: Likewise.
18764 * script/lua/lstate.c: Likewise.
18765 * script/lua/lstate.h: Likewise.
18766 * script/lua/lstring.c: Likewise.
18767 * script/lua/lstring.h: Likewise.
18768 * script/lua/lstrlib.c: Likewise.
18769 * script/lua/ltable.c: Likewise.
18770 * script/lua/ltable.h: Likewise.
18771 * script/lua/ltablib.c: Likewise.
18772 * script/lua/ltm.c: Likewise.
18773 * script/lua/ltm.h: Likewise.
18774 * script/lua/lua.h: Likewise.
18775 * script/lua/luaconf.h: Likewise.
18776 * script/lua/lualib.h: Likewise.
18777 * script/lua/lundump.c: Likewise.
18778 * script/lua/lundump.h: Likewise.
18779 * script/lua/lvm.c: Likewise.
18780 * script/lua/lvm.h: Likewise.
18781 * script/lua/lzio.c: Likewise.
18782 * script/lua/lzio.h: Likewise.
18783
5e898c9d 187842009-05-16 Bean <bean123ch@gmail.com>
18785
18786 * include/grub/kernel.h (grub_module_header_types): Add type
18787 OBJ_TYPE_CONFIG.
18788
18789 * kern/main.c (grub_load_config): New function.
18790 (grub_main): Call grub_load_config to read boot config.
18791
18792 * grub-mkimage (generate_image): New parameter config_path.
18793 (options): New option --config.
18794 (main): Parse --config option, and pass it to generate_image.
18795
cf353a47 187962009-05-14 Christian Franke <franke@computer.org>
18797
18798 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18799 This fixes build on Cygwin.
18800
3834887f 188012009-05-14 Pavel Roskin <proski@gnu.org>
18802
18803 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18804 jump. This saves two bytes, so the typical case of 2 swapped
18805 drives would fit 32 bytes.
18806
8090fc01 188072009-05-13 Pavel Roskin <proski@gnu.org>
18808
ac963883 18809 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18810 grub_uint32_t to avoid a warning.
18811
8090fc01 18812 * loader/i386/linux.c (allocate_pages): When assigning
18813 real_mode_mem, cast through grub_size_t to fix a warning. The
18814 code already makes sure that the value would fit a pointer.
18815 (grub_linux_setup_video): Cast render_target->data to
18816 grub_size_t to fix a warning.
18817
18f547ad 188182009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 18819
18820 * commands/i386/pc/drivemap.c: New file - implement drivemap
18821 command.
18822 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18823 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18824
6f6a8b28 188252009-05-13 Pavel Roskin <proski@gnu.org>
18826
18827 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18828 embedding_area_exists.
18829
15fbf4c4 188302009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18831
18832 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18833 it easier to understand / work with.
59978c8a 18834 Improve warning messages for cases where there's no embedding area,
18835 or when it is too small (or core.img too large).
15fbf4c4 18836
238e871f 188372009-05-13 Pavel Roskin <proski@gnu.org>
18838
0ab3a9a4 18839 * loader/i386/pc/multiboot2.c: Add necessary includes for
18840 grub_multiboot2_real_boot().
18841
a2c8c5f8 18842 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18843 PX record is always little-endian. We only need the lower 2
18844 bytes of the mode.
18845
faec96af 18846 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18847 facilitate code reuse.
18848 (grub_cpio_mount): Use "struct head", not a char buffer. This
18849 fixes a warning reported by gcc 4.4.
18850
238e871f 18851 * kernel/disk.c (grub_disk_read): Use void pointer for the
18852 buffer.
18853 (grub_disk_write): Use const void pointer for the buffer.
18854 Adjust all callers. Remove unnecessary casts.
18855
901d2f0c 188562009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18857
18858 * util/i386/pc/grub-install.in: Update copyright year.
18859
18f547ad 188602009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 18861
18862 gptsync
18863
18864 * commands/gptsync.c: new file
18865 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18866 (gptsync_mod_SOURCES): new variable
18867 (gptsync_mod_CFLAGS): likewise
18868 (gptsync_mod_LDFLAGS): likewise
18f547ad 18869 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 18870 new definition
18871 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18873 * conf/i386-ieee1275.rmk: likewise
18874 * conf/i386-pc.rmk: likewise
18875 * conf/powerpc-ieee1275.rmk: likewise
18876
b4ba690a 188772009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18878
18879 Fixed grub-emu
18880
18881 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18882 (grub_dl_ref): likewise
18883
317e1a44 188842009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18885
18886 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18887 split in two functions (one for msdos and one for gpt).
18888
041b8094 188892009-05-08 Pavel Roskin <proski@gnu.org>
18890
752473c2 18891 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18892 not modified.
18893
041b8094 18894 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18895 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18896 Initialize them with -1. Add sanity check for bad1. Eliminate
18897 nerr variable.
18898
172800ce 188992009-05-08 David S. Miller <davem@davemloft.net>
18900
18901 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18902
29aa5e81 189032009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18904
18905 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 18906 existence.
29aa5e81 18907
96613b62 189082009-05-05 Felix Zielcke <fzielcke@z-51.de>
18909
18910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 18911 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 18912
eef73c8a 189132009-05-05 David S. Miller <davem@davemloft.net>
18914
18915 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18916
119494b5 189172009-05-05 Pavel Roskin <proski@gnu.org>
18918
18919 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18920 of grub_dl_ref() and grub_dl_unref().
18921 * commands/parttool.c: Remove preprocessor conditionals around
18922 grub_dl_ref() and grub_dl_unref().
18923 * fs/affs.c: Likewise.
18924 * fs/afs.c: Likewise.
18925 * fs/cpio.c: Likewise.
18926 * fs/ext2.c: Likewise.
18927 * fs/fat.c: Likewise.
18928 * fs/hfs.c: Likewise.
18929 * fs/hfsplus.c: Likewise.
18930 * fs/iso9660.c: Likewise.
18931 * fs/jfs.c: Likewise.
18932 * fs/minix.c: Likewise.
18933 * fs/ntfs.c: Likewise.
18934 * fs/reiserfs.c: Likewise.
18935 * fs/sfs.c: Likewise.
18936 * fs/udf.c: Likewise.
18937 * fs/ufs.c: Likewise.
18938 * fs/xfs.c: Likewise.
18939 * include/grub/dl.h: Likewise.
18940 * loader/xnu.c: Likewise.
18941
de5fd76e 189422009-05-04 Pavel Roskin <proski@gnu.org>
18943
18944 * commands/acpi.c: Remove unused variable my_mod.
18945 * partmap/amiga.c: Likewise.
18946 * partmap/apple.c: Likewise.
18947 * partmap/gpt.c: Likewise.
18948 * partmap/pc.c: Likewise.
18949 * partmap/sun.c: Likewise.
18950 * term/gfxterm.c: Likewise.
18951 * term/i386/pc/vesafb.c: Likewise.
18952 * term/i386/pc/vga.c: Likewise.
18953
983598ad 189542009-05-04 David S. Miller <davem@davemloft.net>
18955
18956 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18957 pointer args to grub_ieee1275_get_property().
18958
8aadec43 18959 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18960
9554b15e 18961 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18962 devices, and do not traverse down under controller nodes.
18963
67e23c90 18964 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18965 (grub_ofdisk_open): Use it to un-escape "," characters.
18966 * kern/disk.c (find_part_sep): New.
18967 (grub_disk_open): Use it to find the first non-escaped ','
18968 character in the disk name.
18969 * util/ieee1275/devicemap.c (escape_of_path): New.
18970 (grub_util_emit_devicemap_entry): Use it.
18971 * util/sparc64/ieee1275/grub-install.in: Update script to
18972 strip partition specifiers properly by not triggering on
18973 '\' escaped ',' characters.
18974
74bfdd2f 189752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18976
18977 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18978 to 0x300.
18979 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18980 resolutions.
18981 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18982 on documentation from Wikipedia).
18983
4241d2b1 189842009-05-04 Pavel Roskin <proski@gnu.org>
18985
18986 * disk/ata.c: Spelling fixes.
18987 * disk/raid.c: Likewise.
18988 * disk/usbms.c: Likewise.
18989 * disk/dmraid_nvidia.c: Likewise.
18990 * kern/ieee1275/openfw.c: Likewise.
18991 * kern/ieee1275/init.c: Likewise.
18992 * kern/ieee1275/cmain.c: Likewise.
18993 * boot/i386/pc/cdboot.S: Likewise.
18994 * video/readers/png.c: Likewise.
18995 * video/i386/pc/vbe.c: Likewise.
18996 * fs/udf.c: Likewise.
18997 * fs/hfs.c: Likewise.
18998 * fs/reiserfs.c: Likewise.
18999 * efiemu/runtime/efiemu.c: Likewise.
19000 * efiemu/main.c: Likewise.
19001 * efiemu/mm.c: Likewise.
19002 * include/grub/elf.h: Likewise.
19003 * include/grub/xnu.h: Likewise.
19004 * include/grub/usbdesc.h: Likewise.
19005 * include/grub/usb.h: Likewise.
19006 * include/grub/script_sh.h: Likewise.
19007 * include/grub/lib/LzmaEnc.h: Likewise.
19008 * include/grub/efiemu/efiemu.h: Likewise.
19009 * include/grub/command.h: Likewise.
19010 * normal/menu.c: Likewise.
19011 * normal/main.c: Likewise.
19012 * normal/datetime.c: Likewise.
19013 * bus/usb/uhci.c: Likewise.
19014 * mmap/i386/uppermem.c: Likewise.
19015 * mmap/mmap.c: Likewise.
19016 * commands/acpi.c: Likewise.
19017 * commands/test.c: Likewise.
19018 * partmap/apple.c: Likewise.
19019 * font/font.c: Likewise.
19020 * loader/sparc64/ieee1275/linux.c: Likewise.
19021 * loader/macho.c: Likewise.
19022 * loader/i386/bsd_trampoline.S: Likewise.
19023 * loader/i386/bsd.c: Likewise.
19024 * loader/xnu.c: Likewise.
19025 * term/i386/pc/vesafb.c: Likewise.
19026 * term/usb_keyboard.c: Likewise.
19027 * util/resolve.c: Likewise.
19028 * util/getroot.c: Likewise.
19029
0cfc0083 190302009-05-04 Felix Zielcke <fzielcke@z-51.de>
19031
19032 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
19033
7c1d00cd 190342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19035
19036 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
19037 build error.
19038
b01f0548 190392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19040
19041 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
19042 parameter only available on BIOS.
19043
ecc3eb22 190442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 Removed wrong semicolon in declaration
19047
19048 * grub/misc.h (grub_dprintf): remove semicolon
19049
112972a9 190502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19051
19052 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
19053 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
19054 is done by grub_cmd_linux() now).
19055 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
19056 restore video to text mode.
19057 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
19058 indicates lack of "vga=" parameter. "vga=0" is mapped to
19059 `GRUB_LINUX_VID_MODE_NORMAL'.
19060
afd5c115 190612009-05-04 Felix Zielcke <fzielcke@z-51.de>
19062
19063 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
19064 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
19065 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 19066 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 19067 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
19068 `grub_script.tab.c'.
19069
19070 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19071 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19073 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19074 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19075
faa517ce 19076 * Makefile.in: Remove duplicated 2008 in Copyright line.
19077
ae0c0bdc 190782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19079
473d1e45 19080 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 19081 unconditionally.
19082 * include/grub/util/misc.h (grub_util_warn): New declaration.
19083
19084 * util/i386/pc/grub-install.in: Understand --force and pass it down
19085 to grub-setup.
19086
19087 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
19088 down to setup().
19089 (setup): Improve error messages and add warnings when requested to
19090 install in odd layouts. Refuse to install using blocklists unless
19091 --force was set.
19092
18f547ad 190932009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 19094
19095 * disk/raid.c (grub_raid_scan_device): Improve debug message.
19096
6d260daa 190972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 Updated copyright year
19100
19101 * fs/hfsplus.c: updated copyright year
18f547ad 19102
69f853f8 191032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 HFS+ UUID
19106
18f547ad 19107 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 19108 in the space previously used by unused3
19109 (grub_hfsplus_uuid): new function
19110 (grub_hfsplus_fs): added uuid field
19111
4c402e73 191122009-05-03 Pavel Roskin <proski@gnu.org>
19113
19114 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
19115 suppress warnings. It's no longer needed.
19116 * disk/host.c: Likewise.
19117 * disk/ata_pthru.c: Likewise.
19118 * disk/loopback.c: Likewise.
19119 * hook/datehook.c: Likewise.
19120 * parttool/pcpart.c: Likewise.
19121 * fs/i386/pc/pxe.c: Likewise.
19122 * fs/ntfscomp.c: Likewise.
19123 * efiemu/main.c: Likewise.
19124 * mmap/mmap.c: Likewise.
19125 * commands/crc.c: Likewise.
19126 * commands/hexdump.c: Likewise.
19127 * commands/hdparm.c: Likewise.
19128 * commands/acpi.c: Likewise.
19129 * commands/echo.c: Likewise.
19130 * commands/minicmd.c: Likewise.
19131 * commands/blocklist.c: Likewise.
19132 * commands/memrw.c: Likewise.
19133 * commands/loadenv.c: Likewise.
19134 * commands/usbtest.c: Likewise.
19135 * commands/lsmmap.c: Likewise.
19136 * commands/boot.c: Likewise.
19137 * commands/parttool.c: Likewise.
19138 * commands/configfile.c: Likewise.
19139 * commands/search.c: Likewise.
19140 * commands/ieee1275/suspend.c: Likewise.
19141 * commands/cat.c: Likewise.
19142 * commands/i386/pc/pxecmd.c: Likewise.
19143 * commands/i386/pc/play.c: Likewise.
19144 * commands/i386/pc/halt.c: Likewise.
19145 * commands/i386/pc/vbeinfo.c: Likewise.
19146 * commands/i386/pc/vbetest.c: Likewise.
19147 * commands/lspci.c: Likewise.
19148 * commands/date.c: Likewise.
19149 * commands/handler.c: Likewise.
19150 * commands/ls.c: Likewise.
19151 * commands/test.c: Likewise.
19152 * commands/cmp.c: Likewise.
19153 * commands/efi/loadbios.c: Likewise.
19154 * commands/efi/fixvideo.c: Likewise.
19155 * commands/halt.c: Likewise.
19156 * commands/help.c: Likewise.
19157 * commands/reboot.c: Likewise.
19158 * hello/hello.c: Likewise.
19159 * script/sh/main.c: Likewise.
19160 * loader/xnu.c: Likewise.
19161 * term/terminfo.c: Likewise.
19162 * term/i386/pc/serial.c: Likewise.
19163 * term/usb_keyboard.c: Likewise.
19164
515b5079 191652009-05-03 David S. Miller <davem@davemloft.net>
19166
19167 * normal/menu.c: Include grub/parser.h
19168
dfc31a22 191692009-05-03 Pavel Roskin <proski@gnu.org>
19170
2fee74f1 19171 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
19172 not char*.
19173 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
19174 Suggested by Javier Martín <lordhabbit@gmail.com>
19175
dfc31a22 19176 * util/i386/pc/grub-mkrescue.in: Allow for the case when
19177 efiemu??.o doesn't exist.
19178 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
19179 copying.
19180
18f547ad 191812009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 19182
19183 FreeBSD 64-bit support
19184
18f547ad 19185 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 19186 and loader/i386/bsd_trampoline.S
19187 (bsd_mod_ASFLAGS): new variable
19188 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
19189 (FREEBSD_MODTYPE_KERNEL64): likewise
19190 (grub_bsd64_trampoline_start): likewise
19191 (grub_bsd64_trampoline_end): likewise
19192 (grub_bsd64_trampoline_selfjump): likewise
19193 (grub_bsd64_trampoline_gdt): likewise
19194 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
19195 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
19196 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
19197 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 19198 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 19199 of "attrib" member
19200 * loader/i386/bsd_pagetable.c: new file
19201 * loader/i386/bsd_trampoline.S: likewise
19202 * loader/i386/bsd.c (ALIGN_QWORD): new macro
19203 (ALIGN_VAR): likewise
19204 (entry_hi): new variable
19205 (kern_end_mdofs): likewise
19206 (is_64bit): likewise
19207 (grub_freebsd_add_meta): use ALIGN_VAR
19208 (grub_e820_mmap): new declaration
19209 (grub_freebsd_add_mmap): new function
19210 (grub_freebsd_add_meta_module): support 64 bit kernels
19211 (grub_freebsd_list_modules): use ALIGN_VAR
19212 (gdt_descriptor): new declaration
19213 (grub_freebsd_boot): support 64 bit kernels
19214 (grub_bsd_elf64_hook): new function
19215 (grub_bsd_load_elf): support elf64
19216
038c5720 192172009-05-03 Bean <bean123ch@gmail.com>
19218
19219 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
19220 after we get the result of if statement.
19221
fc45fb58 192222009-05-03 Bean <bean123ch@gmail.com>
19223
19224 * Makefile.in (enable_efiemu): New variable.
19225
19226 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
19227 set.
19228 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
19229 path.
19230 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
19231 path, add -mno-red-zone option.
19232 (efiemu64_s.o): Likewise.
19233 (efiemu64.o): Use macro $^ for source file.
19234
19235 * configure.ac (--enable-efiemu): New option.
19236
bbee0f2b 192372009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 xnu support
19240
19241 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
19242 (pkglib_MODULES): add xnu.mod
19243 (xnu_mod_SOURCES): new variable
19244 (xnu_mod_CFLAGS): likewise
19245 (xnu_mod_LDFLAGS): likewise
19246 (xnu_mod_ASFLAGS): likewise
19247 * conf/i386-pc.rmk: likewise
19248 * conf/x86_64-efi.rmk: likewise
7dd4a573 19249 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 19250 new declaration
19251 * include/grub/i386/macho.h: new file
19252 * include/grub/i386/xnu.h: likewise
19253 * include/grub/macho.h: likewise
19254 * include/grub/machoload.h: likewise
19255 * include/grub/x86_64/macho.h: likewise
19256 * include/grub/x86_64/xnu.h: likewise
19257 * include/grub/xnu.h: likewise
19258 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
19259 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
19260 * loader/i386/efi/xnu.c: new file
19261 * loader/i386/pc/xnu.c: likewise
19262 * loader/i386/xnu.c: likewise
19263 * loader/i386/xnu_helper.S: likewise
19264 * loader/macho.c: likewise
19265 * loader/xnu.c: likewise
19266 * loader/xnu_resume.c: likewise
19267 * util/grub-dumpdevtree: likewise
19268 * include/grub/i386/pit.h: include grub/err.h
19269 (grub_pit_wait): export
19270 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 19271
5caf964d 192722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 Efiemu
7dd4a573 19275
5caf964d 19276 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 19277 _linux_efi, linux_efi.
19278 new files in grub-emu
5caf964d 19279 new targets efiemu32.o and efiemu64.o
19280 * loader/linux_normal_efiemu.c: likewise
19281 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 19282 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 19283 files to copy
19284 * include/grub/autoefi.h: new file
7dd4a573 19285 * include/grub/i386/efiemu.h: likewise
5caf964d 19286 * include/grub/i386/pc/efiemu.h: likewise
19287 * include/grub/efi/api.h: add LL suffix when necessary
19288 new definitions relating to tables
19289 * include/grub/efiemu/efiemu.h: new file
19290 * include/grub/efiemu/runtime.h: likewise
19291 * efiemu/prepare.c: likewise
19292 * efiemu/loadcore_common.c: likewise
19293 * efiemu/loadcore64.c: likewise
19294 * efiemu/runtime/efiemu.sh: likewise
19295 * efiemu/runtime/efiemu.S: likewise
19296 * efiemu/runtime/efiemu.c: likewise
19297 * efiemu/runtime/config.h: likewise
19298 * efiemu/prepare32.c: likewise
19299 * efiemu/main.c: likewise
19300 * efiemu/modules/pnvram.c: likewise
19301 * efiemu/modules/i386: likewise
19302 * efiemu/modules/i386/pc: likewise
19303 * efiemu/modules/acpi.c: likewise
19304 * efiemu/i386/pc/cfgtables.c: likewise
19305 * efiemu/i386/loadcore64.c: likewise
19306 * efiemu/i386/loadcore32.c: likewise
19307 * efiemu/prepare64.c: likewise
19308 * efiemu/loadcore.c: likewise
19309 * efiemu/symbols.c: likewise
19310 * efiemu/mm.c: likewise
19311 * efiemu/loadcore32.c: likewise
7dd4a573 19312
193132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 19314
19315 ACPI spoofing
19316
19317 * commands/acpi.c: new file
19318 * commands/i386/pc/acpi.c: likewise
19319 * commands/efi/acpi.c: likewise
19320 * include/grub/acpi.h: likewise
19321 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
19322 (acpi_mod_SOURCES): new variable
19323 (acpi_mod_CFLAGS): likewise
19324 (acpi_mod_LDFLAGS): likewise
19325 * conf/i386-efi.rmk: likewise
19326 * conf/x86_64-efi.rmk: likewise
19327
7dd4a573 193282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 19329
19330 Missing part from mmap patch
19331
19332 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
19333 (grub_mmap_unregister)
19334 (grub_mmap_free_and_unregister): use grub_mmap_register
19335
7dd4a573 193362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 19337
19338 Mmap services
19339
19340 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
19341 * loader/i386/linux.c (find_mmap_size): likewise
19342 (allocate_pages): likewise
19343 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
19344 (grub_fill_multiboot_mmap): likewise
19345 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19346 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19347 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19348 (OPENBSD_MMAP_RESERVED): likewise
19349 * include/grub/i386/pc/memory.h: include grub/memory.h
19350 (grub_lower_mem): removed
19351 (grub_upper_mem): likewise
19352 (GRUB_MACHINE_MEMORY_ACPI): new definition
19353 (GRUB_MACHINE_MEMORY_NVS): likewise
19354 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19355 (GRUB_MACHINE_MEMORY_HOLE): likewise
19356 (grub_machine_mmap_register): likewise
19357 (grub_machine_mmap_unregister): likewise
19358 (grub_machine_get_upper): likewise
19359 (grub_machine_get_lower): likewise
19360 (grub_machine_get_post64): likewise
19361 * include/grub/i386/efi/memory.h: new file
19362 * include/grub/x86_64/efi/memory.h: likewise
19363 * include/grub/efi/memory.h: likewise
19364 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19365 (mmap_mod_SOURCES): new variable
19366 (mmap_mod_LDFLAGS): likewise
19367 (mmap_mod_ASFLAGS): likewise
19368 * conf/i386-coreboot.rmk: likewise
19369 * conf/i386-ieee1275.rmk: likewise
19370 * conf/i386-efi.rmk: likewise
19371 * conf/x86_64-efi.rmk: likewise
19372 * include/grub/types.h (UINT_TO_PTR): new macro
19373 (PTR_TO_UINT32): likewise
19374 (PTR_TO_UINT64): likewise
19375 * include/grub/memory.h: new file
19376 * mmap/i386/pc/mmap.c: likewise
19377 * mmap/i386/pc/mmap_helper.S: likewise
19378 * mmap/i386/uppermem.c: likewise
19379 * mmap/mmap.c: likewise
19380 * mmap/efi/mmap.c: likewise
7dd4a573 19381 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 19382 grub_upper_mem
19383 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19384 (grub_upper_mem): likewise
19385 (grub_machine_init): don't use grub_upper_mem,
19386 make grub_lower_mem local
19387 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19388 grub_mmap_iterate and grub_mmap_get_upper
19389 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19390
d558e6b5 193912009-05-02 Bean <bean123ch@gmail.com>
19392
19393 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19394 script/sh/parser.y.
19395 (pkglib_MODULES): Add normal.mod and sh.mod.
19396 (normal_SOURCES): New variable.
19397 (normal_mod_CFLAGS): Likewise.
19398 (normal_mod_LDFLAGS): Likewise.
19399 (sh_mod_SOURCES): Likewise.
19400 (sh_mod_CFLAGS): Likewise.
19401 (sh_mod_LDFLAGS): Likewise.
19402
19403 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19404 script/sh/lexer.c_DEPENDENCIES.
19405 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19406 kern/rescue_reader.c and kern/rescue_parser.c.
19407 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19408 (grub_emu_SOURCES): Change source files.
19409 (pkglib_MODULES): Remove normal.mod.
19410 (normal_SOURCES): Removed.
19411 (normal_mod_CFLAGS): Likewise.
19412 (normal_mod_LDFLAGS): Likewise.
19413 * conf/i386-coreboot.rmk: Likewise.
19414 * conf/i386-efi.rmk: Likewise.
19415 * conf/i386-ieee1276.rmk: Likewise.
19416 * conf/powerpc-ieee1275.rmk: Likewise.
19417 * conf/sparc64-ieee1275.rmk: Likewise.
19418 * conf/x86_64-efi.rmk: Likewise.
19419
19420 * include/grub/command.h (grub_command_execute): New inline function.
19421
19422 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19423
19424 * include/grub/normal.h: Remove <grub/setjmp.h>.
19425 (grub_fs_module_list): Moved to normal/autofs.c.
19426 (grub_exit_env): Removed.
19427 (grub_command_execute): Likewise.
19428 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19429 parameter script.
19430 (read_command_list): New function declaration.
19431 (read_fs_list): Likewise.
19432
19433 * include/parser.h: Include <grub/reader.h>.
19434 (grub_parser_split_cmdline): Change type of getline parameter.
19435 (grub_parser): New structure.
19436 (grub_parser_class): New variable.
19437 (grub_parser_execute): New function declaration.
19438 (grub_register_rescue_parser): Likewise.
19439 (grub_parser_register): New inline function.
19440 (grub_parser_unregister): Likewise.
19441 (grub_parser_get_current): Likewise.
19442 (grub_parser_set_current): Likewise.
19443
19444 * include/grub/reader.h: New file.
19445 * kern/reader.c: Likewise.
19446 * kern/rescue_parser.c: Likewise.
19447 * kern/rescue_reader.c: Likewise.
19448 * normal/autofs.c: Likewise.
19449 * normal/dyncmd.c: Likewise.
19450
19451 * include/grub/rescue.h: Removed.
19452 * normal/command.h: Likewise.
19453
19454 * include/grub/script.h: Moved to ...
19455 * include/grub/script_sh.h: ... Moved here.
19456 * normal/execute.c: Moved to ...
19457 * script/sh/execute.c: ... Moved here.
19458 * normal/function.c: Moved to ...
19459 * script/sh/function.c: ... Moved here.
19460 * normal/lexer.c: Moved to ...
19461 * script/sh/lexer.c: ... Moved here.
19462 * normal/parser.y: Moved to ...
19463 * script/sh/parser.y: ... Moved here.
19464 * normal/script.c: Moved to ...
19465 * script/sh/script.c: ... Moved here.
19466
19467 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19468 <grub/reader.h>.
19469 (grub_exit_env): Removed.
19470 (fs_module_list): Moved to normal/autofs.c.
19471 (grub_file_getline): Don't handle comment here.
19472 (free_menu): Skip removed field entry->commands.
19473 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19474 script parameter.
19475 (read_config_file): Removed nested parameter, change getline function.
19476 (grub_enter_normal_mode): Removed.
19477 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19478 (read_command_list): Likewise.
19479 (autoload_fs_module): Moved to normal/autofs.c.
19480 (read_fs_list): Likewise.
19481 (reader_nested): New variable.
19482 (grub_normal_execute): Run parser.sh to switch to sh parser.
19483 (grub_cmd_rescue): Removed.
19484 (cmd_normal): Removed.
19485 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19486 rescue command.
19487 (grub_cmdline_run): New function.
19488 (grub_normal_reader_init): Likewise.
19489 (grub_normal_read_line): Likewise.
19490 (grub_env_write_pager): Likewise.
19491 (cmdline): New variable.
19492 (grub_normal_reader): Likewise.
19493 (GRUB_MOD_INIT): Register normal reader and set as current, register
19494 pager hook, register normal command with grub_register_command_prio,
19495 so that it won't show up in command.lst.
19496 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19497 grub_fs_autoload_hook.
19498
19499 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19500 (grub_menu_execute_entry): Replace grub_script_execute with
19501 grub_parser_execute, change parameter to grub_command_execute.
19502
19503 * normal/menu_text.c: Remove <grub/script.h>.
19504
19505 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19506 and <grub/parser.h>.
19507 (run): Change editor_getline to use new parser interface. Change
19508 parameter to grub_command_execute.
19509
19510 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19511 <grub/reader.h> and <grub/parser.h>.
19512 (grub_load_normal_mode): Execute normal command.
19513 (grub_main): Call grub_register_core_commands,
19514 grub_register_rescue_parser and grub_register_rescue_reader, use
19515 grub_reader_loop to enter input loop.
19516
7dd4a573 19517 * kern/parser.c (grub_parser_split_cmdline): Change type of
19518 getline parameter.
d558e6b5 19519 (grub_parser_class): New variable.
19520 (grub_parser_execute): New function.
19521
19522 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19523 * loader/multiboot2.c: Likewise.
19524 * loader/sparc64/ieee1275/linux.c: Likewise.
19525
19526 * util/grub-emu.c (read_command_list): New dummy function.
19527
18db813d 195282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19529
19530 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19531 count to 16 for CCISS and IDA.
19532
6c67de15 195332009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19534
19535 * normal/menu_text.c (grub_wait_after_message): Print a newline
19536 after waiting for user input.
19537
19538 * loader/i386/linux.c: Include `<grub/normal.h>'.
19539 (grub_cmd_linux): Improve the error message about `ask' mode, by
19540 waiting for user input so it's not missed (we can do this, since
19541 user requested interaction).
19542
d9dc87b0 195432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 Added missing lst to grub-mkrescue
19546
19547 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19548 and ${input_dir}/parttool.lst
19549
ac8a2baa 195502009-04-30 David S. Miller <davem@davemloft.net>
19551
ad22a610 19552 * util/hostdisk.c (device_is_wholedisk): New function.
19553 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19554 zero only if device_is_wholedisk() returns true.
19555
6966215d 19556 * util/hostdisk.c (convert_system_partition_to_system_disk):
19557 Handle virtual disk devices named /dev/vdiskX as found on sparc
19558 and powerpc.
19559
ac8a2baa 19560 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19561 lettered partition specifier is found, convert to numbered.
19562
979b4fb4 195632009-04-29 David S. Miller <davem@davemloft.net>
19564
e2bf39b2 19565 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19566 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19567
3c64e104 19568 * normal/command.c: Add missing newline at end of file.
19569
979b4fb4 19570 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19571 warnings.
19572 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19573 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19574 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19575 ihandles have a 32-bit type but need to be stored in a "void *".
19576
136d9f82 195772009-04-28 Pavel Roskin <proski@gnu.org>
19578
9459c306 19579 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19580 not disk. Adjust all dependencies.
2e08a26a 19581 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 19582 grub_disk_close().
19583
136d9f82 19584 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19585 parent's partition, don't copy it by reference, as it gets freed
19586 on close.
19587
7dd4a573 195882009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 19589
19590 Preboot hooks support
19591
19592 * commands/boot.c (struct grub_preboot_t): new declaration
19593 (preboots_head): new variable
19594 (preboots_tail): likewise
19595 (grub_loader_register_preboot_hook): new function
19596 (grub_loader_unregister_preboot_hook): likewise
19597 (grub_loader_set): launch preboot hooks
19598 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19599 (grub_loader_register_preboot_hook): new declaration
19600 (grub_loader_unregister_preboot_hook): likewise
19601
5af922b5 196022009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 Warning fix
19605
7dd4a573 19606 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 19607 calling grub_dprintf
19608
a5562c30 196092009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Bug and warning fixes
19612
7dd4a573 19613 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 19614 declaration
19615 * commands/test.c (test_parse): fixed bug with file tests and corrected
19616 declaration of find_file
19617
4006f85c 196182009-04-26 Pavel Roskin <proski@gnu.org>
19619
19620 * Makefile.in: Don't install empty manual pages if help2man is
19621 missing. Use help2man option for output, not shell redirection.
19622
5c77c3de 196232009-04-26 David S. Miller <davem@davemloft.net>
19624
19625 * util/grub-mkdevicemap.c (make_device_map): Add missing
19626 NESTED_FUNC_ATTR to process_device().
19627
033b10a8 196282009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 Test command
19631
19632 * commands/test.c: rewritten to use bash-like test
19633
e4343593 196342009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 Parttool autoloading and improvements
19637
7dd4a573 19638 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 19639 (parttool.lst): new target
19640 * genmk.rb: generate parttool-*
19641 (CLEANFILES): add #{parttool}
19642 (PARTTOOLFILES): new variable
19643 * genparttoollist.sh: new file
7dd4a573 19644 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 19645 (grub_pcpart_type): likewise
19646 * commands/parttool.c (helpmsg): new variable
19647 (grub_cmd_parttool): output help if not enough arguments are supplied
19648 autoload modules
19649 (GRUB_MOD_INIT(parttool)): use helpmsg
19650
0d312500 196512009-04-24 David S. Miller <davem@davemloft.net>
19652
7dd4a573 19653 Avoiding opening same device multiple times in device iterator.
0d312500 19654
19655 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 19656 and use it to build a list of partitions in iterate_disk() and
0d312500 19657 iterate_partition().
19658
ac20caff 19659 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19660 on disk->data.
19661
0dcf7495 19662 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19663 grub_devalias_iterate() result instead of unconditional 0.
19664 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19665 Also, capture hook return value, either directly or via
19666 grub_children_iterate(), and propagate to caller.
19667 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19668 grub_children_iterate): Return value is now 'int' instead of
19669 'grub_err_t'.
19670 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19671 like a proper iterator, stopping when hooks return non-zero.
19672 (grub_devalias_iterate): Likewise.
19673
c8c08833 196742009-04-23 David S. Miller <davem@davemloft.net>
19675
19676 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19677
f01005a8 196782009-04-22 David S. Miller <davem@davemloft.net>
19679
19680 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19681 is larger than address_cells, use that value for address_cells too.
19682
4e8269da 19683 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19684 IEEE1275_MAX_PATH_LEN): Define.
19685 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19686 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19687 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19688 'devtype'. Explicitly NULL terminate devalias expansion.
19689
a1447506 19690 * util/sparc64/ieee1275/misc.c: New file.
19691 * util/sparc64/ieee1275/grub-setup.c: New file.
19692 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19693 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19694 * util/sparc64/ieee1275/grub-install.in: New file.
19695 * util/ieee1275/ofpath.c: New file.
19696 * util/ieee1275/devicemap.c: New file.
19697 * util/devicemap.c: New file.
19698 * util/deviceiter.c: New file.
19699 * kern/sparc64/ieee1275/init.c: New file.
19700 * include/grub/util/ofpath.h: New file.
19701 * include/grub/util/deviceiter.h: New file.
19702 * util/grub-mkdevicemap.c: Include deviceiter.h.
19703 Implement using grub_util_emit_devicemap_entry and
19704 grub_util_iterate_devices.
19705 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19706 util/devicemap.c into grub-mkdevicemap
19707 * conf/i386-efi.rmk: Likewise.
19708 * conf/i386-ieee1275.rmk: Likewise.
19709 * conf/i386-pc.rmk: Likewise.
19710 * conf/powerpc-ieee1275.rmk: Likewise.
19711 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19712 images and installation utilities. Build kernel as image
19713 instead of as elf binary. Use common rules as much as possible.
19714
7dd4a573 197152009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 19716
19717 Correct GPT definition
19718
7dd4a573 19719 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 19720 of "attrib" member
19721
c6c5219f 197222009-04-19 Felix Zielcke <fzielcke@z-51.de>
19723
19724 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19725
0552ff9f 197262009-04-19 David S. Miller <davem@davemloft.net>
19727
19728 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19729 (grub_rescue_cmd_linux): Rename to...
19730 (grub_cmd_linux): and fix prototype.
19731 (grub_rescue_cmd_initrd): Rename to...
19732 (grub_cmd_initrd): and fix prototype.
19733 (cmd_linux, cmd_initrd): New.
19734 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19735 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19736
d1a282fc 197372009-04-17 Pavel Roskin <proski@gnu.org>
19738
07c5039f 19739 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19740 format.
19741 (grub_ohci_transfer): Likewise.
19742
b012002d 19743 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19744
1bc09c35 19745 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19746 return without a value. Fix inconsistent indentation.
19747
e0ff9126 19748 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19749 match struct grub_fs.
19750
d1a282fc 19751 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19752 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19753 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19754 * commands/lspci.c (grub_lspci_iter): Likewise.
19755
a96df3f2 197562009-04-16 Bean <bean123ch@gmail.com>
19757
19758 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19759 value.
19760
41bb0fe9 197612009-04-15 Pavel Roskin <proski@gnu.org>
19762
19763 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19764 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19765 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19766 definitions.
19767
596c6970 197682009-04-15 Felix Zielcke <fzielcke@z-51.de>
19769
19770 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 19771 that no multiple data or metadata areas are supported and `Unknown
596c6970 19772 metadata header'.
19773
7dd4a573 197742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 19775
19776 Move loader out of the kernel
19777
19778 * kern/loader.c: moved to ...
19779 * commands/boot.c: ... moved here
19780 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19781 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19782 * include/grub/kernel.h (grub_machine_fini): export
19783 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19784 (grub_loader_set): likewise
19785 (grub_loader_unset): likewise
19786 (grub_loader_boot): likewise
19787 * conf/common.rmk: new module boot.mod
19788 (pkglib_MODULES): add boot.mod
19789 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19790 (grub_emu_SOURCES): likewise
19791 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19792 (grub_emu_SOURCES): likewise
19793 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19794 (grub_emu_SOURCES): likewise
19795 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19796 (grub_emu_SOURCES): likewise
19797 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19798 (grub_emu_SOURCES): likewise
7dd4a573 19799 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19800 (grub_emu_SOURCES): likewise
0d5d5653 19801 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 19802 (grub_emu_SOURCES): likewise
0d5d5653 19803
7dd4a573 198042009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 19805
19806 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 19807
5999d619 19808 * kern/misc.c (grub_itoa): Removed function
19809 (grub_ltoa): likewise
19810 (grub_vsprintf): use grub_lltoa
19811
7dd4a573 198122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 19813
19814 Restore grub-emu
19815
19816 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19817 * conf/i386-coreboot.rmk: likewise
19818 * conf/i386-ieee1275.rmk: likewise
19819 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19820
20318222 198212009-04-15 Felix Zielcke <fzielcke@z-51.de>
19822
19823 * INSTALL: Add that `./autogen.sh' needs to be run before
19824 `./configure.'.
19825
d05f0df3 198262009-04-14 Bean <bean123ch@gmail.com>
19827
19828 * Makefile.in (pkglib_DATA): Add handler.lst.
19829 (handler.lst): New rule.
19830
19831 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19832 * conf/i386-coreboot.rmk: Likewise.
19833 * conf/i386-ieee1275.rmk: Likewise.
19834 * conf/i386-efi.rmk: Likewise.
19835 * conf/x86_64-efi.rmk: Likewise.
19836 * conf/powerpc-ieee1275.rmk: Likewise.
19837 * conf/sparc64-ieee1275.rmk: Likewise.
19838
19839 * genhandlerlist.sh: New file.
19840
19841 * genmk.rb: Add rules to generate handler.lst.
19842
19843 * include/grub/normal.h (grub_file_getline): New function definition.
19844 (read_handler_list): Likewise.
19845 (free_handler_list): Likewise.
19846
19847 * include/grub/term.h (grub_term_register_input): Add name parameter
19848 for auto generation of handler.lst.
19849 (grub_term_register_output): Likewise.
19850
19851 * normal/handler.c: New file.
19852
19853 * normal/main.c (get_line): Renamed to grub_file_getline.
19854 (read_config_file): Use the newly renamed grub_file_getline.
19855 (read_command_list): Likewise.
19856 (read_fs_list): Likewise.
19857 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19858 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19859
19860 * term/efi/console.c (grub_console_init): Add name parameter for auto
19861 generation of handler.lst.
19862 * term/gfxterm.c: Likewise.
19863 * term/i386/pc/at_keyboard.c: Likewise.
19864 * term/i386/pc/console.c: Likewise.
19865 * term/i386/pc/serial.c: Likewise.
19866 * term/i386/pc/vesafb.c: Likewise.
19867 * term/i386/pc/vga.c: Likewise.
19868 * term/i386/pc/vga_text.c: Likewise.
19869 * term/ieee1275/ofconsole.c: Likewise.
19870 * term/usb_keyboard.c: Likewise.
19871
33c846be 198722009-04-14 Bean <bean123ch@gmail.com>
19873
19874 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19875 properly with null character.
19876
4484e01e 198772009-04-14 Felix Zielcke <fzielcke@z-51.de>
19878
19879 * configure: Remove.
19880 * config.h.in: Likewise.
f93d668e 19881 * stamp-h.in: Likewise.
4484e01e 19882 * DISTLIST: Likewise.
19883 * conf/common.mk: Likewise.
19884 * conf/i386-coreboot.mk: Likewise.
19885 * conf/i386-efi.mk: Likewise.
19886 * conf/i386-ieee1275.mk: Likewise.
19887 * conf/i386.mk: Likewise.
19888 * conf/i386-pc.mk: Likewise.
19889 * conf/powerpc-ieee1275.mk: Likewise.
19890 * conf/sparc64-ieee1275.mk: Likewise.
19891 * conf/x86_64-efi.mk: Likewise.
19892
19893 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19894 develop on GRUB.
19895
7dd4a573 198962009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 19897 David S. Miller <davem@davemloft.net>
19898
19899 * util/hostdisk.c (make_device_name): Fix buffer length
19900 calculations.
19901
e25b5a8c 199022009-04-14 Felix Zielcke <fzielcke@z-51.de>
19903
19904 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19905 <sys/param.h> and <sys/sysctl.h>.
19906 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19907 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19908 opening the device and reset them afterwards.
19909
1f1f580c 199102009-04-13 Pavel Roskin <proski@gnu.org>
19911
19912 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19913 Reported by John Stanley <jpsinthemix@verizon.net>
19914
7ebc2d6b 199152009-04-13 Robert Millan <rmh@aybabtu.com>
19916
19917 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 19918 that name for menuentries when appropriate.
7ebc2d6b 19919
d8ba3667 199202009-04-13 Felix Zielcke <fzielcke@z-51.de>
19921
19922 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19923
cba416eb 199242009-04-13 Robert Millan <rmh@aybabtu.com>
19925
19926 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19927 to Linux, simply abort telling the user it's no longer supported.
19928
a547a745 199292009-04-13 Felix Zielcke <fzielcke@z-51.de>
19930
19931 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 19932 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 19933 `freebsd_loadenv' only when devices.hints exist.
19934
232a769c 199352009-04-13 Pavel Roskin <proski@gnu.org>
19936
19937 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19938
c3012039 199392009-04-13 Felix Zielcke <fzielcke@z-51.de>
19940
19941 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19942 partition number.
19943 (grub_drive): Likewise.
19944
234022fe 199452009-04-13 David S. Miller <davem@davemloft.net>
19946
19947 * kern/sparc64/ieee1275/ieee1275.c: New file.
19948 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19949 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19950 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19951 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19952 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19953 grub_ieee1275_alloc_physmem): Declare new exported functions.
19954
d8e1836c 19955 * include/grub/sparc64/ieee1275/loader.h: New file.
19956 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19957 * include/grub/sparc64/kernel.h: Likewise.
19958 * loader/sparc64/ieee1275/linux.c: Likewise.
19959
96bd81ec 19960 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19961 (grub_fstest_SOURCES): Likewise.
19962
6a4737e5 19963 * util/hostdisk.c (make_device_name): Do not make any assumptions
19964 about the length of drive names.
19965
1d7a72fd 19966 * kern/dl.c (grub_dl_load_file): Close file immediately when
19967 we are done using it.
19968
56bc2471 199692009-04-12 David S. Miller <davem@davemloft.net>
19970
19971 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19972 values. Noticed by Pavel Roskin.
19973
df38d0bb 19974 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19975 target compiler.
7dd4a573 19976
e382e93a 19977 * genmk.rb: Add more flexible image type specification, also
19978 pass --strip-unneeded to objcopy.
19979 * conf/i386-pc.rmk: Use *_FORMAT.
19980 * conf/i386-pc.mk: Rebuilt.
19981
f5dbbca9 19982 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19983 (OFDISK_HASH_SZ): Define.
19984 (ofdisk_hash): New hash table.
19985 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19986 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19987 instead of device phandle which is not unique.
19988
91c88b12 19989 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19990 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19991 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19992 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19993 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19994 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19995 GRUB_KERNEL_MACHINE_DATA_END): Define.
19996 (grub_kernel_image_size, grub_total_module_size): Declare.
19997
5b5d4aa5 199982009-04-12 Pavel Roskin <proski@gnu.org>
19999
7dd4a573 20000 * configure.ac: Change the logic when we check for target tools.
20001 Do it when the target is specified and it's different from the
20002 specified value of the host.
5b5d4aa5 20003
c91e1793 200042009-04-11 Felix Zielcke <fzielcke@z-51.de>
20005
20006 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
20007 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
20008 GNU/kFreeBSD. Check if a device is a character device. Use
20009 DIOCGMEDIASIZE to get the size.
20010 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
20011 support for GNU/kFreeBSD.
20012 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
20013 is a character device instead of a block device. Add support for
20014 FreeBSD device names.
20015
20016 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
20017 is a character device instead of a block device.
20018
20019 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
20020 is a character device instead of a block device.
20021
b1ac8644 200222009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
20023
20024 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
20025 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
20026 FreeBSD. Check if a device is a character device. Use
20027 DIOCGMEDIASIZE to get the size.
20028 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
20029 support for FreeBSD.
20030 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
20031 is a character device instead of a block device. Add support for
20032 FreeBSD device names.
20033
20034 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
20035 a character device instead of a block device.
20036 (grub_util_check_char_device): New function.
20037
20038 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
20039 a character device instead of a block device.
20040
20041 * include/grub/util/getroot.h (grub_util_check_char_device): New
20042 prototype.
20043
a3f7515a 200442009-04-11 David S. Miller <davem@davemloft.net>
20045
20046 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
20047 static libgcc.
20048 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
20049 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
20050 function, if present.
20051 (__bswapdi2): Likewise.
20052
0d44993d 20053 * include/grub/sparc64/ieee1275/boot.h: New file.
20054 * boot/sparc64/ieee1275/boot.S: Likewise.
20055 * boot/sparc64/ieee1275/diskboot.S: Likewise.
20056
ed3d2bc2 20057 * kern/misc.c (grub_ltoa): New function.
20058 (grub_vsprintf): Use it to format 'long' integers.
20059
d3bfb59c 200602009-04-10 David S. Miller <davem@davemloft.net>
20061
20062 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
20063 slots are of type grub_ieee1275_cell_t.
20064 (grub_nand_read): Likewise.
20065 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
20066 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
20067 macros are used to compare values in arg/ret block of the call.
20068 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20069 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
20070 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
20071 grub_ieee1275_instance_to_path, grub_ieee1275_write,
20072 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
20073 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
20074 grub_ieee1275_close, grub_ieee1275_set_property,
20075 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
20076 grub_ieee1275_cell_t.
20077 * kern/ieee1275/openfw.c (grub_map): Likewise.
20078 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
20079 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
20080
450e2238 20081 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
20082 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
20083 (grub_devalias_iterate): Likewise.
20084
7dd4a573 200852009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 20086
20087 UFS improvements
20088
20089 * fs/ufs.c (INODE_NBLOCKS): new definition
20090 (struct grub_ufs_dirent): added fields for non-BSD dirents
20091 (grub_ufs_get_file_block): fixed double indirect handling
20092 (grub_ufs_lookup_symlink): use more robust way to determine whether
20093 symlink is inline
20094 (grub_ufs_find_file): support for non-BSD dirents
20095 (grub_ufs_dir): support for non-BSD dirents
20096
e7e6862a 200972009-04-10 Bean <bean123ch@gnail.com>
20098
20099 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
20100 attribute, otherwise the size would be wrong for i386 platform.
20101
20102 * include/grub/pci.h (grub_pci_read_word): New inline function.
20103 (grub_pci_read_byte): Likewise.
20104 (grub_pci_write): Likewise.
20105 (grub_pci_write_word): Likewise.
20106 (grub_pci_write_byte): Likewise.
20107
20108 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
20109
20110 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
20111 (find_framebuf): Scan pci to locate the frame buffer address.
20112
20113 * commands/efi/fixvideo.c: New file.
20114
20115 * commands/efi/loadbios.c: Likewise.
20116
20117 * commands/memrw.c: Likewise.
20118
20119 * util/grub-dumpbios.in: Likewise.
20120
20121 * conf/common.rmk (grub-dumpbios): New utility.
20122 (pkglib_MODULES): New module memrw.mod.
20123 (memrw_mod_SOURCE): New macro.
20124 (memrw_mod_CFLAGS): Likewise.
20125 (memrw_mod_LDFLAGS): Likewise.
20126
7dd4a573 20127 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 20128 fixvideo.mod.
20129 (loadbios_mod_SOURCE): New macro.
20130 (loadbios_mod_CFLAGS): Likewise.
20131 (loadbios_mod_LDFLAGS): Likewise.
20132 (fixvideo_mod_SOURCE): Likewise.
20133 (fixvideo_mod_CFLAGS): Likewise.
20134 (fixvideo_mod_LDFLAGS): Likewise.
20135
7dd4a573 20136 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 20137 fixvideo.mod.
20138 (loadbios_mod_SOURCE): New macro.
20139 (loadbios_mod_CFLAGS): Likewise.
20140 (loadbios_mod_LDFLAGS): Likewise.
20141 (fixvideo_mod_SOURCE): Likewise.
20142 (fixvideo_mod_CFLAGS): Likewise.
20143 (fixvideo_mod_LDFLAGS): Likewise.
20144
af63ada2 201452009-04-08 Felix Zielcke <fzielcke@z-51.de>
20146
20147 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
20148
c2cdde70 201492009-04-07 David S. Miller <davem@davemloft.net>
20150
20151 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
20152 support for R_SPARC_OLO10 relocations. Fix compile warning for
20153 R_SPARC_WDISP30 case.
ea3f72cf 20154 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 20155
761319cf 201562009-04-06 Pavel Roskin <proski@gnu.org>
20157
1007d1f5 20158 * include/grub/misc.h (ARRAY_SIZE): New macro.
20159 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
20160 New macro.
20161 * loader/i386/linux.c (allocate_pages): Use free_pages().
20162 (grub_linux_unload): Don't use free_pages().
20163 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
20164 wrong index. Treat all other modes as text modes.
20165 (grub_cmd_linux): Initialize vid_mode unconditionally to
20166 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
20167
761319cf 20168 * commands/help.c (print_command_help): Use cmd->prio, not
20169 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
20170
ea761d40 201712009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 20172
ea761d40 20173 Parttool
20174
20175 * parttool/pcpart.c: new file
20176 * commands/parttool.c: likewise
20177 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
20178 (parttool_mod_SOURCES): new variable
20179 (parttool_mod_CFLAGS): likewise
20180 (parttool_mod_LDFLAGS): likewise
20181 (pcpart_mod_SOURCES): likewise
20182 (pcpart_mod_CFLAGS): likewise
20183 (pcpart_mod_LDFLAGS): likewise
7dd4a573 20184 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 20185 and parttool/pcpart.c
20186 * conf/i386-efi.rmk: likewise
20187 * conf/i386-ieee1275.rmk: likewise
20188 * conf/i386-pc.rmk: likewise
20189 * conf/powerpc-ieee1275.rmk: likewise
20190 * conf/sparc64-ieee1275.rmk: likewise
20191 * conf/x86_64-ieee1275.rmk: likewise
20192
05aaebfb 201932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 Support for mtime and further expandability of dir command
20196
20197 * include/grub/lib/datetime.h: moved to ...
7dd4a573 20198 * include/grub/datetime.h: ... moved here and added
05aaebfb 20199 declaration of grub_unixtime2datetime. All users updated
7dd4a573 20200 * include/grub/fs.h: new syntax for dir and mtime functions in
20201 struct grub_fs
05aaebfb 20202 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
20203 and GRUB_FSHELP_FLAGS_MASK
20204 * commands/ls.c (grub_ls_list_files): Write mtime in long format
20205 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
20206 (grub_ext2_mtime): new function
20207 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
20208 (grub_hfsplus_mtime): new function
20209 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
20210 (GRUB_UFS_ATTR_FILE): likewise
20211 (GRUB_UFS_ATTR_LNK): likewise
20212 (struct grub_ufs_sblock): new fields mtime
20213 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
20214 all users updated
20215 (grub_ufs_dir): mtime support
20216 (grub_ufs_mtime): new function
20217 * fs/affs.c (grub_affs_dir): use new dir syntax
20218 * fs/afs.c (grub_afs_dir): likewise
20219 * fs/cpio.c (grub_cpio_dir): likewise
20220 * fs/fat.c (grub_fat_find_dir): likewise
20221 * fs/hfs.c (grub_hfs_dir): likewise
20222 * fs/iso9660.c (grub_iso9660_dir): likewise
20223 * fs/jfs.c (grub_jfs_dir): likewise
20224 * fs/minix.c (grub_minix_dir): likewise
20225 * fs/ntfs.c (grub_ntfs_dir): likewise
20226 * fs/reiserfs.c (grub_reiserfs_dir): likewise
20227 * fs/sfs.c (grub_sfs_dir): likewise
20228 * fs/xfs.c (grub_xfs_dir): likewise
20229 * util/hostfs.c (grub_hostfs_dir): likewise
20230 * lib/datetime.c: moved to ...
20231 * normal/datetime.c: ... moved here
20232 (grub_unixtime2datetime): new function
20233 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 20234 * normal/completion.c (iterate_dir): use new dir syntax
20235 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 20236 last modification time of a volume
7dd4a573 20237 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 20238 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 20239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 20240 (normal_mod_SOURCES): likewise
20241 (datetime_mod_SOURCES): Removed lib/datetime.c
20242 * conf/i386-efi.rmk: likewise
7dd4a573 20243 * conf/i386-ieee1275.rmk: likewise
05aaebfb 20244 * conf/i386-pc.rmk: likewise
20245 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 20246 * conf/sparc64-ieee1275.rmk: likewise
20247 * conf/x86_64-efi.rmk: likewise
05aaebfb 20248
8a7e1a14 202492009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 20252
20253 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 20254 on grub_fat_find_dir
20255 (grub_fat_find_dir): use grub_fat_iterate_dir
20256 (grub_fat_label): likewise
20257
04186a9c 202582009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20259
7dd4a573 20260 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 20261 and command.h
20262 remove extraneous kernel_elf_HEADERS
20263
da4c0bb6 202642009-04-04 Bean <bean123ch@gnail.com>
20265
20266 * include/grub/util/misc.h: Add dummy function fsync for mingw.
20267
20268 * util/misc.c: Likewise.
20269
54ad9555 202702009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20271
20272 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
20273 instead of grub_printf.
20274
7a6bf9f2 202752009-04-03 Robert Millan <rmh@aybabtu.com>
20276
20277 * loader/i386/linux.c (grub_linux_setup_video): Fill
20278 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
20279 values from `mode info' structure instead of hardcoded
20280 values.
20281
3fcc2083 202822009-04-01 Pavel Roskin <proski@gnu.org>
20283
20284 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
20285 unused now.
20286 * genmk.rb: Likewise.
20287 * configure.ac: Likewise.
20288
5ec9740b 202892009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
20290
20291 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
20292 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
20293
5270cec8 202942009-04-01 David S. Miller <davem@davemloft.net>
20295
20296 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 20297 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 20298 (grub_setjmp): Mark with 'returns_twice' attribute.
20299 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
20300 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
20301 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
20302
9c3dd854 203032009-04-01 Robert Millan <rmh@aybabtu.com>
20304
20305 Reapply fix from 2008-07-28 which was accidentally reverted; also
20306 perform the same fix to a similar check in same function.
20307
20308 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20309 with the same number are found, just use issue a warning with
20310 grub_dprintf(), as this error has been reported to be non-fatal.
20311
0d818b7e 203122009-03-31 Pavel Roskin <proski@gnu.org>
20313
20314 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
20315 for cross-compilation.
20316
95646d92 203172009-03-30 Robert Millan <rmh@aybabtu.com>
20318
20319 Fix i386-ieee1275 build.
20320
20321 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
20322 Remove declaration.
20323
6a003ed1 203242009-03-30 Pavel Roskin <proski@gnu.org>
20325
20326 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
20327 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
20328 zero-terminated, rely only on the strlen value. Fix comparison
20329 of strings differing in length.
20330
92f33540 203312009-03-30 Robert Millan <rmh@aybabtu.com>
20332
20333 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
20334 checking for abi version. Improve error messages on BIOS to notify
20335 user about `linux16' command.
20336
a8c48fd5 203372009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20338
f968172e 20339 Leak fixes
a8c48fd5 20340
f968172e 20341 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
20342 in case of collision
20343 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 20344
9c323f09 203452009-03-29 Robert Millan <rmh@aybabtu.com>
20346
20347 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20348 set `vid_mode' accordingly.
20349 (grub_linux_boot): Process `vid_mode' and set video mode.
20350
ae68f423 203512009-03-29 Robert Millan <rmh@aybabtu.com>
20352
20353 * util/grub.d/10_linux.in (linux_entry): New function.
20354 Factorize generation of Linux boot entries.
20355
5709cfc4 203562009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20357
20358 Make the format of Environment Block plain text. The boot loader
20359 part is not tested well yet.
7dd4a573 20360
5709cfc4 20361 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20362 (buffer): Removed.
20363 (envblk): Likewise.
20364 (usage): Remove "info" and "clear". Add "unset". Update the
20365 description of "set", as this does not delete variables any
20366 longer.
20367 (create_envblk_file): Complete rewrite.
20368 (open_envblk_file): Likewise.
20369 (cmd_info): Removed.
20370 (cmd_list): Likewise.
20371 (cmd_set): Likewise.
20372 (cmd_clear): Likewise.
20373 (list_variables): New function.
20374 (write_envblk): Likewise.
20375 (set_variables): Likewise.
20376 (unset_variables): Likewise.
20377 (main): Complete rewrite.
20378
20379 * commands/loadenv.c (buffer): Removed.
20380 (envblk): Likewise.
20381 (open_envblk_file): New function.
20382 (read_envblk_file): Complete rewrite.
20383 (grub_cmd_load_env): Likewise.
20384 (grub_cmd_list_env): Likewise.
20385 (struct blocklist): New struct.
20386 (free_blocklists): New function.
20387 (check_blocklists): Likewise.
20388 (write_blocklists): Likewise.
20389 (grub_cmd_save_env): Complete rewrite.
20390
20391 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20392 a plain text signature.
20393 (GRUB_ENVBLK_MAXLEN): Removed.
20394 (struct grub_envblk): Complete rewrite.
20395 (grub_envblk_find): Removed.
20396 (grub_envblk_insert): Likewise.
20397 (grub_envblk_open): New prototype.
20398 (grub_envblk_set): Likewise.
20399 (grub_envblk_delete): Put const to VALUE.
20400 (grub_envblk_iterate): Put const to NAME and VALUE.
20401 (grub_envblk_close): New prototype.
20402 (grub_envblk_buffer): New inline function.
20403 (grub_envblk_size): Likewise.
20404
20405 * lib/envblk.c: Include grub/mm.h.
20406 (grub_env_find): Removed.
20407 (grub_envblk_open): New function.
20408 (grub_envblk_close): Likewise.
20409 (escaped_value_len): Likewise.
20410 (find_next_line): Likewise.
20411 (grub_envblk_insert): Removed.
20412 (grub_envblk_set): New function.
20413 (grub_envblk_delete): Complete rewrite.
20414 (grub_envblk_iterate): Likewise.
20415
a9368fd3 204162009-03-28 Robert Millan <rmh@aybabtu.com>
20417
20418 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20419 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20420 variables. Use 16-bit loader.
20421 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20422 loader.
20423 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20424 (grub_linux16_boot): ... this. Update all users.
20425 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20426 (grub_linux_boot): ... this. Update all users.
20427
20428 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20429 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20430 commands to `linux16' and `initrd16'.
20431 (GRUB_MOD_FINI(linux)): Rename to ...
20432 (GRUB_MOD_FINI(linux16)): ... this.
20433
e4dd5a7e 204342009-03-24 Pavel Roskin <proski@gnu.org>
20435
20436 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20437 not just for compilation.
20438
c04d6e05 204392009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 Move multiboot helper out of kernel
20442
20443 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20444 `loader/i386/multiboot_helper.S'.
20445 * conf/i386-coreboot.rmk: Likewise
20446 * conf/i386-ieee1275.rmk: Likewise
20447
20448 * kern/i386/loader.S: Move multiboot helpers from here...
20449 * loader/i386/multiboot_helper.S: ...moved here
20450 * include/grub/i386/loader.h: Move declarations of multiboot
20451 helpers from here...
20452 * include/grub/i386/multiboot.h: ...moved here
20453 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20454
42a5b3fc 204552009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20456
20457 * kern/env.c (grub_env_context_open): Added an argument to specify
20458 whether a new context inherits exported variables from current
20459 one. This is useful when making a sandbox to interpret a config
20460 file.
20461 All callers updated.
20462
20463 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20464
b28bbc4e 204652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20466
20467 * kern/env.c (grub_env_context_close): Fix memory leaks.
20468
f04f02e4 204692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20470
20471 * normal/main.c (grub_normal_execute): Added an argument
20472 BATCH to specify if an interactive interface should be provided
20473 after reading a config file.
20474 All callers updated.
20475 (read_command_list): Prevent being executed twice.
20476 (read_fs_list): Likewise.
20477
42a5b3fc 20478 * include/grub/normal.h (grub_normal_execute): Updated the
20479 prototype.
f04f02e4 20480
41473ac2 204812009-03-22 Pavel Roskin <proski@gno.org>
20482
fbc00b0c 20483 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20484 _start.
20485 * kern/i386/pc/startup.S: Likewise.
20486 * kern/i386/efi/startup.S: Likewise.
20487 * kern/i386/ieee1275/startup.S: Likewise.
20488 * kern/i386/coreboot/startup.S: Likewise.
20489 * kern/x86_64/efi/startup.S: Likewise.
20490
41473ac2 20491 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20492 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20493 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20494
2274cc8f 204952009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20498
20499 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20500 limit detection.
20501 Use vaddr of correct segment for entry_point.
20502
b1b797cb 205032009-03-21 Bean <bean123ch@gmail.com>
20504
20505 * commands/blocklist.c: Add include file <grub/command.h>, remove
20506 <grub/normal.h> and <grub/arg.h>.
20507 (grub_cmd_blocklist): Use the new command interface.
20508 (GRUB_MOD_INIT): Likewise.
20509 (GRUB_MOD_FINI): Likewise.
20510 * commands/boot.c: Likewise.
20511 * commands/cat.c: Likewise.
20512 * commands/cmp.c: Likewise.
20513 * commands/configfile.c: Likewise.
20514 * commands/crc.c: Likewise.
20515 * commands/echo.c: Likewise.
20516 * commands/halt.c: Likewise.
20517 * commands/handler.c: Likewise.
20518 * commands/hdparm.c: Likewise.
20519 * commands/help.c: Likewise.
20520 * commands/hexdump.c: Likewise.
20521 * commands/loadenv.c: Likewise.
20522 * commands/ls.c: Likewise.
20523 * commands/lsmmap.c: Likewise.
20524 * commands/lspci.c: Likewise.
20525 * commands/loadenv.c: Likewise.
20526 * commands/read.c: Likewise.
20527 * commands/reboot.c: Likewise.
20528 * commands/search.c: Likewise.
20529 * commands/sleep.c: Likewise.
20530 * commands/test.c: Likewise.
20531 * commands/usbtest.c: Likewise.
20532 * commands/videotest.c: Likewise.
20533 * commands/i386/cpuid.c: Likewise.
20534 * commands/i386/pc/halt.c: Likewise.
20535 * commands/i386/pc/play.c: Likewise.
20536 * commands/i386/pc/pxecmd.c: Likewise.
20537 * commands/i386/pc/vbeinfo.c: Likewise.
20538 * commands/i386/pc/vbetest.c: Likewise.
20539 * commands/ieee1275/suspend.c: Likewise.
20540 * disk/loopback.c: Likewise.
20541 * font/font_cmd.c: Likewise.
20542 * hello/hello.c: Likewise.
20543 * loader/efi/appleloader.c: Likewise.
20544 * loader/efi/chainloader.c: Likewise.
20545 * loader/i386/bsd.c: Likewise.
20546 * loader/i386/efi/linux.c: Likewise.
20547 * loader/i386/ieee1275/linux.c: Likewise.
20548 * loader/i386/linux.c: Likewise.
20549 * loader/i386/pc/chainloader.c: Likewise.
20550 * loader/i386/pc/linux.c: Likewise.
20551 * loader/powerpc/ieee1275/linux.c: Likewise.
20552 * loader/multiboot_loader.c: Likewise.
20553 * term/gfxterm.c: Likewise.
20554 * term/i386/pc/serial.c: Likewise.
20555 * term/terminfo.c: Likewise.
20556
20557 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20558 * term/i386/pc/vga.c: Likewise.
20559 * video/readers/jpeg.c: Likewise.
20560 * video/readers/png.c: Likewise.
20561 * video/readers/tga.c: Likewise.
20562
20563 * util/grub-fstest (cmd_loopback): Removed.
20564 (cmd_blocklist): Likewise.
20565 (cmd_ls): Likewise.
20566 (grub_register_command): Likewise.
20567 (grub_unregister_command): Likewise.
20568 (execute_command): Use grub_command_find to locate command and execute
20569 it.
20570
20571 * include/grub/efi/chainloader.h: Removed.
20572 * loader/efi/chainloader_normal.c: Likewise.
20573 * loader/i386/bsd_normal.c: Likewise.
20574 * loader/i386/pc/chainloader_normal.c: Likewise.
20575 * loader/i386/pc/multiboot_normal.c: Likewise.
20576 * loader/linux_normal.c: Likewise.
20577 * loader/multiboot_loader_normal.c: Likewise.
20578 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20579
20580 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20581 and grub_register_command_p1.
20582
20583 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20584 kern/command.c, lib/arg.c and commands/extcmd.c.
20585 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20586 (minicmd_mod_SOURCES): New variable.
20587 (minicmd_mod_CFLAGS): Likewise.
20588 (minicmd_mod_LDFLAGS): Likewise.
20589 (extcmd_mod_SOURCES): Likewise.
20590 (extcmd_mod_CFLAGS): Likewise.
20591 (extcmd_mod_LDFLAGS): Likewise.
20592 (boot_mod_SOURCES): Removed.
20593 (boot_mod_CFLAGS): Likewise.
20594 (boot_mod_LDFLAGS): Likewise.
20595
20596 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20597 kern/corecmd.c.
20598 (kernel_img_HEADERS): Add command.h.
20599 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20600 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20601 and lib/arg.c.
20602 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20603 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20604 remove the corresponding normal mode command.
20605 (normal_mod_SOURCES): Remove normal/arg.c.
20606 * conf/i386-coreboot.rmk: Likewise.
20607 * conf/i386-efi.rmk: Likewise.
20608 * conf/i386-ieee1275.rmk: Likewise.
20609 * conf/powerpc-ieee1275.rmk: Likewise.
20610 * conf/x86_64-efi.rmk: Likewise.
20611
20612 * include/grub/arg.h: Move from here ...
20613 * include/grub/lib/arg.h: ... to here.
20614
20615 * normal/arg.c: Move from here ...
20616 * lib/arg.c: ... to here.
20617
20618 * commands/extcmd.c: New file.
20619 * commands/minicmd.c: Likewise.
20620 * include/grub/command.h: Likewise.
20621 * include/grub/extcmd.h: Likewise.
20622 * kern/command.c: Likewise.
20623 * kern/corecmd.c: Likewise.
20624
20625 * kern/list.c (grub_list_iterate): Return int instead of void.
20626 (grub_list_insert): New function.
20627 (grub_prio_list_insert): Likewise.
20628
20629 * kern/rescue.c (grub_rescue_command): Removed.
20630 (grub_rescue_command_list): Likewise.
20631 (grub_rescue_register_command): Likewise.
20632 (grub_rescue_unregister_command): Likewise.
20633 (grub_rescue_cmd_boot): Move to minicmd.c
20634 (grub_rescue_cmd_help): Likewise.
20635 (grub_rescue_cmd_info): Likewise.
20636 (grub_rescue_cmd_boot): Likewise.
20637 (grub_rescue_cmd_testload): Likewise.
20638 (grub_rescue_cmd_dump): Likewise.
20639 (grub_rescue_cmd_rmmod): Likewise.
20640 (grub_rescue_cmd_lsmod): Likewise.
20641 (grub_rescue_cmd_exit): Likewise.
20642 (grub_rescue_print_devices): Moved to corecmd.c.
20643 (grub_rescue_print_files): Likewise.
20644 (grub_rescue_cmd_ls): Likewise.
20645 (grub_rescue_cmd_insmod): Likewise.
20646 (grub_rescue_cmd_set): Likewise.
20647 (grub_rescue_cmd_unset): Likewise.
7d074e3c 20648 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 20649 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 20650 commands, remove grub_rescue_register_command calls.
b1b797cb 20651
7d074e3c 20652 * normal/command.c (grub_register_command): Removed.
b1b797cb 20653 (grub_unregister_command): Likewise.
20654 (grub_command_find): Likewise.
20655 (grub_iterate_commands): Likewise.
20656 (rescue_command): Likewise.
20657 (export_command): Moved to corecmd.c.
20658 (set_command): Removed.
20659 (unset_command): Likewise.
20660 (insmod_command): Likewise.
20661 (rmmod_command): Likewise.
20662 (lsmod_command): Likewise.
20663 (grub_command_init): Likewise.
20664
20665 * normal/completion.c (iterate_command): Use cmd->prio to check for
20666 active command.
20667 (complete_arguments): Use grub_extcmd_t structure to find options.
20668 (grub_normal_do_completion): Change function grub_iterate_commands to
20669 grub_command_iterate.
20670
20671 * normal/execute.c (grub_script_execute_cmd): No need to parse
20672 argument here.
20673
20674 * normal/main.c (grub_dyncmd_dispatcher): New function.
20675 (read_command_list): Register unload commands as dyncmd.
20676 (grub_cmd_normal): Use new command interface, register rescue,
20677 unregister normal at entry, register normal, unregister rescue at exit.
20678
20679 * include/grub/list.h (grub_list_test_t): New type.
20680 (grub_list_iterate): Return int instead of void.
20681 (grub_list_insert): New function.
20682 (GRUB_AS_NAMED_LIST_P): New macro.
20683 (GRUB_AS_PRIO_LIST): Likewise.
20684 (GRUB_AS_PRIO_LIST_P): Likewise.
20685 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20686 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20687 (grub_prio_list): New structure.
20688 (grub_prio_list_insert): New function.
20689 (grub_prio_list_remove): New inline function.
20690
20691 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20692 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20693 (GRUB_COMMAND_FLAG_MENU): Likewise.
20694 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20695 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20696 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20697 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20698 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20699 (grub_command): Likewise.
20700 (grub_register_command): Likewise.
20701 (grub_command_find): Likewise.
20702 (grub_iterate_commands): Likewise.
20703 (grub_command_init): Likewise.
20704 (grub_arg_parse): Likewise.
20705 (grub_arg_show_help): Likewise.
20706
20707 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20708 (grub_rescue_unregister_command): Likewise.
20709
20710 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20711 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20712 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20713
20714 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20715 grub_rescue_cmd_initrd.
20716 * include/grub/i386/loader.h: Likewise.
20717 * include/grub/x86_64/loader.h: Likewise.
20718
20719 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20720
1f4147aa 207212009-03-21 Bean <bean123ch@gmail.com>
20722
20723 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20724 instead of stat in mingw environment.
20725
20726 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20727
20728 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20729
20730 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20731 AC_CONFIG_LINKS.
20732
2156d5ba 207332009-03-21 Bean <bean123ch@gmail.com>
20734
20735 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20736 out of range error.
20737
177b82ca 207382009-03-18 Michel Dänzer <michel@daenzer.net>
20739
20740 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20741 checking inode flags for EXT4_EXTENTS_FLAG.
20742
14aad807 207432009-03-18 Robert Millan <rmh@aybabtu.com>
20744
20745 * loader/i386/linux.c: Include `<grub/video.h>' and
20746 `<grub/i386/pc/vbe.h>'..
20747 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20748 (grub_linux32_boot): Attempt to configure video settings with
20749 grub_linux_setup_video().
20750 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20751 to avoid grub_console_fini() which would step out of graphical mode
20752 unconditionally.
20753
8cf83a27 207542009-03-14 Robert Millan <rmh@aybabtu.com>
20755
20756 Fix build on powerpc.
20757 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20758
40164e75 207592009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20760
20761 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20762 background image command.
20763
c58bc32a 207642009-03-12 Colin D Bennett <colin@gibibit.com>
20765
20766 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20767 (grub_gfxterm_putchar): Extract pairs of identical calls to
20768 draw_cursor out of conditional blocks.
20769
5415144a 207702009-03-11 Pavel Roskin <proski@gnu.org>
20771
20772 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20773 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20774
6394042e 207752009-03-11 Robert Millan <rmh@aybabtu.com>
20776
20777 * loader/i386/multiboot_elfxx.c
20778 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20779
b7b50e5f 207802009-03-11 Felix Zielcke <fzielcke@z-51.de>
20781
20782 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20783 `kern/handler.c'.
20784
1ca7fc96 207852009-03-11 Robert Millan <rmh@aybabtu.com>
20786
20787 * loader/i386/multiboot.c (code_size): New variable.
20788 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 20789 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 20790 4-byte alignment to MBI and others by increasing
7d074e3c 20791 `boot_loader_name_length' appropriately.
1ca7fc96 20792
20793 * loader/i386/multiboot_elfxx.c
20794 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20795
a83ea1d2 207962009-03-09 Felix Zielcke <fzielcke@z-51.de>
20797
20798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20799 `fs/ext2.c'.
20800
aa9f3bff 208012009-03-08 Robert Millan <rmh@aybabtu.com>
20802
20803 Make loader/i386/linux.c usable on i386-pc again.
20804
20805 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20806 memory to heap.
20807 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20808 `#error' stanza.
20809
d8b3b60e 208102009-03-07 Bean <bean123ch@gmail.com>
20811
20812 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20813 allocation.
20814
b362c9e9 208152009-03-06 Robert Millan <rmh@aybabtu.com>
20816
20817 Fix display issue on terminals with screen size other than 80x25
20818 (e.g. gfxterm with resolution higher than 640x480).
20819
20820 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 20821 position relative to the center of the terminal instead of relying
b362c9e9 20822 on a hardcoded offset.
20823
9304eef1 208242009-03-04 Robert Millan <rmh@aybabtu.com>
20825
20826 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20827 installed.
20828
20829 * Makefile.in (host_kernel): New variable.
20830 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20831 scripts instead of just the windows one.
20832 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20833
eabc95fb 208342009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 20835
20836 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20837 `kern/handler.c'.
20838 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20839 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20840 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20842 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20844
ceb1223c 208452009-03-04 Felix Zielcke <fzielcke@z-51.de>
20846
20847 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20848 or if there's no space for the disk label and print the partition number on a
20849 invalid magic.
20850
4910684a 208512009-03-04 Felix Zielcke <fzielcke@z-51.de>
20852
20853 * util/misc.c: Include <time.h>.
20854 (grub_millisleep): New function.
20855
7e9ca17a 208562009-03-04 Bean <bean123ch@gmail.com>
20857
20858 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20859 another option -mno-red-zone.
20860
20861 * commands/handler.c: Change module description.
20862
20863 * kern/handler.c: Add missing space at the end of description line.
20864
20865 * kern/list.c: Likewise.
20866
f501677c 208672009-03-03 Robert Millan <rmh@aybabtu.com>
20868
20869 Move more components to the relocation area, and fix mbi pointer
20870 handling to use the destination rather than the origin (thanks to
20871 Vladimir Serbinenko for spotting).
20872
20873 * loader/i386/multiboot.c (mbi_dest): New variable.
20874 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20875 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20876 relocation area.
20877
9902d047 208782009-03-01 Bean <bean123ch@gmail.com>
20879
50fb7002 20880 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 20881 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20882 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20883 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20884
20885 * loader/i386/efi/linux.c (acpi_guid): New variable.
20886 (acpi_guid): Likewise.
20887 (EBDA_SEG_ADDR): New constant.
20888 (LOW_MEM_ADDR): Likewise.
20889 (FAKE_EBDA_SEG): Likewise.
20890 (fake_bios_data): New function.
20891 (grub_linux_boot): Call fake_bios_data.
20892
71b9f361 208932009-03-01 Bean <bean123ch@gmail.com>
20894
20895 * commands/terminal.c: Removed.
20896
20897 * commands/handler.c: New file.
20898
20899 * include/grub/list.h: Likewise.
20900
20901 * include/grub/handler.h: Likewise.
20902
20903 * kern/list.c: Likewise.
20904
20905 * kern/handler.c: Likewise.
20906
20907 * kern/term.h: Include header file <grub/handler.h>.
20908 (grub_term_input): Move next field to the beginning.
20909 (grub_term_output): Likewise.
20910 (grub_term_input_class): New variable.
20911 (grub_term_output_class): Likewise.
20912 (grub_term_register_input): Changed to inline function.
20913 (grub_term_register_output): Likewise.
20914 (grub_term_unregister_input): Likewise.
20915 (grub_term_unregister_output): Likewise.
20916 (grub_term_set_current_input): Likewise.
20917 (grub_term_set_current_output): Likewise.
20918 (grub_term_get_current_input): Likewise.
20919 (grub_term_get_current_output): Likewise.
20920 (grub_term_iterate_input): Removed.
20921 (grub_term_iterate_output): Likewise.
20922
20923 * kern/term.c (grub_term_list_input): Removed.
20924 (grub_term_list_output): Likewise.
20925 (grub_term_input_class): New variable.
20926 (grub_term_output_class): Likewise.
50fb7002 20927 (grub_cur_term_input): Change variable as macro.
71b9f361 20928 (grub_cur_term_output): Likewise.
20929 (grub_term_register_input): Removed.
20930 (grub_term_register_output): Likewise.
20931 (grub_term_unregister_input): Likewise.
20932 (grub_term_unregister_output): Likewise.
20933 (grub_term_set_current_input): Likewise.
20934 (grub_term_set_current_output): Likewise.
20935 (grub_term_iterate_input): Likewise.
20936 (grub_term_iterate_output): Likewise.
20937 (grub_term_get_current_input): Likewise.
20938 (grub_term_get_current_output): Likewise.
20939
20940 * util/grub-editenv.c: Include header file <grub/handler.h>.
20941 (grub_term_get_current_input): Removed.
20942 (grub_term_get_current_output): Likewise.
20943 (grub_term_input_class): New variable.
50fb7002 20944 (grub_term_output_class): Likewise.
71b9f361 20945
20946 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20947 (grub_term_get_current_output): Likewise.
20948 (grub_term_input_class): New variable.
50fb7002 20949 (grub_term_output_class): Likewise.
71b9f361 20950
20951 * util/grub-probe.c (grub_term_get_current_input): Removed.
20952 (grub_term_get_current_output): Likewise.
20953 (grub_term_input_class): New variable.
50fb7002 20954 (grub_term_output_class): Likewise.
71b9f361 20955
20956 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20957 (grub_term_get_current_output): Likewise.
20958 (grub_term_input_class): New variable.
50fb7002 20959 (grub_term_output_class): Likewise.
71b9f361 20960
20961 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20962 (terminal_mod_SOURCES): Likewise.
20963 (terminal_mod_CFLAGS): Likewise.
20964 (terminal_mod_LDFLAGS): Likewise.
20965
20966 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20967 handler.c.
20968 (kernel_img_SOURCES): Add list.c and handler.c.
20969 (kernel_img_HEADERS): Add list.h and handler.h.
20970
20971 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20972 handler.c.
20973 (kernel_mod_SOURCES): Add list.c and handler.c.
20974 (kernel_mod_HEADERS): Add list.h and handler.h.
20975
20976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20977 handler.c.
20978 (kernel_elf_SOURCES): Add list.c and handler.c.
20979 (kernel_elf_HEADERS): Add list.h and handler.h.
20980
20981 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20982 handler.c.
20983 (kernel_elf_SOURCES): Add list.c and handler.c.
20984 (kernel_elf_HEADERS): Add list.h and handler.h.
20985
20986 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20987 handler.c.
20988 (kernel_mod_SOURCES): Add list.c and handler.c.
20989 (kernel_mod_HEADERS): Add list.h and handler.h.
20990
20991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20992 handler.c.
20993 (kernel_elf_SOURCES): Add list.c and handler.c.
20994 (kernel_elf_HEADERS): Add list.h and handler.h.
20995
8a31787f 209962009-02-27 Robert Millan <rmh@aybabtu.com>
20997
20998 Factorize elf32 / elf64 code in Multiboot loader. This will
20999 prevent it from getting out of sync again.
21000
21001 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
21002 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
21003 grub_multiboot_load_elf64): Move from here ...
21004 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
21005 grub_multiboot_load_elf): ... to here (new file).
21006
51cd3dfc 210072009-02-27 Robert Millan <rmh@aybabtu.com>
21008
21009 * util/grub.d/10_linux.in: Rename "single-user mode" to
21010 "recovery mode".
21011
6e8c9c3a 210122009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 Don't leak in SCSI code.
21015 * disk/scsi.c (grub_scsi_close): free `scsi'.
21016
4b6bf4f9 210172009-02-27 Robert Millan <rmh@aybabtu.com>
21018
21019 * loader/i386/pc/multiboot.c: Move from here ...
21020 * loader/i386/multiboot.c: ... to here. Update all users.
21021
b9413424 210222009-02-27 Robert Millan <rmh@aybabtu.com>
21023
21024 Patch from Alexandre Bique <bique.alexandre@gmail.com>
21025 * util/i386/pc/grub-setup.c (setup): Fix directory path.
21026
50fb7002 210272009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 21028
21029 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
21030 b-tree.
21031
8cc50345 210322009-02-27 Robert Millan <rmh@aybabtu.com>
21033
21034 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
21035 `0x' qualifier as 0 when base is specified as parameter).
21036
6e09b8b7 210372009-02-24 Bean <bean123ch@gmail.com>
21038
21039 * configure.ac: Check for -mcmodel=large in x86_64 target.
21040
21041 * include/grub/efi/api.h (efi_call_10): New macro.
21042 (efi_wrap_10): New function.
21043
21044 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
21045 (GRUB_PE32_REL_BASED_HIGH): Likewise.
21046 (GRUB_PE32_REL_BASED_LOW): Likewise.
21047 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
21048 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
21049 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
21050 (GRUB_PE32_REL_BASED_SECTION): Likewise.
21051 (GRUB_PE32_REL_BASED_REL): Likewise.
21052 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
21053 (GRUB_PE32_REL_BASED_DIR64): Likewise.
21054 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
21055
21056 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
21057 issue.
21058
21059 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
21060 (efi_wrap_10): New function.
21061
21062 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
21063
21064 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
21065 MB/MBP model (NV chipset).
21066 (devdata_devs): Add devpath_5 to the list.
21067
21068 * load/i386/efi/linux.c (video_base): Remove variable.
21069 (RGB_MASK): New macro.
21070 (RGB_MAGIC): Likewise.
21071 (LINE_MIN): Likewise.
21072 (LINE_MAX): Likewise.
21073 (FBTEST_STEP): Likewise.
21074 (FBTEST_COUNT): Likewise.
21075 (fb_list): New variable.
21076 (grub_find_video_card): Remove function.
21077 (find_framebuf): New function.
21078 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
21079 line length.
21080
21081 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
21082 problem for x86_64.
21083
74b21bee 210842009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
21085
21086 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
21087
21088 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
21089 coding tool name.
21090
a455f472 210912009-02-22 Robert Millan <rmh@aybabtu.com>
21092
21093 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
21094 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
21095 in our relocation, instead of using it directly from heap. Also
21096 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
21097
6374daf3 210982009-02-21 Robert Millan <rmh@aybabtu.com>
21099
21100 Implement USB keyboard support (based on patch by Marco Gerards)
21101
21102 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
21103 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
21104 (usb_keyboard_mod_LDFLAGS): New variables.
21105
21106 * term/usb_keyboard.c: New file.
21107
8fa4ea70 211082009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 Corrected wrong declaration
21111
21112 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
21113
353976ac 211142009-02-14 Christian Franke <franke@computer.org>
21115
21116 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
21117 (grub_lspci_iter): Print class code and programming interface byte.
21118
6aa1169b 211192009-02-14 Christian Franke <franke@computer.org>
21120
21121 * gendistlist.sh: Ignore `.svn' directories.
21122
265372ca 211232009-02-14 Felix Zielcke <fzielcke@z-51.de>
21124
21125 * fs/fat.c: Add 2009 to Copyright line.
21126
9ff516f3 211272009-02-14 Christian Franke <franke@computer.org>
21128
21129 * commands/hdparm.c: New file. Provides `hdparm' command
21130 which sends ATA commands via grub_disk_ata_pass_through ().
21131
21132 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
21133
21134 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
21135 and <grub/cpu/io.h> to include/grub/ata.h.
21136 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
21137 (GRUB_CDROM_SECTOR_SIZE): Remove.
21138 (GRUB_ATA_*): Move to include/grub/ata.h.
21139 (GRUB_ATAPI_*): Likewise.
21140 (enum grub_ata_commands): Likewise.
21141 (enum grub_ata_timeout_milliseconds): Likewise.
21142 (struct grub_ata_device): Likewise.
21143 (grub_ata_regset): Likewise.
21144 (grub_ata_regget): Likewise.
21145 (grub_ata_regset2): Likewise.
21146 (grub_ata_regget2): Likewise.
21147 (grub_ata_check_ready): Likewise.
21148 (grub_ata_wait_not_busy): Remove static, exported in
21149 include/grub/ata.h.
21150 (grub_ata_wait_drq): Likewise.
21151 (grub_ata_pio_read): Likewise.
21152
21153 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
21154 function for hdparm.mod.
21155
21156 * include/grub/ata.h: New file, contains declarations from
21157 disk/ata.c.
21158 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
21159
21160 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
21161 (grub_disk_ata_pass_through): New exported variable.
21162
21163 * kern/disk.c (grub_disk_ata_pass_through): New variable.
21164
772e23da 211652009-02-13 Colin D Bennett <colin@gibibit.com>
21166
21167 Support multiple fallback entries, and provide an API to support
21168 executing default+fallback menu entries. Renamed the `terminal' menu
21169 viewer to `text'.
21170
21171 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
21172 variable declaration.
21173 (grub_menu_execute_callback): New structure declaration.
21174 (grub_menu_execute_callback_t): New typedef.
21175 (grub_menu_execute_with_fallback): New function declaration.
21176 (grub_menu_get_entry): Likewise.
21177 (grub_menu_get_timeout): Likewise.
21178 (grub_menu_set_timeout): Likewise.
21179
21180 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
21181
21182 * normal/menu.c (grub_wait_after_message): Moved to
21183 `normal/menu_text.c'.
21184 (draw_border): Likewise.
21185 (print_message): Likewise.
21186 (print_entry): Likewise.
21187 (print_entries): Likewise.
21188 (grub_menu_init_page): Likewise.
21189 (get_entry_number): Likewise.
21190 (print_timeout): Likewise.
21191 (run_menu): Likewise.
21192 (grub_menu_execute_entry): Likewise.
21193 (show_text_menu): Likewise.
21194 (get_and_remove_first_entry_number): New function.
21195 (grub_menu_execute_with_fallback): Likewise.
21196 (get_entry): Renamed to ...
21197 (grub_menu_get_entry): .. this and made it global.
21198 (get_timeout): Renamed to ...
21199 (grub_menu_get_timeout): ... this and made it global.
21200 (set_timeout): Renamed to ...
21201 (grub_menu_set_timeout): ... this and made it global.
21202 (grub_normal_terminal_menu_viewer): Renamed to ...
21203 (grub_normal_text_menu_viewer): ... this.
21204
21205 * normal/menu_text.c: New file. Extracted text-menu-specific code
21206 from normal/menu.c.
21207
21208 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
21209 (normal_mod_SOURCES): Likewise.
21210
21211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21212 (normal_mod_SOURCES): Likewise.
21213
21214 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21215 (normal_mod_SOURCES): Likewise.
21216
21217 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
21218 (normal_mod_SOURCES): Likewise.
21219
21220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21221 (normal_mod_SOURCES): Likewise.
21222
21223 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21224 (normal_mod_SOURCES): Likewise.
21225
21226 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21227 (normal_mod_SOURCES): Likewise.
21228
16ac430e 212292009-02-11 Robert Millan <rmh@aybabtu.com>
21230
21231 * util/grub.d/00_header.in: Update old reference to `font' command.
21232
06ff20fc 212332009-02-10 Felix Zielcke <fzielcke@z-51.de>
21234
21235 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
21236
21237 Based on patch from Javier Martín.
21238
96da9407 212392009-02-09 Felix Zielcke <fzielcke@z-51.de>
21240
21241 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 21242 to avoid false positives with FAT.
96da9407 21243 (grub_fstest_SOURCES): Likewise.
21244 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21245 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21247 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21248 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21249 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21250
6dca6fe4 212512009-02-09 Felix Zielcke <fzielcke@z-51.de>
21252
06ff20fc 21253 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 21254 bpb.version_specific.fat12_or_fat16.fstype and
21255 bpb.version_specific.fat32.fstype.
21256
2550c62f 212572009-02-08 Robert Millan <rmh@aybabtu.com>
21258
be110b30 21259 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 21260
56978920 212612009-02-08 Robert Millan <rmh@aybabtu.com>
21262
21263 * Makefile.in (host_os, host_cpu): New variables.
21264 (target_os): Remove. Update all users.
21265
d64399b5 212662009-02-08 Marco Gerards <marco@gnu.org>
21267
21268 * Makefile.in (enable_grub_emu_usb): New variable.
21269 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
21270 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
21271 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
21272 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
21273 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
21274 `usbtest.mod' and `usbms.mod'.
21275 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
21276 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
21277 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
21278 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
21279 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
21280 variables.
21281
21282 * disk/usbms.c: New file.
21283
21284 * include/grub/usb.h: Likewise.
21285
21286 * include/grub/usbtrans.h: Likewise.
21287
21288 * include/grub/usbdesc.h: Likewise.
21289
21290 * bus/usb/usbtrans.c: Likewise.
21291
21292 * bus/usb/ohci.c: Likewise.
21293
21294 * bus/usb/uhci.c: Likewise.
21295
21296 * bus/usb/usbhub.c: Likewise.
21297
21298 * bus/usb/usb.c: Likewise.
21299
21300 * commands/usbtest.c: Likewise.
21301
21302 * util/usb.c: Likewise.
50fb7002 21303
d64399b5 21304 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
21305
21306 * configure.ac: Test for libusb presence.
50fb7002 21307
d64399b5 21308 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
21309
2b40d6bb 213102009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
21311
21312 * kern/mm.c: Add more comments.
21313
73a4ce81 213142009-02-08 Robert Millan <rmh@aybabtu.com>
21315
21316 Patch from Javier Martín.
21317 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
21318 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
21319
f821ce59 213202009-02-08 Robert Millan <rmh@aybabtu.com>
21321
21322 * fs/cpio.c: Split tar functionality to ...
21323 * fs/tar.c: ... here (new file). Update all users.
21324
aebfc4b0 213252009-02-07 Robert Millan <rmh@aybabtu.com>
21326
21327 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
21328 backward-incompatible features.
21329
21330 Based on patch from Javier Martín, with some adjustments.
21331
50fb7002 213322009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 21333
21334 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
21335
0bb5115e 213362009-02-07 Robert Millan <rmh@aybabtu.com>
21337
21338 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
21339 position of `disk/lvm.c' to ensure grub_init_all() always picks it
21340 after the RAID stuff.
21341
38a0f8e7 213422009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
21343
50fb7002 21344 Fixes problem when running vbetest command as reported by
38a0f8e7 21345 Vladimir Serbinenko <phcoder@gmail.com>.
21346
21347 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21348
3143cc1c 213492009-02-04 Felix Zielcke <fzielcke@z-51.de>
21350
21351 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21352 /dev/md/NpN style mdraid devices.
21353
9cba6fce 213542009-02-03 Felix Zielcke <fzielcke@z-51.de>
21355
21356 * util/unifont2pff.rb: Remove.
21357
e507a2c1 213582009-02-03 Felix Zielcke <fzielcke@z-51.de>
21359
21360 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21361 `#'.
21362
d2c2b4cd 213632009-02-03 Felix Zielcke <fzielcke@z-51.de>
21364
21365 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21366 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21367 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21368 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21370 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21371 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21372
b4315fb0 213732009-02-02 Christian Franke <franke@computer.org>
21374
21375 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21376
de3aa260 213772009-02-01 Felix Zielcke <fzielcke@z-51.de>
21378
7c3ff286 21379 * INSTALL: Note that we now require at least autoconf 2.59 and
21380 that LZO is optional.
de3aa260 21381
825a182b 213822009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21383
21384 Base on patch on bug #24154 created by Tomas Tintera
21385 <trosos@seznam.cz>.
21386
21387 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21388
a69ef770 213892009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21390
7c3ff286 21391 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 21392 <bero@arklinux.org>.
21393
21394 * normal/parser.y (script_init): Add missing semicolon.
21395
6fa42fa6 213962009-01-31 Colin D Bennett <colin@gibibit.com>
21397
7c3ff286 21398 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 21399 (free_menu_entry_classes): Added.
21400 (grub_normal_menu_addentry): Added class property handling.
21401 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21402 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21403
21404 * normal/menu_viewer.c: New file.
21405
21406 * normal/menu.c (run_menu_entry): Renamed to ...
21407 (grub_menu_execute_entry): ... this and made it as global.
21408 (grub_menu_run): Renamed to ...
21409 (show_text_menu): ... this and made it local.
21410 (show_text_menu): Adapt to new function names.
21411 (grub_normal_terminal_menu_viewer): New global variable.
21412
21413 * include/grub/menu.h: New file.
21414
21415 * include/grub/menu_viewer.h: New file.
21416
21417 * include/grub/normal.h: Added include to grub/menu.h.
21418 (grub_menu_entry): Moved to include/grub/menu.h.
21419 (grub_menu_entry_t): Likewise.
21420 (grub_menu): Likewise.
21421 (grub_menu_t): Likewise.
21422 (grub_normal_terminal_menu_viewer): Added.
21423 (grub_menu_execute_entry): Likewise.
21424 (grub_menu_run): Removed.
21425
21426 * DISTLIST: Added include/grub/menu.h.
21427 Added include/grub/menu_viewer.h.
21428 Added normal/menu_viewer.c.
21429
214302009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21431
21432 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21433 arglist for menutitle arguments.
21434
21435 * normal/main.c (grub_normal_menu_addentry): Likewise.
21436
21437 * normal/parser.y (menuentry): Likewise.
21438
21439 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21440
21441 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21442 (grub_script_create_cmdmenu): Likewise.
21443
21444 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21445
21446 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21447 changes.
21448
21449 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21450
21451 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21452
21453 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21454
21455 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21456
21457 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21458
21459 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21460
56192c23 214612009-01-30 Christian Franke <franke@computer.org>
21462
21463 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21464 in option help text.
21465
d72521b3 214662009-01-27 Pavel Roskin <proski@gnu.org>
21467
21468 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21469
994b5e84 214702009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21471
21472 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21473
21474 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21475
21476 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21477 unregister function.
21478
6a7eab2c 214792009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21480
21481 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21482
21483 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21484
21485 * util/grub-mkfont.c (usage): Fix typo.
21486
21487 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21488
1806b56e 214892009-01-26 Daniel Mierswa <impulze@impulze.org>
21490
3fb18f09 21491 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21492
336e1fb9 21493 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21494
1806b56e 21495 * kern/misc.c (grub_strcasecmp): New function.
21496 (grub_strcasecmp): Use grub_size_t instead of int for length.
21497 Fix return value.
21498 * include/grub/misc.h: Update function prototypes.
21499
580b2a0f 215002009-01-26 Robert Millan <rmh@aybabtu.com>
21501
21502 * configure.ac: Fix cross-compilation check.
ef257b36 21503
d31c24f1 215042009-01-22 Christian Franke <franke@computer.org>
21505
21506 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21507 (precision) digit string. Allow `.format2' without `format1' (width).
21508 Limit input chars for `%s' output to `format2' if specified. This is
21509 compatible with standard printf ().
21510
3138b44c 215112009-01-22 Christian Franke <franke@computer.org>
21512
21513 * disk/ata.c (grub_ata_wait_status): Replace by ...
21514 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21515 other status bits may be invalid while BSY is asserted.
21516 (grub_ata_check_ready): New function.
21517 (grub_ata_cmd): Removed.
21518 (grub_ata_wait_drq): New function.
21519 (grub_ata_strncpy): Remove inline.
21520 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21521 and error check now done by grub_ata_wait_drq ().
21522 (grub_ata_pio_write): Likewise.
21523 (grub_atapi_identify): Set DEV before check for !BSY. Use
21524 grub_ata_wait_drq () to wait for data.
21525 (grub_ata_device_initialize): Add status register check to
21526 detect missing SATA slave devices. Add debug messages.
21527 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21528 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21529 transfer loop by grub_ata_pio_write ().
21530 (grub_ata_identify): Set DEV before check for !BSY. Use
21531 grub_ata_wait_drq () to wait for data.
ef257b36 21532 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 21533 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21534 read/write in one loop. Fix invalid command on write. Fix incomplete
21535 command on (size % batch) == 0. Add missing error check after write of
21536 last block. Add debug messages.
21537 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21538
59a64ef6 215392009-01-19 Christian Franke <franke@computer.org>
21540
21541 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21542 (GRUB_ATAPI_IREASON_*): Likewise.
21543 (grub_ata_pio_write): Fix timeout error return.
21544 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21545 (grub_atapi_wait_drq): New function.
21546 (grub_atapi_packet): New parameter `size'.
21547 Use grub_atapi_wait_drq () and direct write instead of
21548 grub_ata_pio_write ().
21549 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21550 reads the number of bytes requested by the device for each DRQ
21551 assertion.
21552 (grub_atapi_write): Remove old implementation, return not
21553 implemented instead.
21554
1cfe20b3 215552009-01-19 Christian Franke <franke@computer.org>
21556
21557 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21558 of 512 to calculate data size.
21559 (grub_scsi_read12): Likewise.
21560 (grub_scsi_write10): Likewise.
21561 (grub_scsi_write12): Likewise.
21562 (grub_scsi_read): Adjust size according to blocksize.
21563 Add checks for invalid blocksize and unaligned transfer.
21564
bee5fe5d 215652009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21566
21567 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21568
ef257b36 21569 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 21570 width glyphs.
21571
3e643f8c 215722009-01-19 Robert Millan <rmh@aybabtu.com>
21573
21574 * config.guess: Update to latest version from config git.
21575 * config.sub: Likewise.
21576
4fa80998 215772009-01-17 Felix Zielcke <fzielcke@z-51.de>
21578
21579 * Makefile.in: Change font compilation to use new grub-mkfont instead
21580 of java version.
21581
21582 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21583 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21584 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21585 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21586 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21587 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21588 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21589 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21590 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21591
7086085b 215922009-01-16 Christian Franke <franke@computer.org>
21593
21594 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21595 (enum grub_ata_timeout_milliseconds): New enum.
21596 (grub_ata_wait_status): Add parameter milliseconds.
21597 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21598 recovery from timed-out commands.
21599 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21600 return grub_errno instead of REG_ERROR.
21601 (grub_ata_pio_write): Add parameter milliseconds.
21602 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21603 Pass milliseconds to grub_ata_wait_status () and
21604 grub_ata_pio_read ().
21605 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21606 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21607 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21608 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21609 It is not suitable for device detection, because DEV bit is ignored,
21610 the command may run too long, and not all devices set the signature
21611 properly.
21612 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21613 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21614 Fix device selection, DEV bit must be set first to address the registers
21615 of the correct device.
21616 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21617 grub_ata_pio_read/write ().
21618 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21619 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21620
4a412913 216212009-01-13 Carles Pina i Estany <carles@pina.cat>
21622
21623 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21624
7795c55e 216252009-01-13 Bean <bean123ch@gmail.com>
d913988c 21626
21627 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21628
7795c55e 216292009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 21630
21631 * Makefile.in: (enable_grub_mkfont): New variable.
21632 (freetype_cflags): Likewise.
21633 (freetype_libs): Likewise.
21634
21635 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21636 (grub_mkfont_SOURCES): New variable.
21637 (grub_mkfont_CFLAGS): Likewise.
21638 (grub_mkfont_LDFLAGS): Likewise.
21639
21640 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21641 library if `--enable-grub-mkfont' is requested.
21642 (enable_grub_mkfont): New variable.
21643 (freetype_cflags): Likewise.
21644 (freetype_libs): Likewise.
21645
21646 * util/grub-mkfont.c: New file.
21647
093af1fe 216482009-01-12 Christian Franke <franke@computer.org>
21649
21650 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21651 mode check. Fix setting of compat_use[].
21652
f36cc108 216532009-01-10 Robert Millan <rmh@aybabtu.com>
21654
21655 Update a few copyright years which we forgot to do in 2008 (only for
21656 files whose changes made in 2008 were copyright-significant)
21657
21658 * Makefile.in: Add 2008 to Copyright line.
21659 * disk/ieee1275/ofdisk.c: Likewise.
21660 * disk/efi/efidisk.c: Likewise.
21661 * kern/dl.c: Likewise.
21662 * kern/sparc64/ieee1275/init.c: Likewise.
21663 * kern/mm.c: Likewise.
21664 * kern/efi/mm.c: Likewise.
21665 * boot/i386/pc/boot.S: Likewise.
21666 * genfslist.sh: Likewise.
21667 * fs/iso9660.c: Likewise.
21668 * fs/hfs.c: Likewise.
21669 * fs/jfs.c: Likewise.
21670 * fs/minix.c: Likewise.
21671 * fs/ufs.c: Likewise.
21672 * gensymlist.sh.in: Likewise.
21673 * genkernsyms.sh.in: Likewise.
21674 * include/grub/misc.h: Likewise.
21675 * include/grub/types.h: Likewise.
21676 * include/grub/symbol.h: Likewise.
21677 * include/grub/elf.h: Likewise.
21678 * include/grub/kernel.h: Likewise.
21679 * include/grub/disk.h: Likewise.
21680 * include/grub/dl.h: Likewise.
21681 * include/grub/i386/linux.h: Likewise.
21682 * include/grub/i386/pc/biosdisk.h: Likewise.
21683 * include/grub/efi/api.h: Likewise.
21684 * include/grub/efi/pe32.h: Likewise.
21685 * include/grub/util/misc.h: Likewise.
21686 * normal/execute.c: Likewise.
21687 * normal/arg.c: Likewise.
21688 * normal/completion.c: Likewise.
21689 * normal/lexer.c: Likewise.
21690 * normal/parser.y: Likewise.
21691 * normal/misc.c: Likewise.
21692 * commands/i386/pc/vbeinfo.c: Likewise.
21693 * commands/hexdump.c: Likewise.
21694 * commands/terminal.c: Likewise.
21695 * commands/ls.c: Likewise.
21696 * commands/help.c: Likewise.
21697 * partmap/pc.c: Likewise.
21698 * loader/efi/chainloader.c: Likewise.
21699 * loader/multiboot_loader.c: Likewise.
21700 * loader/i386/pc/multiboot2.c: Likewise.
21701 * term/efi/console.c: Likewise.
21702 * term/i386/pc/serial.c: Likewise.
21703 * util/lvm.c: Likewise.
21704 * util/console.c: Likewise.
21705 * util/i386/efi/grub-mkimage.c: Likewise.
21706 * util/raid.c: Likewise.
21707
7f02114b 217082009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21709
21710 * commands/videotest.c: Removed include to grub/machine/memory.h.
21711
21712 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21713 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21714 (video_mod_SOURCES): Removed.
21715 (video_mod_CFLAGS): Likewise.
21716 (video_mod_LDFLAGS): Likewise.
21717 (gfxterm_mod_SOURCES): Likewise.
21718 (gfxterm_mod_CFLAGS): Likewise.
21719 (gfxterm_mod_LDFLAGS): Likewise.
21720 (videotest_mod_SOURCES): Likewise.
21721 (videotest_mod_CFLAGS): Likewise.
21722 (videotest_mod_LDFLAGS): Likewise.
21723 (bitmap_mod_SOURCES): Likewise.
21724 (bitmap_mod_CFLAGS): Likewise.
21725 (bitmap_mod_LDFLAGS): Likewise.
21726 (tga_mod_SOURCES): Likewise.
21727 (tga_mod_CFLAGS): Likewise.
21728 (tga_mod_LDFLAGS): Likewise.
21729 (jpeg_mod_SOURCES): Likewise.
21730 (jpeg_mod_CFLAGS): Likewise.
21731 (jpeg_mod_LDFLAGS): Likewise.
21732 (png_mod_SOURCES): Likewise.
21733 (png_mod_CFLAGS): Likewise.
21734 (png_mod_LDFLAGS): Likewise.
21735
21736 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21737 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21738 (video_mod_SOURCES): Added.
21739 (video_mod_CFLAGS): Likewise.
21740 (video_mod_LDFLAGS): Likewise.
21741 (videotest_mod_SOURCES): Likewise.
21742 (videotest_mod_CFLAGS): Likewise.
21743 (videotest_mod_LDFLAGS): Likewise.
21744 (bitmap_mod_SOURCES): Likewise.
21745 (bitmap_mod_CFLAGS): Likewise.
21746 (bitmap_mod_LDFLAGS): Likewise.
21747 (tga_mod_SOURCES): Likewise.
21748 (tga_mod_CFLAGS): Likewise.
21749 (tga_mod_LDFLAGS): Likewise.
21750 (jpeg_mod_SOURCES): Likewise.
21751 (jpeg_mod_CFLAGS): Likewise.
21752 (jpeg_mod_LDFLAGS): Likewise.
21753 (png_mod_SOURCES): Likewise.
21754 (png_mod_CFLAGS): Likewise.
21755 (png_mod_LDFLAGS): Likewise.
21756 (gfxterm_mod_SOURCES): Likewise.
21757 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 21758 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 21759
21760 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21761 grub/machine/console.h.
21762
644fff97 217632009-01-04 Jerone Young <jerone@gmail.com>
21764
21765 Make on screen instructions clearer
21766
21767 Based on patch created by Jidanni <jidanni@jidanni.org>
21768
21769 * normal/menu.c: print clearer instructions on the screen
21770
1e901a75 217712009-01-02 Colin D Bennett <colin@gibibit.com>
21772
21773 New font engine.
34c44600 21774
1e901a75 21775 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21776 build system and fixed gfxterm.c to work with different sized fonts.
21777
21778 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 21779
1e901a75 21780 * configure: Re-generated.
34c44600 21781
1e901a75 21782 * DISTLIST: Removed font/manager.c.
21783 Added font/font.c.
21784 Added font/font_cmd.c.
34c44600 21785
1e901a75 21786 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21787 compilation.
34c44600 21788
1e901a75 21789 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 21790
21791 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 21792
21793 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 21794
1e901a75 21795 * normal/menu.c: Likewise.
34c44600 21796
1e901a75 21797 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21798 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 21799
1e901a75 21800 * include/grub/font.h: Replaced with new file.
34c44600 21801
1e901a75 21802 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21803 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21804 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21805 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21806 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 21807 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 21808 fg_red, fg_green, fg_blue, fg_alpha.
21809 (grub_video_adapter): Removed blit_glyph.
34c44600 21810 (grub_video_blit_glyph): Removed.
21811
1e901a75 21812 * font/manager.c: Removed file.
34c44600 21813
21814 * font/font.c: New file.
21815
1e901a75 21816 * font/font_cmd.c: Likewise.
34c44600 21817
1e901a75 21818 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 21819
1e901a75 21820 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21821 (grub_video_vbe_map_rgba): Likewise.
21822 (grub_video_vbe_unmap_color_int): Likewise.
21823 (grub_video_vbe_blit_glyph): Removed.
21824 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 21825
1e901a75 21826 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21827 (get_pixel): Likewise.
34c44600 21828 (set_pixel): Likewise.
21829
1e901a75 21830 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 21831
1e901a75 21832 * term/gfxterm.c: Adapted to new font engine.
34c44600 21833
1e901a75 21834 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 21835
1e901a75 21836 * term/i386/pc/vga.c: Likewise.
34c44600 21837
1e901a75 21838 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 21839
1e901a75 21840 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 21841
1e901a75 21842 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21843
1e901a75 21844 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21845
1e901a75 21846 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 21847
1e901a75 21848 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 21849
1e901a75 21850 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 21851
1e901a75 21852 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 21853
1e901a75 21854 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21855
21856 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 21857
1e901a75 21858 * util/grub-mkconfig_lib.in: Changed font extension.
21859
278922e8 218602008-12-28 Felix Zielcke <fzielcke@z-51.de>
21861
21862 * util/getroot.c (grub_util_get_grub_dev): Add support for
21863 /dev/md/dNNpNN style partitionable mdraid devices.
21864
3ced05cf 218652008-12-12 Alex Smith <alex@alex-smith.me.uk>
21866
21867 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21868 at a time limit of the PXE TFTP API correctly.
21869 (grub_pxefs_close): Likewise.
21870
7fd0ee30 218712008-11-29 Robert Millan <rmh@aybabtu.com>
21872
34c44600 21873 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 21874 grub_ata_device_initialize() calls.
21875
34c44600 218762008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 21877
21878 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21879 iteration failed.
21880 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21881
89313780 218822008-11-28 Robert Millan <rmh@aybabtu.com>
21883
21884 Fix build on powerpc-ieee1275. Based on patch created by
21885 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21886 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21887 `kern/ieee1275/mmap.c'.
21888 * include/grub/powerpc/ieee1275/memory.h: New file.
21889
15257703 21890 Provide grub-install on coreboot.
21891 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21892 (grub_install_SOURCES): New variable.
21893 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21894 usable on coreboot.
21895
9fc5388a 218962008-11-25 Felix Zielcke <fzielcke@z-51.de>
21897
21898 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21899 to `grub_term_input_t'.
21900 (grub_term_get_current_output): Change return type to
21901 `grub_term_output_t'.
21902
bc3a2f31 219032008-11-22 Robert Millan <rmh@aybabtu.com>
21904
34c44600 21905 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 21906 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21907 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21908 grub_vga_text_cls().
21909
80fc88f2 21910 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 21911 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 21912
cbf36fd3 21913 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21914 to 0x200000 (avoids trouble with some OFW implementations, and matches
21915 with the one in Yaboot).
21916 Reported by Manoel Abranches
21917
73e8e268 219182008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 21919
21920 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21921 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21922
73e8e268 21923 * util/grub-mkconfig_lib.in (grub_warn): New function.
21924 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21925 warnings, to obtain consistent formatting.
21926 * util/grub.d/00_header.in: Likewise.
21927 * util/update-grub_lib.in: Likewise.
21928
e94045a1 21929 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 21930 Move comment text to `#error' stanza.
e94045a1 21931
79d29fd7 21932 Harmonize ieee1275's grub_available_iterate() with the generic
21933 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21934 build problem on i386-ieee1275):
21935 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21936 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21937 parameter `type'. Update all users of this function.
21938 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21939 `kern/ieee1275/mmap.c'.
21940 * kern/ieee1275/init.c
21941 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21942 with ...
21943 (grub_machine_mmap_iterate): ... this.
21944 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21945 return type to `grub_err_t'. Update all implementations of this
21946 function prototype.
21947 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21948 Likewise.
21949
60d6b16e 21950 Add `lsmmap' command (lists firmware-provided memory map):
21951 * commands/lsmmap.c: New file.
21952 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21953 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21954 variables.
21955 * conf/powerpc-ieee1275.rmk: Likewise.
21956 * conf/i386-coreboot.rmk: Likewise.
21957 * conf/i386-ieee1275.rmk: Likewise.
21958
ebaaf49b 219592008-11-19 Robert Millan <rmh@aybabtu.com>
21960
21961 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 21962 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21963 constraints to initrd allocation (based on code from
21964 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21965 for Linux to find it.
ebaaf49b 21966
dfab719f 219672008-11-14 Robert Millan <rmh@aybabtu.com>
21968
21969 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21970 order to cope with duplicate slashes.
21971
10fc3eb9 219722008-11-14 Robert Millan <rmh@aybabtu.com>
21973
21974 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21975 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21976 don't want to mess with lower memory, because it is used in the Linux
21977 loader.
21978
21979 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 21980 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 21981 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21982 is in our heap (probably as a result of it being corrupted during
2f2a3442 21983 decompression). Add #error instance with comment to explain why this
21984 loader isn't currently usable on PC/BIOS.
10fc3eb9 21985
e2e07847 219862008-11-14 Robert Millan <rmh@aybabtu.com>
21987
21988 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 21989 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 21990
fe8e8d69 219912008-11-12 Robert Millan <rmh@aybabtu.com>
21992
21993 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21994
21995 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21996 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21997 from here ...
21998 * include/grub/i386/pc/memory.h: ... to here.
21999
976b07d0 220002008-11-12 Robert Millan <rmh@aybabtu.com>
22001
22002 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
22003 split).
22004
22005 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
22006 (grub_console_cur_color, grub_console_real_putchar)
22007 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
22008 (grub_console_setcolorstate, grub_console_setcolor)
22009 (grub_console_getcolor): Move from here ...
22010 * include/grub/i386/vga_common.h: ... to here (new file).
22011
22012 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
22013 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
22014 `<grub/i386/io.h>'.
22015 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
22016 `<grub/i386/vga_common.h>'.
22017
76679cd3 220182008-11-12 Robert Millan <rmh@aybabtu.com>
22019
22020 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
22021 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
22022 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
22023 variables.
22024 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
22025 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
22026
22027 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
22028 grub_console_init() with call to grub_vga_text_init().
22029 (grub_machine_fini): Replace call to
22030 grub_console_fini() with call to grub_vga_text_fini() and
22031 grub_at_keyboard_fini().
22032
22033 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
22034 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
22035 (grub_console_setcolorstate, grub_console_setcolor)
22036 (grub_console_getcolor): New function prototypes.
22037
22038 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
22039 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
22040 (grub_vga_text_setcursor): Static-ize.
22041 (grub_vga_text_term): New structure.
22042 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
22043
22044 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
22045 (grub_console_cur_color, grub_console_standard_color)
22046 (grub_console_normal_color, grub_console_highlight_color)
22047 (map_char, grub_console_putchar, grub_console_getcharwidth)
22048 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
22049 (grub_console_getcolor): Move from here ...
22050 * term/i386/vga_common.c: ... to here (same function names).
22051
95b841d3 220522008-11-12 Robert Millan <rmh@aybabtu.com>
22053
22054 Use newly-added Multiboot support in coreboot.
22055
22056 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
22057 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
22058
22059 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
22060 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
22061 (codestart): Store the MBI in `startup_multiboot_info' when we're
22062 being loaded using Multiboot.
22063
22064 * kern/i386/coreboot/init.c (grub_machine_init): Move
22065 grub_at_keyboard_init() call to beginning of function (useful for
22066 debugging). Call grub_machine_mmap_init() before attempting to use
22067 grub_machine_mmap_iterate().
22068 (grub_lower_mem, grub_upper_mem): Move from here ...
22069 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
22070 here (new file).
22071
22072 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
22073 function prototype.
22074
761ca975 220752008-11-12 Robert Millan <rmh@aybabtu.com>
22076
22077 Fix a regression introduced by the at_keyboard.mod split. Because
22078 some terminals are default on some platforms and non-default on
22079 others, the first terminal being registered determines which is
22080 going to be default.
22081
22082 * kern/term.c (grub_term_register_input): If this is the first
22083 terminal being registered, set it as the current one.
22084 (grub_term_register_output): Likewise.
22085
22086 * term/efi/console.c (grub_console_init): Do not call
22087 grub_term_set_current_output() or grub_term_set_current_input().
22088 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
22089 * term/i386/pc/console.c (grub_console_init): Likewise.
22090 (grub_console_fini): Do not call grub_term_set_current_input()
22091 (but leave grub_term_set_current_output() to restore text mode).
22092
6c529df7 220932008-11-10 Robert Millan <rmh@aybabtu.com>
22094
22095 * util/grub.d/00_header.in: Add backward compatibility check for
22096 versions of terminal.mod that don't understand `terminal_input' or
22097 `terminal_output'.
22098
132e4113 220992008-11-09 Robert Millan <rmh@aybabtu.com>
22100
22101 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
22102 `terminal_input' / `terminal_output', not `terminal'.
22103
ac293d50 221042008-11-08 Robert Millan <rmh@aybabtu.com>
22105
22106 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 22107 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 22108
0025933a 221092008-11-08 Robert Millan <rmh@aybabtu.com>
22110
22111 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 22112 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 22113 members. Update all users.
22114 * util/console.c (grub_ncurses_term): Split in ...
22115 (grub_ncurses_term_input): ... this, and ...
22116 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 22117 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 22118
37c86336 221192008-11-08 Robert Millan <rmh@aybabtu.com>
22120
22121 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
22122 (PKGDATA): Add $(pkgdata_SRCDIR).
22123 (pkglib_BUILDDIR): New variable.
22124 (pkgdata_SRCDIR): New variable.
22125 (build_env.mk): New target.
22126 (include_DATA): New variable.
22127 (install-local): Install $(include_DATA) files in $(includedir).
22128
b6c15a2d 221292008-11-07 Pavel Roskin <proski@gnu.org>
22130
d99d46f1 22131 * gendistlist.sh: Use C locale for sorting to ensure consistent
22132 output on all systems.
22133
b6c15a2d 22134 * util/grub.d/00_header.in: Remove incorrect space before
22135 "serial".
22136
c32ee8c9 221372008-11-07 Robert Millan <rmh@aybabtu.com>
22138
22139 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
22140 per specification.
22141 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
22142 * loader/multiboot_loader.c (find_multi_boot2_header): New function
22143 (based on find_multi_boot1_header).
22144 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
22145 using find_multi_boot2_header(), and abort if neither Multiboot or
22146 Multiboot headers were found.
22147
651c29b7 221482008-11-07 Robert Millan <rmh@aybabtu.com>
22149
22150 Modularize at_keyboard.mod:
22151
22152 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
22153 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22154 (at_keyboard_mod_LDFLAGS): New variables.
22155
22156 Actual terminal split:
22157
22158 * include/grub/term.h (struct grub_term): Split in ...
22159 (struct grub_term_input): ... this, and ...
22160 (struct grub_term_output): ... this. Update all users.
22161 (grub_term_set_current): Split in ...
22162 (grub_term_set_current_input): ... this, and ...
22163 (grub_term_set_current_output): ... this.
22164 (grub_term_get_current): Split in ...
22165 (grub_term_get_current_input): ... this, and ...
22166 (grub_term_get_current_output): ... this.
22167 (grub_term_register): Split in ...
22168 (grub_term_register_input): ... this, and ...
22169 (grub_term_register_output): ... this.
22170 (grub_term_unregister): Split in ...
22171 (grub_term_unregister_input): ... this, and ...
22172 (grub_term_unregister_output): ... this.
22173 (grub_term_iterate): Split in ...
22174 (grub_term_iterate_input): ... this, and ...
22175 (grub_term_iterate_output): ... this.
22176
22177 * kern/term.c (grub_term_list): Split in ...
22178 (grub_term_list_input): ... this, and ...
22179 (grub_term_list_output): ... this. Update all users.
22180 (grub_cur_term): Split in ...
22181 (grub_cur_term_input): ... this, and ...
22182 (grub_cur_term_output): ... this. Update all users.
22183 (grub_term_set_current): Split in ...
22184 (grub_term_set_current_input): ... this, and ...
22185 (grub_term_set_current_output): ... this.
22186 (grub_term_get_current): Split in ...
22187 (grub_term_get_current_input): ... this, and ...
22188 (grub_term_get_current_output): ... this.
22189 (grub_term_register): Split in ...
22190 (grub_term_register_input): ... this, and ...
22191 (grub_term_register_output): ... this.
22192 (grub_term_unregister): Split in ...
22193 (grub_term_unregister_input): ... this, and ...
22194 (grub_term_unregister_output): ... this.
22195 (grub_term_iterate): Split in ...
22196 (grub_term_iterate_input): ... this, and ...
22197 (grub_term_iterate_output): ... this.
22198
22199 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
22200 a check for input and one for output (and only attempt to get keys
22201 from user when input works).
22202
22203 * util/grub-probe.c (grub_term_get_current): Split in ...
22204 (grub_term_get_current_input): ... this, and ...
22205 (grub_term_get_current_output): ... this.
22206 * util/grub-fstest.c: Likewise.
22207 * util/i386/pc/grub-setup.c: Likewise.
22208 * util/grub-editenv.c: Likewise.
22209
22210 Portability adjustments:
22211
22212 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
22213 `term/i386/pc/at_keyboard.c'.
22214 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
22215 grub_keyboard_controller_init() (now handled by terminal .init).
22216 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
22217 grub_at_keyboard_init().
22218 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
22219 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
22220 at_keyboard.mod via input terminal interface).
22221 * include/grub/i386/coreboot/console.h: Convert into a stub for
22222 `<grub/i386/pc/console.h>'.
22223
22224 Migrate full terminals to new API:
22225
22226 * term/efi/console.c (grub_console_term): Split into ...
22227 (grub_console_term_input): ... this, and ...
22228 (grub_console_term_output): ... this. Update all users.
22229 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
22230 (grub_ofconsole_init): Split into ...
22231 (grub_ofconsole_init_input): ... this, and ...
22232 (grub_ofconsole_init_output): ... this.
22233 (grub_ofconsole_term): Split into ...
22234 (grub_ofconsole_term_input): ... this, and ...
22235 (grub_ofconsole_term_output): ... this. Update all users.
22236 * term/i386/pc/serial.c (grub_serial_term): Split into ...
22237 (grub_serial_term_input): ... this, and ...
22238 (grub_serial_term_output): ... this. Update all users.
22239 * term/i386/pc/console.c (grub_console_term): Split into ...
22240 (grub_console_term_input): ... this, and ...
22241 (grub_console_term_output): ... this. Update all users.
22242 (grub_console_term_input): Only enable it on PC/BIOS platform.
22243 (grub_console_init): Remove grub_keyboard_controller_init() call.
22244
22245 Migrate input terminals to new API:
22246
22247 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
22248 `i386' and `i386/pc' to enable build on x86_64 (this driver is
22249 i386-specific anyway).
22250 (grub_console_checkkey): Rename to ...
22251 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
22252 users.
22253 (grub_keyboard_controller_orig): New variable.
22254 (grub_console_getkey): Rename to ...
22255 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
22256 users.
22257 (grub_keyboard_controller_init): Static-ize. Save original
22258 controller value so that it can be restored ...
22259 (grub_keyboard_controller_fini): ... here (new function).
22260 (grub_at_keyboard_term): New structure.
22261 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
22262 functions.
22263
22264 Migrate output terminals to new API:
22265
22266 * term/i386/pc/vga.c (grub_vga_term): Change type to
22267 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22268 members. Update all users.
22269 * term/gfxterm.c (grub_video_term): Change type to
22270 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22271 members. Update all users.
22272 * include/grub/i386/pc/console.h (grub_console_checkkey)
22273 (grub_console_getkey): Do not export (no longer needed by gfxterm,
22274 etc).
22275
22276 Migrate `terminal' command and userland tools to new API:
22277
22278 * commands/terminal.c (grub_cmd_terminal): Split into ...
22279 (grub_cmd_terminal_input): ... this, and ...
22280 (grub_cmd_terminal_output): ... this.
22281 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
22282 `terminal_input' and `terminal_output'.
22283 * util/grub.d/00_header.in: Adjust `terminal' calls to new
22284 `terminal_input' / `terminal_output' API.
22285 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
22286 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
22287 provided ${GRUB_TERMINAL}, convert it).
22288
96e5d876 222892008-11-04 Robert Millan <rmh@aybabtu.com>
22290
22291 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
22292 for FreeBSD.
22293 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
22294
556f3775 222952008-11-03 Bean <bean123ch@gmail.com>
22296
22297 * kern/elf.c (grub_elf32_load): Revert to previous code.
22298 (grub_elf64_load): Likewise.
22299
22300 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
22301
926b9823 223022008-11-01 Robert Millan <rmh@aybabtu.com>
22303
22304 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
22305 (TARGET_CPPFLAGS): Likewise.
22306 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
22307
1432e958 223082008-11-01 Carles Pina i Estany <carles@pina.cat>
22309
22310 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
22311
dba3f844 223122008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 22313
22314 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
22315 addition of objects until the code is not going to be able to fail.
22316
dba3f844 223172008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 22318
22319 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
22320 (add a missing NULL check, and correct them by moving the pointer
22321 operations after the actual check).
22322
7ab28c21 223232008-10-29 Robert Millan <rmh@aybabtu.com>
22324
22325 * util/i386/pc/grub-install.in: Handle empty string as output from
22326 make_system_path_relative_to_its_root().
22327
1b7748eb 223282008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
22329
22330 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
22331 circular metadata worst case scenario. If the metadata is circular
22332 then copy the wrap in place.
22333 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
22334 project lib/format_text/layout.h
22335 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
22336
c9618ab2 223372008-10-03 Felix Zielcke <fzielcke@z-51.de>
22338
7a36edca 22339 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 22340
bf981c62 223412008-10-03 Felix Zielcke <fzielcke@z-51.de>
22342
22343 * util/update-grub_lib.in: Mention filename in warning message.
22344
6d994591 223452008-09-29 Felix Zielcke <fzielcke@z-51.de>
22346
22347 * NEWS: Update for rename of update-grub to grub-mkconfig.
22348
18ade780 223492008-09-29 Felix Zielcke <fzielcke@z-51.de>
22350
22351 * util/update-grub_lib.in: Copy to ...
22352 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 22353 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 22354 * util/update-grub.in: Rename to ...
22355 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22356 option. Add `--output' option to allow users to specify the generated
22357 configuration file. Default to stdout.
22358 (update_grub_dir): Rename to ...
22359 (grub_mkconfig_dir): ... this.
22360 (grub_cfg): Default to an empty string.
22361 * conf/common.rmk (update-grub): Rename to ...
22362 (grub-mkconfig): ... this.
22363 (update-grub_lib): Copy to ...
22364 (grub-mkconfig_lib): ... this.
22365 (update-grub_SCRIPTS): Copy to ...
22366 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22367 (update-grub_DATA): Rename to ...
22368 (grub-mkconfig_DATA): ... this.
22369
556ce6ac 223702008-09-28 Robert Millan <rmh@aybabtu.com>
22371
22372 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22373 to `modified'. Add the real `created' field.
22374 (grub_iso9660_uuid): Use `modified' rather than `created' for
22375 constructing the UUID.
22376
223772008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 22378
22379 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22380 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22381
92274e85 223822008-09-28 Bean <bean123ch@gmail.com>
22383
22384 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22385 Thanks to Christian Franke for finding this bug.
22386
add6f17a 223872008-09-25 Robert Millan <rmh@aybabtu.com>
22388
22389 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22390 instances of grub_util_get_disk_name() (see previous commit).
22391
d2a367b8 223922008-09-25 Robert Millan <rmh@aybabtu.com>
22393
22394 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22395 `util/i386/get_disk_name.c'.
22396 * conf/i386-efi.rmk: Likewise.
22397 * conf/x86_64-efi.rmk: Likewise.
22398 * conf/i386-coreboot.rmk: Likewise.
22399 * conf/i386-ieee1275.rmk: Likewise.
22400 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22401 `util/ieee1275/get_disk_name.c'.
22402 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22403 * util/ieee1275/get_disk_name.c: Remove file.
22404 * util/i386/get_disk_name.c: Remove file.
22405 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22406 "hd%d" for device.map entries, rather than using
22407 grub_util_get_disk_name().
22408
81a06771 224092008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 22410
22411 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22412 warning.
22413 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22414
5a004279 224152008-09-24 Carles Pina i Estany <carles@pina.cat>
22416
22417 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22418 Changed to 0x5100.
22419 (GRUB_TERM_PPAGE): Changed to 0x4900.
22420
397093d3 224212008-09-24 Robert Millan <rmh@aybabtu.com>
22422
22423 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22424 macros (they were i386-pc specific).
22425 * include/grub/sparc64/ieee1275/console.h: Likewise.
22426 * include/grub/efi/console.h: Likewise.
22427
a91b6c7c 224282008-09-22 Bean <bean123ch@gmail.com>
22429
22430 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22431 resident and in attribute list.
22432
22433 * include/grub/ntfs.h (BMP_LEN): Removed.
22434
c40fd116 224352008-09-22 Bean <bean123ch@gmail.com>
22436
81a06771 22437 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 22438 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22439
22440 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22441 error occurs, as grub_disk_open will call grub_disk_close, which will
22442 call p->close (scsi).
22443
81a06771 224442008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 22445
22446 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22447 (AC_PREREQ): Bumped to 2.59.
22448 (AC_TRY_COMPILE): Replace obsolete macro with ...
22449 (AC_COMPILE_IFELSE): ... this.
22450 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22451 (AC_LINK_IFELSE): ... this.
22452
5dc43410 224532008-09-21 Felix Zielcke <fzielcke@z-51.de>
22454
22455 * autogen.sh: Add a call to `gendistlist.sh'.
22456
9035dce4 224572008-09-19 Christian Franke <franke@computer.org>
22458
22459 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22460 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22461 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22462 Export __enable_execute_stack() to modules.
22463 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22464 New function.
22465
7fd75377 224662008-09-09 Felix Zielcke <fzielcke@z-51.de>
22467
040030b3 22468 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22469 Sort the list.
22470
224712008-09-09 Felix Zielcke <fzielcke@z-51.de>
22472
22473 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 22474 #include <grub/util/hostdisk.h>.
22475
89d5ffcf 224762008-09-08 Robert Millan <rmh@aybabtu.com>
22477
22478 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22479 segments when their filesz is zero (grub_file_read() interprets
81a06771 22480 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 22481 Use `lowest_segment' rather than 0 for calculating the current
22482 segment load address.
22483
40da438f 224842008-09-08 Robert Millan <rmh@aybabtu.com>
22485
22486 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22487 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22488 clobbered useful information.
22489
ddbf5556 224902008-09-08 Robert Millan <rmh@aybabtu.com>
22491
22492 * include/grub/util/biosdisk.h: Move to ...
22493 * include/grub/util/hostdisk.h: ... here. Update all users.
22494 * util/biosdisk.c: Move to ...
22495 * util/hostdisk.c: ... here. Update all users.
22496
783d0f48 224972008-09-07 Robert Millan <rmh@aybabtu.com>
22498
22499 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22500 variables.
22501 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22502 and length can be stored directly in the `mbi->mmap_addr' and
22503 `mbi->mmap_length' struct fields.
22504
548e2ea5 225052008-09-07 Robert Millan <rmh@aybabtu.com>
22506
22507 * conf/i386.rmk: New file. Provides declaration for building
22508 `cpuid.mod'.
22509 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22510 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22511 variables.
22512 Include `conf/i386.mk'.
22513 * conf/i386-efi.rmk: Likewise.
22514 * conf/x86_64-efi.rmk: Likewise.
22515 * conf/i386-coreboot.rmk: Likewise.
22516 * conf/i386-ieee1275.rmk: Likewise.
22517
0ea85a37 225182008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22519
22520 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22521 Adds optimization support for BGR based modes.
22522
22523 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22524 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22525 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22526 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22527 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22528 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22529 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22530 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22531 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22532 (grub_video_i386_vbeblit_index_index): Likewise.
22533 (grub_video_i386_vbeblit_replace_directN): Added.
22534 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22535 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22536 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22537 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22538 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22539 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 22540 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 22541 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22542 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22543 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22544 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22545 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22546 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22547
22548 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22549 (grub_video_i386_vbefill_R8G8B8): Likewise.
22550 (grub_video_i386_vbefill_index): Likewise.
22551 (grub_video_i386_vbefill_direct32): Added.
22552 (grub_video_i386_vbefill_direct24): Likewise.
22553 (grub_video_i386_vbefill_direct16): Likewise.
22554 (grub_video_i386_vbefill_direct8): Likewise.
22555
81a06771 22556 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 22557 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22558 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22559 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22560 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22561 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 22562
0ea85a37 22563 * video/video.c (grub_video_get_blit_format): Updated to use new
22564 blit formats. Added handling for 16 bit color modes.
81a06771 22565
22566 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 22567 fillers.
22568 (common_blitter): Updated to use new blitters.
22569
22570 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22571 Removed.
22572 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22573 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22574 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22575 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22576 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22577 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22578 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22579 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22580 (grub_video_i386_vbeblit_index_index): Likewise.
22581 (grub_video_i386_vbeblit_replace_directN): Added.
22582 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22583 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22584 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22585 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22586 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22587 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22588 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22589 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22590 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22591 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22592 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22593 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22594 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 22595
0ea85a37 22596 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22597 (grub_video_i386_vbefill_R8G8B8): Likewise.
22598 (grub_video_i386_vbefill_index): Likewise.
22599 (grub_video_i386_vbefill_direct32): Added.
22600 (grub_video_i386_vbefill_direct24): Likewise.
22601 (grub_video_i386_vbefill_direct16): Likewise.
22602 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 22603
0ea85a37 22604 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22605 types.
81a06771 22606
0ea85a37 22607 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22608 types.
81a06771 22609
0ea85a37 22610 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22611 blitter types.
81a06771 22612
0ea85a37 22613 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22614 types.
22615
e8a83df6 226162008-09-06 Felix Zielcke <fzielcke@z-51.de>
22617
22618 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22619 RAID level 1.
22620
6bcd8ee5 226212008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 22622
6bcd8ee5 22623 * fs/iso9660.c (grub_iso9660_date): New structure.
22624 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22625 (grub_iso9660_uuid): New function.
c375ae58 22626
59261157 226272008-09-05 Bean <bean123ch@gmail.com>
22628
22629 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22630
22631 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22632 insensitive bit for names in Win32 and Win32 & DOS namespace.
22633
22634 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22635
22636 * include/grub/types.h (LONG_MAX): Likewise.
22637
58b6645a 226382008-09-04 Felix Zielcke <fzielcke@z-51.de>
22639
4ee55921 22640 * util/getroot.c: Include <config.h>.
22641 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22642 add support for /dev/md/N devices and handle LVM double dash escaping.
22643
226442008-09-04 Felix Zielcke <fzielcke@z-51.de>
22645
22646 * config.guess: Update to latest version from config git.
22647 * config.sub: Likewise.
58b6645a 22648
9124f65d 226492008-09-03 Robert Millan <rmh@aybabtu.com>
22650
22651 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22652 `disk->total_sectors'.
22653
81a06771 226542008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 22655
22656 * include/grub/normal.h: Fixed incorrect comment for
22657 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22658
81a06771 226592008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 22660
22661 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22662 values with defines.
22663
22664 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22665 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22666 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22667 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22668 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22669 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22670 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22671 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22672 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22673 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22674 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22675 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22676 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22677 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22678 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22679 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22680 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22681 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22682 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22683
93d5cbf8 226842008-08-31 Robert Millan <rmh@aybabtu.com>
22685
22686 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22687 declaration.
22688 (grub_multiboot): Fix a few warnings.
22689
21751d50 226902008-08-31 Robert Millan <rmh@aybabtu.com>
22691
22692 * loader/i386/pc/multiboot.c: Update comment not to say that
22693 boot_device support is unimplemented.
22694
e27a75c5 226952008-08-31 Robert Millan <rmh@aybabtu.com>
22696
22697 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22698 or memory map support are unimplemented.
22699
81a06771 227002008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 22701
22702 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22703
81a06771 227042008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 22705
22706 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22707 total video memory in 'vbeinfo' output; show color format details for
22708 each video mode.
22709
7c5d8d95 227102008-08-30 Pavel Roskin <proski@gnu.org>
22711
22712 * util/genmoddep.c: Remove for real this time.
22713 * DISTLIST: Remove util/genmoddep.c.
22714
4cebd25a 227152008-08-30 Robert Millan <rmh@aybabtu.com>
22716
22717 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22718 as required by Multiboot spec (it was already 4-byte aligned, but
22719 only by chance).
22720
b497a269 227212008-08-29 Pavel Roskin <proski@gnu.org>
22722
e3925185 22723 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22724 * kern/powerpc/ieee1275/startup.S: ... this.
22725 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22726 * DISTLIST: Likewise.
22727
b497a269 22728 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22729 grub/cpu/kernel.h. Add start label for consistency with other
22730 platforms. Add grub_prefix immediately after start. Add jump
22731 to the code after grub_prefix.
22732 * include/grub/powerpc/kernel.h: Provide valid values for
22733 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22734
6e5a42fe 227352008-08-29 Bean <bean123ch@gmail.com>
22736
22737 * configure.ac: Change host_os to cygwin for mingw.
22738 (asprintf): New check for function.
22739
22740 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22741 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22742
22743 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 22744 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 22745 sync, sleep and grub_util_get_disk_size for mingw.
22746
22747 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22748 to get size in mingw.
22749 (open_device): Use flag O_BINARY if it's defined.
22750 (find_root_device): Add dummy code for mingw.
22751
22752 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22753 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22754 (get_scsi_disk_name): Return 0 for mingw.
22755
22756 * util/hostfs.c: #include <grub/util/misc.h>.
22757 (grub_hostfs_open): Use "rb" flag to open file, use
22758 grub_util_get_disk_size to get disk size for mingw.
22759
22760 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22761 (asprintf): New function if HAVE_ASPRINTF is not set.
22762 (sync): New function for mingw.
22763 (sleep): Likewise.
22764 (grub_util_get_disk_size): Likewise.
22765
ab3f2673 227662008-08-28 Pavel Roskin <proski@gnu.org>
22767
22768 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22769 kern/time.c.
22770
1c282483 227712008-08-28 Robert Millan <rmh@aybabtu.com>
22772
22773 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22774
678e849c 227752008-08-28 Robert Millan <rmh@aybabtu.com>
22776
22777 Change find_grub_drive() syntax so it doesn't prevent it from
22778 detecting NULL names as errors.
22779
22780 * util/biosdisk.c (find_grub_drive): Move free slot search code
22781 from here ...
22782 (find_free_slot): ... to here.
22783 (read_device_map): Use find_free_slot() to search for free slots.
22784
965c75ca 227852008-08-27 Marco Gerards <marco@gnu.org>
22786
22787 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22788 (scsi_mod_SOURCES): New variable.
22789 (scsi_mod_CFLAGS): Likewise
22790 (scsi_mod_LDFLAGS): Likewise.
22791
22792 * disk/scsi.c: New file.
22793
22794 * include/grub/scsi.h: Likewise.
22795
22796 * include/grub/scsicmd.h: Likewise.
22797
22798 * disk/ata.c: Include <grub/scsi.h>.
22799 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22800 instead.
22801 (grub_ata_iterate): Skip ATAPI devices.
22802 (grub_ata_open): Only handle ATAPI devices.
22803 (struct grub_atapi_read): Removed.
22804 (grub_atapi_readsector): Likewise.
22805 (grub_ata_read): No longer handle ATAPI devices.
22806 (grub_ata_write): Likewise.
22807 (grub_atapi_iterate): New function.
22808 (grub_atapi_read): Likewise.
22809 (grub_atapi_write): Likewise.
22810 (grub_atapi_open): Likewise.
22811 (grub_atapi_close): Likewise.
22812 (grub_atapi_dev): New variable.
22813 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22814 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22815
22816 * include/grub/disk.h (enum grub_disk_dev_id): Add
22817 `GRUB_DISK_DEVICE_SCSI_ID'.
22818
c07ae501 228192008-08-26 Robert Millan <rmh@aybabtu.com>
22820
22821 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22822 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22823 descriptive.
22824
5ed20adc 228252008-08-23 Bean <bean123ch@gmail.com>
22826
22827 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22828 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22829 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22830 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22831 dm_nv.mod.
22832 (raid5rec_mod_SOURCES): New macro.
22833 (raid5rec_mod_CFLAGS): Likewise.
22834 (raid5rec_mod_LDFLAGS): Likewise.
22835 (raid6rec_mod_SOURCES): Likewise.
22836 (raid6rec_mod_CFLAGS): Likewise.
22837 (raid6rec_mod_LDFLAGS): Likewise.
22838 (mdraid_mod_SOURCES): Likewise.
22839 (mdraid_mod_CFLAGS): Likewise.
22840 (mdraid_mod_LDFLAGS): Likewise.
22841 (dm_nv_mod_SOURCES): Likewise.
22842 (dm_nv_mod_CFLAGS): Likewise.
22843 (dm_nv_mod_LDFLAGS): Likewise.
22844
22845 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22846 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22847 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22848
22849 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22850 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22851
22852 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22853
22854 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22855
22856 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22857
22858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22859
22860 * disk/raid5_recover.c: New file.
22861
22862 * disk/raid6_recover.c: Likewise.
22863
22864 * disk/mdraid_linux.c: Likewise.
22865
22866 * disk/dmraid_nvidia.c: Likewise.
22867
22868 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22869 ULONG_MAX.
22870
22871 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22872 calculate the size of raid device.
22873 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22874 different layout of raid5.
22875 (grub_raid_scan_device): Remove code specific to mdraid.
22876 (grub_raid_list): New variable.
22877 (free_array): New function.
22878 (grub_raid_register): Likewise.
22879 (grub_raid_unregister): Likewise.
22880 (grub_raid_rescan): Likewise.
22881 (GRUB_MOD_INIT): Don't iterate device here.
22882 (GRUB_MOD_FINI): Use free_array to release resource.
22883
22884 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22885 (grub_raid5_recover_func_t): New function variable type.
22886 (grub_raid6_recover_func_t): Likewise.
22887 (grub_raid5_recover_func): New variable.
22888 (grub_raid6_recover_func): Likewise.
22889 (grub_raid_register): New function.
22890 (grub_raid_unregister): Likewise.
22891 (grub_raid_rescan): Likewise.
22892 (grub_raid_block_xor): Likewise.
22893
22894 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22895 (CMD_CRC): New macro.
22896 (part): Removed.
22897 (read_file): Handle device as well as file.
22898 (cmd_crc): New function.
22899 (fstest): Handle multiple disks.
22900 (options): Remove part, raw and long, add root and diskcount.
22901 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 22902 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 22903 add handling for the new options, support multiple disks.
22904
22905 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22906
29c18915 229072008-08-23 Bean <bean123ch@gmail.com>
22908
22909 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22910
22911 * genfslist.sh: Ignore kernel.mod.
22912
22913 * genpartmaplist.sh: Likewise.
22914
8415f261 229152008-08-23 Robert Millan <rmh@aybabtu.com>
22916
22917 * util/getroot.c (find_root_device): Skip anything that starts with
22918 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22919
d5a7dc5b 229202008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 22921
d5a7dc5b 22922 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22923 * util/grub.d/00_header.in: Allow the administrator to change default
22924 gfxmode via ${GRUB_GFXMODE}.
22925
380cfbb4 229262008-08-21 Felix Zielcke <fzielcke@z-51.de>
22927
22928 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22929
c9baafe7 229302008-08-21 Robert Millan <rmh@aybabtu.com>
22931
22932 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22933 loader.
22934 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22935 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22936
e290bef2 229372008-08-20 Carles Pina i Estany <carles@pina.cat>
22938
22939 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22940 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22941
f9dbfc96 229422008-08-19 Robert Millan <rmh@aybabtu.com>
22943
22944 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22945 (struct grub_virtual_screen): Remove `cursor_color'.
22946 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22947 initialization.
22948 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22949
dd6bd6ab 229502008-08-18 Robert Millan <rmh@aybabtu.com>
22951
22952 Unify (identical) linux_normal.c files.
22953 * loader/i386/efi/linux_normal.c: Move from here ...
22954 * loader/linux_normal.c: ... to here. Update all users.
22955 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22956 * loader/i386/ieee1275/linux_normal.c: Likewise.
22957
7f42f83e 229582008-08-18 Robert Millan <rmh@aybabtu.com>
22959
22960 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22961 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22962 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22963 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22964 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22965 New macros.
22966 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22967 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22968 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22969 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22970 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22971 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22972 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22973 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22974 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22975 portably using grub_getxy().
22976 Replace `-EFI' with `-bzImage' in boot message.
22977
38487ddb 229782008-08-17 Robert Millan <rmh@aybabtu.com>
22979
22980 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22981
deceb3ec 229822008-08-17 Robert Millan <rmh@aybabtu.com>
22983
22984 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22985
22986 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22987 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22988 (grub_machine_mmap_iterate): New function declaration.
22989 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22990 structure.
22991 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22992 macros.
22993
22994 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22995 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22996 Move e820 parsing from here ...
22997 * kern/i386/pc/mmap.c: New file.
22998 (grub_machine_mmap_iterate): ... to here.
22999
23000 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
23001 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
23002 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
23003 (grub_available_iterate): Redeclare to return `void', and redeclare
23004 its hook to use grub_uint64_t as addr and size parameters, and rename
23005 to ...
23006 (grub_machine_mmap_iterate): ... this. Update all users.
23007
23008 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
23009 to make it more readable. Rename to ...
23010 (grub_machine_mmap_iterate): ... this.
23011
23012 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
23013 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
23014 (grub_multiboot): Allocate an extra region after the payload, and fill
23015 it with a Multiboot memory map. Adjust a.out loader to calculate size
23016 with the extra space.
23017 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
23018 with the extra space.
23019
f8aa0f43 230202008-08-17 Carles Pina i Estany <carles@pina.cat>
23021
9807deb9 23022 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 23023
605f5bb6 230242008-08-17 Felix Zielcke <fzielcke@z-51.de>
23025
23026 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
23027 mdate-sh to the list `find' searches for.
23028 * DISTLIST: Regenerated.
23029
210db6c6 230302008-08-16 Felix Zielcke <fzielcke@z-51.de>
23031
23032 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
23033 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 23034 genmoddep.awk, gensymlist.sh.in.
23035 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 23036 * DISTLIST: Regenerated.
48cdbfd4 23037 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 23038
1082b929 230392008-08-16 Robert Millan <rmh@aybabtu.com>
23040
23041 * disk/raid.c (grub_raid_init): Handle/report errors set by
23042 grub_device_iterate().
23043 * disk/lvm.c (grub_lvm_init): Likewise.
23044
42ce5170 230452008-08-15 Bean <bean123ch@gmail.com>
23046
23047 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23048 and datehook.mod.
23049 (datetime_mod_SOURCES): New macro.
23050 (datetime_mod_CFLAGS): Likewise.
23051 (datetime_mod_LDFLAGS): Likewise.
23052 (date_mod_SOURCES): Likewise.
23053 (date_mod_CFLAGS): Likewise.
23054 (date_mod_LDFLAGS): Likewise.
23055 (datehook_mod_SOURCES): Likewise.
23056 (datehook_mod_CFLAGS): Likewise.
23057 (datehook_mod_LDFLAGS): Likewise.
23058
23059 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23060 and datehook.mod.
23061 (datetime_mod_SOURCES): New macro.
23062 (datetime_mod_CFLAGS): Likewise.
23063 (datetime_mod_LDFLAGS): Likewise.
23064 (date_mod_SOURCES): Likewise.
23065 (date_mod_CFLAGS): Likewise.
23066 (date_mod_LDFLAGS): Likewise.
23067 (datehook_mod_SOURCES): Likewise.
23068 (datehook_mod_CFLAGS): Likewise.
23069 (datehook_mod_LDFLAGS): Likewise.
23070
23071 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23072 and datehook.mod.
23073 (datetime_mod_SOURCES): New macro.
23074 (datetime_mod_CFLAGS): Likewise.
23075 (datetime_mod_LDFLAGS): Likewise.
23076 (date_mod_SOURCES): Likewise.
23077 (date_mod_CFLAGS): Likewise.
23078 (date_mod_LDFLAGS): Likewise.
23079 (datehook_mod_SOURCES): Likewise.
23080 (datehook_mod_CFLAGS): Likewise.
23081 (datehook_mod_LDFLAGS): Likewise.
23082
23083 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23084 and datehook.mod.
23085 (datetime_mod_SOURCES): New macro.
23086 (datetime_mod_CFLAGS): Likewise.
23087 (datetime_mod_LDFLAGS): Likewise.
23088 (date_mod_SOURCES): Likewise.
23089 (date_mod_CFLAGS): Likewise.
23090 (date_mod_LDFLAGS): Likewise.
23091 (datehook_mod_SOURCES): Likewise.
23092 (datehook_mod_CFLAGS): Likewise.
23093 (datehook_mod_LDFLAGS): Likewise.
23094
23095 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23096 and datehook.mod.
23097 (datetime_mod_SOURCES): New macro.
23098 (datetime_mod_CFLAGS): Likewise.
23099 (datetime_mod_LDFLAGS): Likewise.
23100 (date_mod_SOURCES): Likewise.
23101 (date_mod_CFLAGS): Likewise.
23102 (date_mod_LDFLAGS): Likewise.
23103 (datehook_mod_SOURCES): Likewise.
23104 (datehook_mod_CFLAGS): Likewise.
23105 (datehook_mod_LDFLAGS): Likewise.
23106
23107 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
23108
23109 * commands/date.c: New file.
23110
23111 * hook/datehook.c: Likewise.
23112
23113 * include/grub/lib/datetime.h: Likewise.
23114
23115 * include/grub/i386/cmos.h: Likewise.
23116
23117 * lib/datetime.c: Likewise.
23118
23119 * lib/i386/datetime.c: Likewise.
23120
23121 * lib/efi/datetime.c: Likewise.
23122
0e9242da 231232008-08-14 Robert Millan <rmh@aybabtu.com>
23124
23125 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
23126 (grub_mkelfimage_SOURCES): New variable.
23127 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
23128
23129 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
23130 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
23131 * conf/powerpc-ieee1275.rmk: Likewise.
23132 * conf/i386-ieee1275.rmk: Likewise.
23133
23134 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
23135 * kern/i386/coreboot/init.c: Likewise.
23136
23137 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
23138 with `<grub/cpu/kernel.h>'.
23139 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
23140 to ...
23141 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
23142 * kern/i386/coreboot/startup.S: Likewise.
23143
23144 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
23145 (GRUB_MOD_GAP): Remove.
23146 * include/grub/powerpc/kernel.h: New file.
23147 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
23148 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
23149 * include/grub/i386/kernel.h: New file.
23150 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
23151 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
23152 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
23153
23154 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
23155 `grub-mkelfimage'.
23156 Use --directory when invoking grub_mkimage.
23157
23158 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
23159 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
23160 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
23161 and GRUB_KERNEL_CPU_PREFIX.
23162
b86408f8 231632008-08-14 Felix Zielcke <fzielcke@z-51.de>
23164
d5e619ca 23165 * include/grub/err.h (grub_err_printf): New function prototype.
23166 * util/misc.c (grub_err_printf): New function.
23167 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
23168 grub_printf.
23169 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 23170
7161f0e0 231712008-08-13 Robert Millan <rmh@aybabtu.com>
23172
23173 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
23174
a1967522 231752008-08-13 Robert Millan <rmh@aybabtu.com>
23176
23177 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
23178 boot entry.
23179
371458b5 231802008-08-12 Robert Millan <rmh@aybabtu.com>
23181
23182 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
23183 of the relocation code from here ...
23184 (grub_multiboot): ... to here.
23185 (forward_relocator, backward_relocator): Move from here ...
23186 * kern/i386/loader.S (grub_multiboot_forward_relocator)
23187 (grub_multiboot_backward_relocator): ... to here.
23188 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
23189 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
23190 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
23191 (grub_multiboot_forward_relocator_end)
23192 (grub_multiboot_backward_relocator)
23193 (grub_multiboot_backward_relocator_end): New variables.
23194
05f9452b 231952008-08-12 Bean <bean123ch@gmail.com>
23196
23197 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
23198
20024ab0 231992008-08-11 Robert Millan <rmh@aybabtu.com>
23200
23201 * kern/i386/linuxbios/startup.S: Move from here ...
23202 * kern/i386/coreboot/startup.S: ... to here.
23203
23204 * kern/i386/linuxbios/init.c: Move from here ...
23205 * kern/i386/coreboot/init.c: ... to here.
23206
23207 * kern/i386/linuxbios/table.c: Move from here ...
23208 * kern/i386/coreboot/mmap.c: ... to here.
23209
23210 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
23211
e352e9cd 232122008-08-11 Robert Millan <rmh@aybabtu.com>
23213
23214 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
23215 errors. Leave it to the upper layer to handle them.
23216
2d05bc6a 232172008-08-09 Christian Franke <franke@computer.org>
23218
23219 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
23220 * conf/common.rmk: Install `grub-pe2elf' only if requested.
23221 Install `grub.d/10_windows' only on Cygwin.
23222 * configure.ac: Add subst of `target_os'.
23223 Check `target_os' also before setting TARGET_OBJ2ELF.
23224 Add `--enable-grub-pe2elf'.
23225
042bd419 232262008-08-08 Robert Millan <rmh@aybabtu.com>
23227
23228 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23229 (grub_last_time): Change type to grub_uint64_t.
23230 (grub_disk_open): Migrate code from to using grub_get_time_ms().
23231 (grub_disk_close): Likewise.
23232
23233 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23234 (run_menu): Migrate code from to using grub_get_time_ms().
23235
23236 * util/misc.c (grub_get_time_ms): New function.
23237
7f280db5 232382008-08-08 Marco Gerards <marco@gnu.org>
23239
23240 * disk/ata.c (grub_ata_regget): Change return type to
23241 `grub_uint8_t'.
23242 (grub_ata_regget2): Likewise.
23243 (grub_ata_wait_status): New function.
23244 (grub_ata_wait_busy): Removed function, updated all users to use
23245 `grub_ata_wait_status'.
23246 (grub_ata_wait_drq): Likewise.
23247 (grub_ata_cmd): New function.
23248 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
23249 error handling.
23250 (grub_ata_pio_write): Add error handling.
23251 (grub_atapi_identify): Likewise.
23252 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
23253 handling.
23254 (grub_ata_identify): Use `grub_ata_cmd' and improve error
23255 handling. Actually use the detected registers. Reorder the
23256 detection logic such that it is easier to read.
23257 (grub_ata_pciinit): Do not assign the same ID to each controller.
23258 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
23259 handling.
23260 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
23261
23262 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
23263
1fbc5e66 232642008-08-08 Marco Gerards <marco@gnu.org>
23265
23266 * NEWS: Update.
23267
819ce6c0 232682008-08-07 Bean <bean123ch@gmail.com>
23269
23270 * include/grub/x86_64/pci.h: New file.
23271
5c41d44d 232722008-08-07 Christian Franke <franke@computer.org>
23273
23274 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
23275 (TIMER2_GATE): Likewise.
23276 (grub_pit_wait): Add enable/disable of the timer2 gate
23277 bit of port 0x61. This fixes a possible infinite loop.
23278
5ebc275d 232792008-08-07 Bean <bean123ch@gmail.com>
23280
23281 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
23282 kern/i386/tsc.c and kern/i386/pit.c.
23283
23284 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
23285 x86_64 platform.
23286
23287 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
23288 <grub/i386/tsc.h>.
23289
23290 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
23291
e383b3d0 232922008-08-07 Bean <bean123ch@gmail.com>
23293
23294 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
23295
23296 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
23297
23298 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
23299 multiple inclusion. Add #include <grub/types.h>.
23300
1cbb58ac 233012008-08-06 Christian Franke <franke@computer.org>
23302
23303 * conf/common.rmk: Build and install `10_windows'.
23304 * util/grub.d/10_windows.in: New script.
23305
337f5a1e 233062008-08-06 Pavel Roskin <proski@gnu.org>
23307
23308 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
23309
057bc4ac 233102008-08-06 Robert Millan <rmh@aybabtu.com>
23311
23312 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
23313 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
23314
2b99f123 233152008-08-06 Bean <bean123ch@gmail.com>
23316
23317 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
23318 (grub_pxefs_fs_int): Remove dummy definition.
23319 (grub_pxefs_open): Use data->block_size to store the current block
23320 size setting.
23321 (grub_pxefs_read): Use block size stored in data->block_size. As the
23322 value of grub_pxe_blksize can be changed after the file is opened.
23323
9f0234cb 233242008-08-06 Bean <bean123ch@gmail.com>
23325
23326 * fs/i386/pc/pxe.c (curr_file): new variable.
23327 (grub_pxefs_open): Simply the handling of pxe file system. Don't
23328 require the dummy internal file system anymore.
23329 (grub_pxefs_read): Removed.
23330 (grub_pxefs_close): Likewise.
23331 (grub_pxefs_fs_int): Likewise.
23332 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
23333 connection when we switch file.
23334 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
23335
a55d42e0 233362008-08-06 Robert Millan <rmh@aybabtu.com>
23337
23338 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
23339 `halt.mod'.
23340 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
23341 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
23342
23343 * kern/i386/halt.c: New file.
23344 * kern/i386/reboot.c: Likewise.
23345 * include/grub/i386/reboot.h: Likewise.
23346 * include/grub/i386/halt.h: Likewise.
23347
23348 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23349 Include `<grub/cpu/halt.h>'.
23350 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23351 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23352
23353 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23354 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23355 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23356 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23357 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23358 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23359 from here ...
23360 * include/grub/i386/at_keyboard.h: ... to here.
23361
24371d26 233622008-08-05 Robert Millan <rmh@aybabtu.com>
23363
23364 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23365 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23366 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23367 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23368 `kern/generic/millisleep.c'.
23369
23370 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23371 instead of grub_get_rtc().
23372 (grub_tsc_init): Initialize `tsc_boot_time'.
23373
23374 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23375 (grub_machine_init): Use grub_tsc_init() rather than
23376 installing an RTC-based handler via grub_install_get_time_ms().
23377
23378 * kern/i386/pit.c: New file.
23379 * include/grub/i386/pit.h: Likewise.
23380
9e7007b3 233812008-08-05 Bean <bean123ch@gmail.com>
23382
23383 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23384
23385 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23386 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23387 (pxe_mod_SOURCES): New macro.
23388 (pxe_mod_CFLAGS): Likewise.
23389 (pxe_mod_LDFLAGS): Likewise.
23390 (pxecmd_mod_SOURCES): Likewise.
23391 (pxecmd_mod_CFLAGS): Likewise.
23392 (pxecmd_mod_LDFLAGS): Likewise.
23393
23394 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23395 (grub_pxe_call): Likewise.
23396
23397 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23398
23399 * commands/i386/pc/pxecmd.c: New file.
23400
9f0234cb 23401 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 23402
23403 * include/grub/i386/pc/pxe.h: Likewise.
23404
6977d49f 234052008-08-05 Bean <bean123ch@gmail.com>
23406
23407 * util/console.c (grub_console_cur_color): New variable.
23408 (grub_console_standard_color): Likewise.
23409 (grub_console_normal_color): Likewise.
23410 (grub_console_highlight_color): Likewise.
23411 (color_map): Likewise.
23412 (use_color): Likewise.
23413 (NUM_COLORS): New macro.
23414 (grub_ncurses_setcolorstate): Handle color properly.
23415 (grub_ncurses_setcolor): Don't change color here, just remember the
23416 settings, color will be set in grub_ncurses_setcolorstate.
23417 (grub_ncurses_getcolor): New function.
23418 (grub_ncurses_init): Initialize color pairs.
23419 (grub_ncurses_term): New member grub_ncurses_getcolor.
23420
9c2ff3ee 234212008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 23422
9c2ff3ee 23423 High resolution timer support. Implemented for x86 CPUs using TSC.
23424 Extracted generic grub_millisleep() so it's linked in only as needed.
23425 This requires a Pentium compatible CPU; if the RDTSC instruction is
23426 not supported, then it falls back on the generic grub_get_time_ms()
23427 implementation that uses the machine's RTC.
23428
23429 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23430 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23431 `kern/generic/millisleep.c'.
23432
23433 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23434 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23435
23436 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23437 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23438
23439 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23440
23441 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23442 `kern/generic/millisleep.c'.
23443
23444 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23445
23446 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23447
23448 * kern/generic/rtc_get_time_ms.c: New file.
23449
23450 * kern/generic/millisleep.c: New file.
337f5a1e 23451
9c2ff3ee 23452 * kern/misc.c: Don't include
23453 <kern/time.h> anymore.
23454 (grub_millisleep_generic): Removed.
23455
23456 * commands/sleep.c (grub_interruptible_millisleep): Uses
23457 grub_get_time_ms() instead of grub_get_rtc().
23458
23459 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23460 function.
23461 (grub_cpu_is_cpuid_supported): New inline function.
23462 (grub_cpu_is_tsc_supported): New inline function.
23463 (grub_tsc_init): New function prototype.
23464 (grub_tsc_get_time_ms): New function prototype.
23465
23466 * kern/i386/tsc.c (grub_get_time_ms): New file.
23467
23468 * include/grub/time.h: Include <grub/types.h.
23469 (grub_millisleep_generic): Removed.
23470 (grub_get_time_ms): New prototype.
23471 (grub_install_get_time_ms): New prototype.
23472 (grub_rtc_get_time_ms): New prototype.
23473
23474 * kern/time.c (grub_get_time_ms): New function.
23475 (grub_install_get_time_ms): New function.
23476
23477 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23478 <grub/time.h> anymore.
23479 (grub_millisleep): Removed.
23480 (grub_machine_init): Call grub_tsc_init.
23481
23482 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23483 get_time_ms() implementation.
23484
23485 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23486 (ieee1275_get_time_ms): New function.
23487 (grub_machine_init): Install get_time_ms() implementation.
23488
23489 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23490 (grub_machine_init): Call grub_tsc_init().
23491 (grub_millisleep): Removed.
bf06a93f 23492
9c2ff3ee 23493 * kern/ieee1275/init.c (grub_millisleep): Removed.
23494 (grub_machine_init): Install ieee1275_get_time_ms()
23495 implementation.
23496 (ieee1275_get_time_ms): New function.
23497 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23498 real work.
23499
9ec92aaf 235002008-08-05 Marco Gerards <marco@gnu.org>
23501
23502 * disk/ata.c: Include <grub/pci.h>.
23503 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23504 (grub_ata_initialize): Rewritten.
23505 (grub_ata_device_initialize): New function.
23506
8d23f507 235072008-08-04 Pavel Roskin <proski@gnu.org>
23508
23509 * kern/main.c: Include grub/mm.h.
23510
5e15ee3d 235112008-08-04 Robert Millan <rmh@aybabtu.com>
23512
23513 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23514 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23515 corruption problem).
23516
a9053f8f 235172008-08-04 Robert Millan <rmh@aybabtu.com>
23518
23519 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23520 warnings introduced in my last commit.
23521
dd19c7d7 235222008-08-03 Robert Millan <rmh@aybabtu.com>
23523
23524 Make PCI available on all i386 architectures.
23525
23526 * include/grub/i386/pc/pci.h: Move from here ...
23527 * include/grub/i386/pci.h: ... to here.
23528
23529 * include/grub/i386/pc/pci.h: Remove.
23530 * include/grub/i386/efi/pci.h: Remove.
23531 * include/grub/x86_64/efi/pci.h: Remove.
23532
23533 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23534 `<grub/cpu/pci.h>'.
23535
23536 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23537 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23538 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23539
23540 * conf/i386-ieee1275.rmk: Likewise.
23541
e14a6184 235422008-08-03 Robert Millan <rmh@aybabtu.com>
23543
23544 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23545 (grub_console_setcursor): Make it possible to set cursor off.
23546
52768e37 235472008-08-03 Robert Millan <rmh@aybabtu.com>
23548
23549 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23550 of modules instead of assuming which platform provides what.
23551 * util/update-grub.in: Likewise.
23552
2d52f57f 235532008-08-03 Robert Millan <rmh@aybabtu.com>
23554
23555 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23556 instead of `grub_install_dos_part' to determine whether a drive needs
23557 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 23558 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 23559
2a5cd121 235602008-08-02 Robert Millan <rmh@aybabtu.com>
23561
23562 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23563
93808428 235642008-08-02 Robert Millan <rmh@aybabtu.com>
23565
23566 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23567 of informational grub_dprintf() calls.
23568
3bd0a12a 235692008-08-02 Robert Millan <rmh@aybabtu.com>
23570
23571 * disk/memdisk.c (memdisk_size): Don't initialize.
23572 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23573
23574 * include/grub/i386/pc/kernel.h
23575 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23576 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23577 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23578 (grub_arch_memdisk_size): Remove.
23579
23580 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23581 field (was only used to transfer a constant). Add `type' field to
23582 support multiple module types.
23583 (grub_module_iterate): New function.
23584
23585 * kern/device.c (grub_device_open): Do not hide error messages
23586 when grub_disk_open() fails. Use grub_print_error() instead.
23587
23588 * kern/i386/pc/init.c (grub_arch_modules_addr)
23589 (grub_arch_memdisk_size): Remove functions.
23590 (grub_arch_modules_addr): Return the module address in high memory
23591 (now that it isn't copied anymore).
23592
23593 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23594 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23595 decompression routine (grub_total_module_size already includes that
23596 now). Don't copy modules back to low memory.
23597
23598 * kern/main.c: Include `<grub/mm.h>'.
23599 (grub_load_modules): Split out (and use) ...
23600 (grub_module_iterate): ... this function, which iterates through
23601 module objects and runs a hook.
23602 Comment out grub_mm_init_region() call, as it would cause non-ELF
23603 modules to be overwritten.
23604
23605 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23606 the memdisk image in its own region, make it part of the module list.
23607 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23608 (main): Parse --memdisk|-m option, and pass user-provided path as
23609 parameter to generate_image().
23610 (add_segments): Pass `memdisk_path' down to load_modules().
23611 (load_modules): Embed memdisk image in module section when requested.
23612 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23613 `header.type' instead of `header.offset'.
23614
23615 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23616 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23617 (memdisk_mod_LDFLAGS): New variables.
23618 * conf/i386-coreboot.rmk: Likewise.
23619 * conf/i386-ieee1275.rmk: Likewise.
23620
a927cc73 236212008-08-02 Robert Millan <rmh@aybabtu.com>
23622
23623 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23624 (backward_relocator): New variables. Used to allocate and relocate
23625 the payload, respectively.
23626 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 23627 address, install the appropriate relocator code in each bound of
a927cc73 23628 the payload, and set the entry point such that
23629 grub_multiboot_real_boot() will jump to one of them.
23630
23631 * kern/i386/loader.S (grub_multiboot_payload_size)
23632 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23633 (grub_multiboot_payload_entry_offset): New variables.
23634 (grub_multiboot_real_boot): Set cpu context to what the relocator
23635 expects, and jump to the relocator instead of the payload.
23636
23637 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23638 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23639 (grub_multiboot_payload_entry_offset): Export.
23640
b15d8a0c 236412008-08-01 Bean <bean123ch@gmail.com>
23642
23643 * normal/menu_entry.c (editor_getline): Don't return the original
23644 string as result, as it will be released by lexer once it has done
23645 using it.
23646
cdfb3d22 236472008-08-01 Robert Millan <rmh@aybabtu.com>
23648
23649 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23650 within menuentries, not before them.
23651 util/grub.d/10_hurd.in: Likewise.
23652
9175e93d 236532008-08-01 Bean <bean123ch@gmail.com>
23654
23655 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23656 (bufio_mod_SOURCES): New macro.
23657 (bufio_mod_CFLAGS): Likewise.
23658 (bufio_mod_LDFLAGS): Likewise.
23659
23660 * include/grub/bufio.h: New file.
23661
23662 * io/bufio.c: Likewise.
23663
23664 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23665 (grub_video_reader_png): Use grub_buffile_open to open file.
23666
23667 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23668 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23669
23670 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23671 (grub_video_reader_tga): Use grub_buffile_open to open file.
23672
23673 * font/manager.c: Include <grub/bufio.h>.
23674 (add_font): Use grub_buffile_open to open file.
23675
3d8383e7 236762008-07-31 Robert Millan <rmh@aybabtu.com>
23677
23678 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23679 ELF segments, use a macro for arbitrarily accessing any of them instead
23680 of preparing a pointer that allows access to one at a time.
23681 (grub_multiboot_load_elf64): Likewise.
23682
16e641b6 236832008-07-31 Bean <bean123ch@gmail.com>
23684
23685 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23686 GRUB_KERNEL_MACHINE_DATA_END.
23687
59198b72 236882008-07-30 Robert Millan <rmh@aybabtu.com>
23689
23690 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23691 Increase from 0x50 to 0x60.
23692 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23693 use UUIDs to identify the root drive for them. If that's not
23694 possible, abort.
23695 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23696 check, for cross-disk installs.
23697
ae88bca3 236982008-07-30 Robert Millan <rmh@aybabtu.com>
23699
23700 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23701 is non-empty, use it to set the `prefix' environment variable instead
23702 of the usual approach.
23703 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23704 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23705 environment variable instead of dummy make_install_device().
23706
23707 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23708 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 23709 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 23710
23711 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23712 New variable reference.
23713 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23714 New macro. Defines offset of `grub_prefix' within startup.S (relative
23715 to `start').
23716 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23717 section within startup.S (relative to `start').
23718 * include/grub/i386/coreboot/kernel.h: Likewise.
23719
23720 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23721 Overwrite grub_prefix with its contents, at the beginning of the
23722 first segment.
23723 (main): Understand -p|--prefix.
23724
14f41dd1 237252008-07-30 Robert Millan <rmh@aybabtu.com>
23726
23727 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23728
4ca049a3 237292008-07-30 Robert Millan <rmh@aybabtu.com>
23730
23731 * term/i386/pc/vga_text.c (grub_console_cls): Use
23732 grub_console_gotoxy() to go back to beginning of the screen.
23733 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23734
2921d337 237352008-07-29 Christian Franke <franke@computer.org>
23736
23737 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23738 Add conversion of emulated mount points on Cygwin.
23739
b609876d 237402008-07-29 Christian Franke <franke@computer.org>
23741
23742 * util/update-grub.in: Add a check for admin
23743 group on Cygwin.
23744 Remove old `grub.cfg.new' before creation.
23745 Add `-f' to `mv' to handle the different filesystem
23746 semantics of Windows.
23747
e93e4679 237482008-07-29 Bean <bean123ch@gmail.com>
23749
23750 * normal/main.c (get_line): Fix buffer overflow bug.
23751
41694fd0 237522008-07-28 Robert Millan <rmh@aybabtu.com>
23753
23754 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23755 (struct grub_apple_header): New struct. Describes the layout of
23756 the partmap header.
23757 (apple_partition_map_iterate): Check the header magic as well as the
23758 partition magic (which was already being checked).
23759
cfd0b4e6 237602008-07-28 Pavel Roskin <proski@gnu.org>
23761
23762 * genmk.rb: Add a warning to the beginning of the output that
23763 it's a generated file and should not be edited.
23764
93cce016 237652008-07-28 Robert Millan <rmh@aybabtu.com>
23766
23767 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23768 with the same number are found, just use issue a warning with
23769 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 23770
cd1df915 237712008-07-27 Robert Millan <rmh@aybabtu.com>
23772
23773 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23774 information.
23775
b70a8427 237762008-07-27 Bean <bean123ch@gmail.com>
23777
23778 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23779 (grub_fat_find_dir): Ignore case when comparing filename.
23780
8f5e379f 237812008-07-27 Bean <bean123ch@gmail.com>
23782
23783 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23784 smallino, as it's more descriptive, and i8count can be confused with
23785 the other field count.
23786 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23787 inode type.
23788
a85cd5a0 237892008-07-27 Bean <bean123ch@gmail.com>
23790
23791 * commands/crc.c: New file.
23792
23793 * lib/crc.c: Likewise.
23794
23795 * include/grub/lib/crc.h: Likewise.
23796
23797 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23798
23799 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23800 (hexdump): Move this function to ...
23801
23802 * lib/hexdump.c: ... here.
23803
23804 * include/grub/hexdump.h: Renamed to ...
23805
23806 * include/grub/lib/hexdump.h: ... this.
23807
23808 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23809
23810 * util/grub-editenv.c: Likewise.
23811
23812 * include/envblk.h: Renamed to ...
23813
23814 * include/lib/envblk.h: ... this.
23815
23816 * util/envblk.c: Renamed to ...
23817
23818 * lib/envblk.c: ... this.
23819
23820 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23821 lib/hexdump.c.
23822 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23823 (pkglib_MODULES): Add crc.mod.
23824 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23825 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23826 (crc_mod_SOURCES): New macro.
23827 (crc_mod_CFLAGS): Likewise.
23828 (crc_mod_LDFLAGS): Likewise.
23829
23830 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23831
23832 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23833
23834 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23835
23836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23837
23838 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23839
c298def0 238402008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 23841
23842 * commands/help.c: Include <grub/term.h>.
23843 (TERM_WIDTH): Removed. Updated all users.
23844
cc349fb3 238452008-07-27 Pavel Roskin <proski@gnu.org>
23846
23847 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23848 spurious warnings about a comment within a comment.
23849
9051607e 238502008-07-25 Robert Millan <rmh@aybabtu.com>
23851
23852 * util/getroot.c (find_root_device): Skip devices that match
23853 /dev/dm-[0-9]. This lets the real device be found for any type of
23854 abstraction (LVM, EVMS, RAID..).
23855 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23856 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23857 device is found first, find_root_device() will now skip it.
23858
01453bfc 238592008-07-24 Pavel Roskin <proski@gnu.org>
23860
23861 * include/grub/types.h: Use __builtin_bswap32() and
23862 __builtin_bswap64() with gcc 4.3 and newer.
23863
6af9849f 238642008-07-24 Christian Franke <franke@computer.org>
23865
3a0fa256 23866 * util/i386/pc/grub-install.in: If `--debug' is specified,
23867 pass `--verbose' to grub-setup.
23868 Abort script if make_system_path_relative_to_its_root() fails.
23869
7810e747 238702008-07-24 Bean <bean123ch@gmail.com>
23871
23872 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23873 variable `target_platform' should be `platform'.
23874
42290e17 238752008-07-24 Bean <bean123ch@gmail.com>
23876
51cc5193 23877 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 23878 (grub_png_init_fixed_block): New function.
23879 (grub_png_decode_image_data): Handle fixed huffman code compression.
23880
2a8a80e4 238812008-07-24 Bean <bean123ch@gmail.com>
23882
23883 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23884 (grub_pe2elf_SOURCES): New macro.
23885 (CLEANFILES): Add grub-pe2elf.
23886
23887 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23888 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23889 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23890 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23891 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23892 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23893 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23894 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23895 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23896 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23897 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23898 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23899 (GRUB_PE32_DT_FUNCTION): Likewise.
23900 (GRUB_PE32_REL_I386_DIR32): Likewise.
23901 (GRUB_PE32_REL_I386_REL32): Likewise.
23902 (grub_pe32_symbol): New structure.
23903 (grub_pe32_reloc): Likewise.
23904
23905 * util/grub-pe2elf.c: New file.
23906
23907 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23908 start symbol in non pc platform.
23909
23910 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23911
23912 The following patches are from Christian Franke.
23913
23914 * include/grub/dl.h: Remove .previous, gas supports this only
23915 for ELF format.
23916
23917 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23918 Remove .type, gas supports this only for ELF format.
23919
23920 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23921 nullbytes in symbol table. This fixes an infinite loop if table is
23922 zero filled.
23923
23924 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23925 TARGET_IMG_LDFLAGS and EXEEXT.
23926
23927 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23928 TARGET_IMG_LDFLAGS_AC.
23929 (grub_CHECK_STACK_ARG_PROBE): New function.
23930
23931 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23932
23933 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23934
23935 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23936 to set TARGET_IMG_LD* accordingly.
23937 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23938 Add call to grub_CHECK_STACK_ARG_PROBE.
23939 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23940
23941 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23942
23943 * genmk.rb: Add EXEEXT to CLEANFILES.
23944
12ccdb75 239452008-07-23 Robert Millan <rmh@aybabtu.com>
23946
23947 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23948 define the codes for arrows and lines used for the menu).
23949 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23950 as well.
23951
23952 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23953 fonts, because the latter are too slow.
23954
18eeaf04 239552008-07-21 Bean <bean123ch@gmail.com>
23956
23957 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23958 a20. Run keyboard test last, as it will cause macbook to halt.
23959
b095e2ad 239602008-07-18 Pavel Roskin <proski@gnu.org>
23961
23962 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23963 load foreign architecture modules correctly anyway. Keep
23964 support for loading host architecture modules, whether we
23965 compile them or not.
23966
737feb35 239672008-07-17 Pavel Roskin <proski@gnu.org>
23968
3f4ce737 23969 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23970 change target_cpu. The compiler default can mismatch target_cpu
23971 in any case.
23972
4ad2d049 23973 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23974 * kern/efi/efi.c: Likewise.
23975
f6130a12 23976 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23977 target compiler is functional.
23978 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23979 are set up.
23980
58393a2d 23981 * configure.ac: Default to efi platform for x86_64-apple. Allow
23982 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23983 adjustments from the rest, only do them if target is not
23984 explicitly given. Merge other adjustments with the final sanity
23985 check. Remove an extraneous check for supported CPU. Be
23986 specific which CPU and which platform is not supported.
23987
737feb35 23988 * configure.ac: Default to pc platform for x86_64.
23989
546f966a 239902008-07-17 Robert Millan <rmh@aybabtu.com>
23991
23992 Partial LinuxBIOS -> Coreboot rename.
23993
23994 * conf/i386-linuxbios.rmk: Renamed to ...
23995 * conf/i386-coreboot.rmk: ... this.
23996 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23997 * configure.ac: Accept "coreboot" as input platform (but maintain
23998 compatibility with "linuxbios").
23999 * include/grub/i386/linuxbios: Renamed to ...
24000 * include/grub/i386/coreboot: ... this.
24001
20011694 240022008-07-17 Bean <bean123ch@gmail.com>
24003
24004 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 24005 (appleldr_mod_SOURCE): New variable.
20011694 24006 (appleldr_mod_CFLAGS): Likewise.
24007 (appleldr_mod_LDFLAGS): Likewise.
24008 (pci_mod_SOURCES): Likewise.
24009 (pci_mod_CFLAGS): Likewise.
24010 (pci_mod_LDFLAGS): Likewise.
24011 (lspci_mod_SOURCES): Likewise.
24012 (lspci_mod_CFLAGS): Likewise.
24013 (lspci_mod_LDFLAGS): Likewise.
24014
24015 * conf/x86_64-efi.rmk: New file.
24016
24017 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
24018 macro.
24019 (grub_efidisk_write): Likewise.
24020
24021 * include/efi/api.h (efi_call_0): New macro.
24022 (efi_call_1): Likewise.
24023 (efi_call_2): Likewise.
24024 (efi_call_3): Likewise.
24025 (efi_call_4): Likewise.
24026 (efi_call_5): Likewise.
24027 (efi_call_6): Likewise.
24028
24029 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
24030 grub_rescue_cmd_chainloader.
24031
24032 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
24033 (grub_pe32_optional_header): Change some fields based on i386 or
24034 x86_64 platform.
24035 (GRUB_PE32_PE32_MAGIC): Likewise.
24036
24037 * include/grub/efi/uga_draw.h: New file.
24038
24039 * include/grub/elf.h (STN_ABS): New constant.
24040 (R_X86_64_NONE): Relocation constant for x86_64.
24041 (R_X86_64_64): Likewise.
24042 (R_X86_64_PC32): Likewise.
24043 (R_X86_64_GOT32): Likewise.
24044 (R_X86_64_PLT32): Likewise.
24045 (R_X86_64_COPY): Likewise.
24046 (R_X86_64_GLOB_DAT): Likewise.
24047 (R_X86_64_JUMP_SLOT): Likewise.
24048 (R_X86_64_RELATIVE): Likewise.
24049 (R_X86_64_GOTPCREL): Likewise.
24050 (R_X86_64_32): Likewise.
24051 (R_X86_64_32S): Likewise.
24052 (R_X86_64_16): Likewise.
24053 (R_X86_64_PC16): Likewise.
24054 (R_X86_64_8): Likewise.
24055 (R_X86_64_PC8): Likewise.
24056
24057 * include/grub/i386/efi/pci.h: New file.
24058
24059 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
24060 Change it value based on platform.
24061 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
24062 (GRUB_E820_RAM): Likewise.
24063 (GRUB_E820_RESERVED): Likewise.
24064 (GRUB_E820_ACPI): Likewise.
24065 (GRUB_E820_NVS): Likewise.
24066 (GRUB_E820_EXEC_CODE): Likewise.
24067 (GRUB_E820_MAX_ENTRY): Likewise.
24068 (grub_e820_mmap): New structure.
24069 (linux_kernel_header): Change the efi field according to different
24070 kernel version, also field from linux_kernel_header.
24071
24072 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
24073
24074 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
24075 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
24076 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
24077 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
24078 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
24079 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
24080 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
24081 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
24082 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
24083 (GRUB_PCI_ADDR_IO_MASK): Likewise.
24084
24085 * include/grub/x86_64/efi/kernel.h: New file.
24086
24087 * include/grub/x86_64/efi/loader.h: Likewise.
24088
24089 * include/grub/x86_64/efi/machine.h: Likewise.
24090
24091 * include/grub/x86_64/efi/pci.h: Likewise.
24092
24093 * include/grub/x86_64/efi/time.h: Likewise.
24094
24095 * include/grub/x86_64/linux.h: Likewise.
24096
24097 * include/grub/x86_64/setjmp.h: Likewise.
24098
24099 * include/grub/x86_64/time.h: Likewise.
24100
24101 * include/grub/x86_64/types.h: Likewise.
24102
24103 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
24104 GRUB_TARGET_SIZEOF_VOID_P.
24105
24106 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
24107 (grub_efi_locate_handle): Likewise.
24108 (grub_efi_open_protocol): Likewise.
24109 (grub_efi_set_text_mode): Likewise.
24110 (grub_efi_stall): Likewise.
24111 (grub_exit): Likewise.
24112 (grub_reboot): Likewise.
24113 (grub_halt): Likewise.
24114 (grub_efi_exit_boot_services): Likewise.
24115 (grub_get_rtc): Likewise.
24116
24117 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
24118 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
24119 (grub_efi_allocate_pages): Wrap efi calls.
24120 (grub_efi_free_pages): Wrap efi calls.
24121 (grub_efi_get_memory_map): Wrap efi calls.
24122
24123 * kern/x86_64/dl.c: New file.
24124
24125 * kern/x86_64/efi/callwrap.S: Likewise.
24126
24127 * kern/x86_64/efi/startup.S: Likewise.
24128
24129 * loader/efi/appleloader.c: Likewise.
24130
24131 * loader/efi/chainloader.c (cmdline): New variable.
24132 (grub_chainloader_unload): Wrap efi calls.
24133 (grub_chainloader_boot): Likewise.
24134 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
24135 command line.
24136
24137 * loader/efi/chainloader_normal.c (chainloader_command):
24138 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
24139 command line.
24140
24141 * loader/i386/efi/linux.c (allocate_pages): Change allocation
24142 method.
24143 (grub_e820_add_region): New function.
24144 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
24145 booting.
24146 (grub_find_video_card): New function.
24147 (grub_linux_setup_video): New function.
24148 (grub_rescue_cmd_linux): Probe for video information.
24149
24150 * normal/x86_64/setjmp.S: New file.
24151
24152 * term/efi/console.c (map_char): New function.
24153 (grub_console_putchar): Map unicode char.
24154 (grub_console_checkkey): Wrap efi calls.
24155 (grub_console_getkey): Likewise.
24156 (grub_console_getwh): Likewise.
24157 (grub_console_gotoxy): Likewise.
24158 (grub_console_cls): Likewise.
24159 (grub_console_setcolorstate): Likewise.
24160 (grub_console_setcursor): Likewise.
24161
24162 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
24163
59652a20 241642008-07-16 Pavel Roskin <proski@gnu.org>
24165
ef294055 24166 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
24167 format strings.
24168
59652a20 24169 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
24170 pointer, not an integer. This fixes a warning and prevents
24171 precision loss on 64-bit systems.
24172 (relocate_addresses): Remove unneeded cast.
24173
afc3b5d7 241742008-07-15 Pavel Roskin <proski@gnu.org>
24175
506b2b3e 24176 * kern/i386/ieee1275/init.c: Include grub/cache.h.
24177
62ead89c 24178 * term/ieee1275/ofconsole.c: Disable code unused on i386.
24179
c4cd51d7 24180 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
24181 Fix comparison between signed and unsigned.
24182
0d3d8f28 24183 * include/grub/i386/ieee1275/console.h: Declare
24184 grub_console_init() and grub_console_fini().
24185
8804b286 24186 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
24187 It's empty and unused.
24188
ee01cf35 24189 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
24190 beginning to avoid warnings with some compilers.
24191
afc3b5d7 24192 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
24193 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
24194
e4e8eaa5 241952008-07-14 Pavel Roskin <proski@gnu.org>
24196
407aceb4 24197 * kern/env.c (grub_register_variable_hook): Don't copy empty
24198 string, it leaks memory. Pass "" to grub_env_set(), it should
24199 handle constant strings.
24200
e4e8eaa5 24201 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
24202 * commands/cmp.c (grub_cmd_cmp): Likewise.
24203 * kern/dl.c (grub_dl_flush_cache): Likewise.
24204 (grub_dl_load_core): Likewise.
24205 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
24206 (grub_elf64_load_phdrs): Likewise.
24207
d4e2dad3 242082008-07-13 Pavel Roskin <proski@gnu.org>
24209
24210 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
24211 between signed and unsigned.
24212 (LzmaEnc_Finish): Fix warning about an unused parameter.
24213
aa24b516 242142008-07-13 Bean <bean123ch@gmail.com>
24215
24216 * Makefile.in (enable_lzo): New rule.
24217
24218 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
24219
24220 * configure.ac (ENABLE_LZO): New option --enable-lzo.
24221
24222 * boot/i386/pc/lnxboot.S: #include <config.h>.
24223
24224 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 24225 its value according to the compression algorithm used, lzo or lzma.
aa24b516 24226
24227 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
24228 compression algorithm according to configure macro.
24229
24230 * kern/i386/pc/startup.S (codestart): Likewise.
24231
24232 * kern/i386/pc/lzma_decode.S: New file.
24233
24234 * include/grub/lib/LzFind.h: Likewise.
24235
24236 * include/grub/lib/LzHash.h: Likewise.
24237
24238 * include/grub/lib/LzmaDec.h: Likewise.
24239
24240 * include/grub/lib/LzmaEnc.h: Likewise.
24241
24242 * include/grub/lib/LzmaTypes.h: Likewise.
24243
24244 * lib/LzFind.c: Likewise.
24245
24246 * lib/LzmaDec.c: Likewise.
24247
24248 * lib/LzmaEnc.c: Likewise.
24249
4ae821ac 242502008-07-13 Bean <bean123ch@gmail.com>
24251
24252 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
24253 (grub_ext4_extent_header): New structure.
24254 (grub_ext4_extent): Likewise.
24255 (grub_ext4_extent_idx): Likewise.
24256 (grub_ext4_find_leaf): New function.
24257 (grub_ext2_read_block): Handle extents.
24258
9a745147 242592008-07-12 Robert Millan <rmh@aybabtu.com>
24260
24261 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
24262
d49a4cf6 242632008-07-11 Robert Millan <rmh@aybabtu.com>
24264
24265 * util/grub.d/40_custom.in: New file. Example on how to add custom
24266 entries to /etc/grub.d.
24267 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
24268 40_custom (implicitly, by merging all the grub.d rules).
24269
947414b4 242702008-07-11 Pavel Roskin <proski@gnu.org>
24271
0059cf6f 24272 * commands/read.c (grub_getline): Fix invalid memory access.
24273 Don't add newline to the variable value.
24274
947414b4 24275 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
24276 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
24277 (serial_hw_get_port): Check validity of the port number.
24278 (grub_cmd_serial): Check return value of serial_hw_get_port().
24279
62a02d00 242802008-07-07 Pavel Roskin <proski@gnu.org>
24281
24282 * boot/i386/pc/diskboot.S (notification_string): Replace
24283 "Loading kernel" with just "loading". This is shorter, less
24284 confusing and saves a few bytes for possible future changes.
24285
3e5581b0 242862008-07-05 Pavel Roskin <proski@gnu.org>
24287
ea387a48 24288 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
24289 size for ATAPI devices, they are undefined. Output sector
24290 number in decimal form.
24291
3e5581b0 24292 * disk/ata.c: Use named constants for status bits.
24293
fdecb8fd 242942008-07-04 Pavel Roskin <proski@gnu.org>
24295
bcd35b90 24296 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
24297 grub_addr_t before casting it to the void pointer to fix a
24298 warning. Non-addressable regions are discarded earlier.
24299 (grub_arch_modules_addr): Cast _end to grub_addr_t.
24300 * kern/i386/linuxbios/table.c: Include grub/misc.h.
24301 (check_signature): Don't shadow table_header.
24302 (grub_linuxbios_table_iterate): Cast numeric constants to
24303 grub_linuxbios_table_header_t.
24304 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
24305 grub_stop().
24306
af58ab3d 24307 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
24308 prevent warnings.
24309
1759aa57 24310 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
24311 pointer, which can cause warnings. Support 64-bit addresses.
24312
fdecb8fd 24313 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
24314 of sizeof(long). This fixes PowerPC image generation on x86_64.
24315
8516d2a8 243162008-07-04 Robert Millan <rmh@aybabtu.com>
24317
24318 This fixes a performance issue when pc & gpt partmap iterators
24319 didn't abort iteration even after our hook found what it was
fe987087 24320 looking for (often causing expensive probes of non-existent drives).
8516d2a8 24321
24322 Some callers relied on previous buggy behaviour, since they would
34c44600 24323 raise an error when their own hooks caused early abortion of its
8516d2a8 24324 iteration.
24325
24326 * kern/device.c (grub_device_open): Improve error message.
24327 * disk/lvm.c (grub_lvm_open): Likewise.
24328 * disk/raid.c (grub_raid_open): Likewise.
24329
24330 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
24331 when hook requests it, independently of grub_errno.
24332 (pc_partition_map_probe): Do not fail when find_func() caused
24333 early abortion of pc_partition_map_iterate().
24334
24335 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
24336 when hook requests it, independently of grub_errno.
24337 (gpt_partition_map_probe): Do not fail when find_func() caused
24338 early abortion of gpt_partition_map_iterate().
24339
24340 * kern/partition.c (grub_partition_iterate): Abort parent iteration
24341 when hook requests it, independently of grub_errno. Do not fail when
24342 part_map_iterate_hook() caused early abortion of p->iterate().
24343
24344 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24345 when grub_partition_iterate() returned with non-zero.
24346
277d0de9 243472008-07-03 Pavel Roskin <proski@gnu.org>
24348
24349 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24350 like we do in grub_ata_pio_read().
24351 (grub_ata_readwrite): Always write individual sectors. Fix the
24352 sector count for the remainder.
24353 (grub_ata_write): Enable writing to ATA devices. Correctly
24354 report error for ATAPI devices.
24355
d4c9b428 243562008-07-02 Pavel Roskin <proski@gnu.org>
24357
e43fc690 24358 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24359 warning.
24360
f707af42 24361 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24362 for every read sector, we already increment it for the whole
24363 batch. This fixes reading more than 256 sectors at once.
24364
11e16b15 24365 * util/grub-editenv.c (cmd_info): Cast argument to long
24366 explicitly. ptrdiff_t reduces to int on i386.
24367
cbabfdd4 24368 * util/grub-editenv.c (main): Be specific which parameter is
24369 missing.
24370
b8fbce0a 24371 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24372 (memdisk): Make memdisk_orig_addr a pointer.
24373
c9c8e606 24374 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24375 for file offsets, use grub_off_t instead. Fix printf format
24376 warnings.
24377
ca62e598 24378 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24379 there. Real unexpected warnings should not drown in the noise
24380 about known problems.
24381
ce8d1766 24382 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24383 grub_disk_addr_t for memory addresses.
24384
00c7a56a 24385 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24386 explicitly to fix a warning.
24387
08d3ef09 24388 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24389
cb71ba20 24390 * Makefile.in (MODULE_LDFLAGS): New variable.
24391 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24392 the linker accepts --build-id=none.
24393 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24394 MODULE_LDFLAGS.
24395 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24396
d4c9b428 24397 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24398 those in Linux XFS code. Provide a way to access 64-bit parent
24399 inode.
24400 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24401 the end of struct grub_xfs_dir_header.
24402
d4156eee 244032008-07-02 Bean <bean123ch@gmail.com>
24404
24405 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24406 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24407 and GRUB_IEEE1275_FLAG_NO_ANSI.
24408
24409 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24410 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24411 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24412
24413 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24414 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24415
24416 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24417 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24418
24419 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24420 esc sequence on non ANSI terminal.
24421 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24422
24423 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24424 beginning of file.
24425
2270f77b 244262008-07-02 Bean <bean123ch@gmail.com>
24427
24428 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24429 (grub_editenv_SOURCES): New variable.
24430 (pkglib_MODULES): Add loadenv.mod.
24431 (loadenv_mod_SOURCES): New variable.
24432 (loadenv_mod_CFLAGS): Likewise.
24433 (loadenv_mod_LDFLAGS): Likewise.
24434
24435 * include/grub/envblk.h: New file.
24436
24437 * util/envblk.c: New file.
24438
24439 * util/grub-editenv.c: New file.
24440
24441 * commands/loadenv.c: New file.
24442
0e9e51ec 244432008-07-01 Pavel Roskin <proski@gnu.org>
24444
d89b7634 24445 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24446 not unsigned char. This fixes warnings and is consistent with
24447 other tags.
24448
bf1835b1 24449 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24450
8222a04b 24451 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24452
6a42d99d 24453 * term/tparm.c (analyze): Always set *popcount.
24454
10b159d1 24455 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24456 cast to fix a warning.
24457
b8789f6c 24458 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24459 cast to suppress a warning.
24460
29d7e38a 24461 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24462 grub_fshelp_read_file() expects.
24463
f341f669 24464 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24465 write uuid as a 32-bit value in CPU byte order, so declare and
24466 use it as such.
24467
0e9e51ec 24468 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24469 long if the format specifier expects it.
24470 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24471 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24472 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24473 long to fix a warning.
24474 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24475 grub_dprintf() arguments to fix warnings.
24476
3aefa857 244772008-06-30 Pavel Roskin <proski@gnu.org>
24478
56c7668b 24479 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24480 install_bsd_part immediately before core.img is embedded or
24481 modified on disk. This fixes core.img verification if core.img
24482 cannot be embedded.
24483
3aefa857 24484 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24485 core_path to calculate the blocklist.
24486 Patch from Javier Martín <lordhabbit@gmail.com>
24487
5444088d 244882008-06-29 Robert Millan <rmh@aybabtu.com>
24489
24490 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24491 block to disk block.
24492 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24493 Patch from Niels Böhm <bitbucket@arcor.de>
24494
674835c8 244952008-06-29 Robert Millan <rmh@aybabtu.com>
24496
24497 * util/update-grub_lib.in (font_path): Search for fonts in
24498 /boot/grub first, which is more likely to be readable (we aren't
24499 deciding where fonts live, just looking for them).
24500
f527dbc8 245012008-06-26 Pavel Roskin <proski@gnu.org>
24502
6c2d8df6 24503 * util/biosdisk.c (read_device_map): Don't leave dead map
24504 entries for devices failing stat() check.
24505
f527dbc8 24506 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24507 core_path_dev for the core.img path on the target device.
24508
aebe3d13 245092008-06-26 Robert Millan <rmh@aybabtu.com>
24510
24511 * disk/fs_uuid.c: New file.
24512 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24513 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24514 (fs_uuid_mod_LDFLAGS): New variables.
24515 * include/grub/disk.h (grub_disk_dev_id): Add
24516 `GRUB_DISK_DEVICE_UUID_ID'.
24517 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24518 implement iterate().
24519
37aaf354 245202008-06-26 Robert Millan <rmh@aybabtu.com>
24521
24522 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24523 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24524 Linux image includes no initrd.
24525
25ff262a 245262008-06-21 Javier Martín <lordhabbit@gmail.com>
24527
24528 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24529 call to resolve the core image location that effectively appended the
24530 name twice.
24531
76a2bd44 245322008-06-21 Robert Millan <rmh@aybabtu.com>
24533
24534 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24535 call from here ...
24536
24537 * util/grub.d/10_hurd.in: ... to here ...
24538 * util/grub.d/10_linux.in: ... and here.
24539
650e1c79 245402008-06-19 Robert Millan <rmh@aybabtu.com>
24541
fe987087 24542 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 24543 after it has been set by grub_machine_set_prefix().
24544
6ce63911 245452008-06-19 Robert Millan <rmh@aybabtu.com>
24546
24547 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24548 search result when not saving to variable, not the other way around.
24549 When saving to variable, abort iteration as soon as a match is found.
24550
73940cec 245512008-06-19 Robert Millan <rmh@aybabtu.com>
24552
24553 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24554 check for partition that provides /boot/grub. Its logic is flawed,
24555 as it prevents prepare_grub_to_access_device() from being called
24556 multiple times.
24557
3c62a39d 245582008-06-19 Robert Millan <rmh@aybabtu.com>
24559
24560 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24561 "insmod" command directly when abstraction modules are needed,
fe987087 24562 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 24563 since it had already been processed).
24564
47395a42 245652008-06-19 Pavel Roskin <proski@gnu.org>
24566
24567 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24568 changed. This is needed in case GRUB_LIBDIR changes.
24569 * conf/i386-ieee1275.rmk: Likewise.
24570 * conf/i386-linuxbios.rmk: Likewise.
24571 * conf/i386-pc.rmk: Likewise.
24572 * conf/powerpc-ieee1275.rmk: Likewise.
24573
a145ac2d 245742008-06-18 Pavel Roskin <proski@gnu.org>
24575
24576 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24577 kernel_elf_symlist.c to symlist.c for consistency with other
24578 architectures. Update all users.
24579 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24580
7847c51e 245812008-06-18 Robert Millan <rmh@aybabtu.com>
24582
24583 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24584 it in prefix.
24585
24586 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24587 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24588 a RAID device, run setup() for all members independently on whether
24589 LVM abstraction is being used.
24590 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24591 If grub-mkimage has set `*install_dos_part == -2', don't override this
24592 value.
24593 Perform *install_dos_part adjustments independently on whether
24594 we're embedding or not.
24595 Clarify error message when image is too big for embedding.
24596 Remove duplicate *install_dos_part stanza.
24597
b23e5644 245982008-06-17 Robert Millan <rmh@aybabtu.com>
24599
24600 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24601 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24602 variables.
24603 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24604 values in grub_ofconsole_normal_color and
24605 grub_ofconsole_highlight_color (they're not directly related to
24606 background and foreground).
24607 (grub_ofconsole_setcolorstate): Extract background and foreground
24608 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24609
0aac2f79 246102008-06-17 Robert Millan <rmh@aybabtu.com>
24611
24612 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24613 /boot/grub for the check in last commit, not /boot (they could be
24614 different partitions).
24615
3cca7ef3 246162008-06-16 Robert Millan <rmh@aybabtu.com>
24617
24618 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24619 asked to setup access for the same partition that provides /boot,
24620 don't bother using UUIDs since our root already has the value we
24621 want.
24622
347396d8 246232008-06-16 Robert Millan <rmh@aybabtu.com>
24624
24625 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24626 I2O devices.
24627 Patch from Sven Mueller <sven@debian.org>.
24628
991477f8 246292008-06-16 Robert Millan <rmh@aybabtu.com>
24630
24631 * util/update-grub.in: Check for $EUID instead of $UID.
24632 Reported by Vincent Zweije.
24633
d31a32a1 246342008-06-16 Bean <bean123ch@gmail.com>
24635
fe987087 24636 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 24637 (grub_ext2_read_block): Likewise.
24638 (grub_ext2_read_inode): Likewise.
24639 (grub_ext2_mount): Likewise.
24640 (grub_ext2_close): Likewise.
24641 (grub_ext3_get_journal): Removed.
24642
fe987087 24643 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 24644 (grub_reiserfs_read_symlink): Likewise.
24645 (grub_reiserfs_mount): Likewise.
24646 (grub_reiserfs_open): Likewise.
24647 (grub_reiserfs_read): Likewise.
24648 (grub_reiserfs_close): Likewise.
24649 (grub_reiserfs_get_journal): Removed.
24650
24651 * fs/fshelp.c (grub_fshelp_read): Removed.
24652 (grub_fshelp_map_block): Likewise.
24653
24654 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24655 (grub_fshelp_journal): Likewise.
24656 (grub_fshelp_read): Likewise.
24657 (grub_fshelp_map_block): Likewise.
24658
3540a760 246592008-06-16 Pavel Roskin <proski@gnu.org>
24660
24661 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24662 floating point anymore.
24663 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24664
95614c84 246652008-06-15 Pavel Roskin <proski@gnu.org>
24666
24667 * commands/ls.c (grub_ls_list_files): Use integer calculations
24668 for human readable format, avoid floating point use.
24669 * kern/misc.c (grub_ftoa): Remove.
24670 (grub_vsprintf): Remove floating point support.
24671
50465dd6 246722008-06-15 Robert Millan <rmh@aybabtu.com>
24673
fe6b695a 24674 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 24675 devices.
24676 Reported by Max Vozeler.
24677
a9207284 246782008-06-15 Robert Millan <rmh@aybabtu.com>
24679
24680 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24681 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24682 skipped later.
24683 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24684 the beginning of the prefix.
24685
24686 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24687 It is assumed that if we have a memdisk, grub-mkimage has set
24688 grub_prefix to include the "(memdisk)" drive in it.
24689
a7cbd45a 246902008-06-15 Robert Millan <rmh@aybabtu.com>
24691
24692 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24693 Initialize keyboard controller after registering the terminal, so that
24694 grub_printf() can be called from grub_keyboard_controller_init().
24695
21cf716a 246962008-06-15 Robert Millan <rmh@aybabtu.com>
24697
24698 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24699 extent-btree which is written as big endian on disk.
24700 Reported by Alain Greppin <al@chilibi.org>.
24701
23a64d8e 247022008-06-14 Robert Millan <rmh@aybabtu.com>
24703
24704 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24705 * util/i386/pc/grub-install.in (modules): Likewise.
24706
d687651c 247072008-06-13 Pavel Roskin <proski@gnu.org>
24708
24709 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24710
dfe9ddd4 247112008-06-13 Bean <bean123ch@gmail.com>
24712
24713 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24714
24715 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24716
24717 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24718 to indicate sparse block.
24719
16ae7781 247202008-06-12 Pavel Roskin <proski@gnu.org>
24721
e6d1a308 24722 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24723 number, grub_fshelp_read() does it for us.
24724
16ae7781 24725 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24726 linear disk read with journal translation.
24727 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24728 * include/grub/fshelp.h: Declare grub_fshelp_read().
24729
40fd3a2b 247302008-06-09 Pavel Roskin <proski@gnu.org>
24731
24732 * fs/minix.c (grub_minix_mount): Handle error reading
24733 superblock.
24734
f5679726 247352008-06-08 Robert Millan <rmh@aybabtu.com>
24736
24737 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24738 don't append the RAID prefix afterwards.
24739 Reported by Clint Adams.
24740
ce525529 247412008-06-08 Robert Millan <rmh@aybabtu.com>
24742
24743 Based on description from Pavel:
24744 * kern/disk.c (grub_disk_check_range): Rename to ...
24745 (grub_disk_adjust_range): ... this. Add a comment explaining the
24746 tasks performed by this function.
24747
ad4936a0 247482008-06-08 Robert Millan <rmh@aybabtu.com>
24749
24750 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24751 `num_serial' (for consistency with other variables).
24752 (struct grub_ntfs_data): Add `uuid' member.
24753 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24754 (grub_ntfs_uuid): New function.
24755 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24756
dc20b0f9 247572008-06-07 Pavel Roskin <proski@gnu.org>
24758
24759 * util/biosdisk.c (open_device): Revert last change to the
24760 function, it broke installation. The sector needs to be
24761 different dependent on which device is opened.
24762
c5e3cfba 247632008-06-06 Robert Millan <rmh@aybabtu.com>
24764
24765 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24766 rest of GRUB, and breakage doesn't happen if its value were modified.
24767
24768 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24769 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24770 a constant (same value).
24771 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24772 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24773
26a1f8c4 247742008-06-06 Robert Millan <rmh@aybabtu.com>
24775
24776 * util/biosdisk.c (open_device): Do not modify sector offset when
24777 accessing a partition. kern/disk.c already handles this for us.
24778
25d6b327 247792008-06-06 Robert Millan <rmh@aybabtu.com>
24780
24781 * util/grub-emu.c (grub_machine_init): Move code in this function from
24782 here ...
24783 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24784 segfault in case grub_printf() is called).
24785
24786 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24787 grub_probe. Update all users not to explicitly add it again.
24788 (grub_device): New variable; contains corresponding device for grubdir.
24789 (fs_module, partmap_module, devabstraction_module): Pass
24790 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24791 every time.
24792
9ece62fb 247932008-06-05 Robert Millan <rmh@aybabtu.com>
24794
24795 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24796 is found, print it (same layout as with labels).
24797
1ad36d37 247982008-06-04 Robert Millan <rmh@aybabtu.com>
24799
24800 * util/biosdisk.c (get_drive): Rename to ...
24801 (find_grub_drive): ... this. Update all users.
24802
24803 (get_os_disk): Rename to ...
24804 (convert_system_partition_to_system_disk): ... this. Update all users.
24805
24806 (find_drive): Rename to ...
24807 (find_system_device): ... this. Update all users.
24808
e6a30859 248092008-06-04 Robert Millan <rmh@aybabtu.com>
24810
24811 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24812 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24813 (make_device_map): Likewise.
24814
00c108a4 248152008-06-01 Robert Millan <rmh@aybabtu.com>
24816
24817 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24818 before dereferencing it.
24819
24820 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24821 union with fat12/fat16-specific ones. Add some new fields, including
24822 `num_serial' for both versions.
24823 (struct grub_fat_data): Add `uuid' member.
24824 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24825 names. Initialize `data->uuid' using `num_serial'.
24826 (grub_fat_uuid): New function.
24827 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24828
24829 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24830 (grub_reiserfs_uuid): New function.
24831 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24832 member.
24833
24834 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24835 (grub_xfs_uuid): New function.
24836 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24837
1385c5bb 248382008-06-01 Robert Millan <rmh@aybabtu.com>
24839
24840 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24841 code that is backward compatible with pre-uuid search command.
24842
c682dfd7 248432008-05-31 Robert Millan <rmh@aybabtu.com>
24844
24845 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24846 floppies after everything else, to ensure floppy drive isn't accessed
24847 unnecessarily (patch from Bean).
24848
b7db5d47 248492008-05-31 Robert Millan <rmh@aybabtu.com>
24850
24851 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24852 not print device names when we were asked to set a variable.
24853
6e037aa9 248542008-05-31 Robert Millan <rmh@aybabtu.com>
24855
24856 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24857 using "cursor-on" and "cursor-off" commands (understood at least by
24858 the Open Firmware flavour on OLPC).
24859
41305bc8 248602008-05-31 Michael Gorven <michael@gorven.za.net>
24861
24862 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24863 on and off sequences.
24864
69ba137e 248652008-05-31 Robert Millan <rmh@aybabtu.com>
24866
24867 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24868 * util/update-grub.in: Likewise.
24869
520ae21b 248702008-05-30 Pavel Roskin <proski@gnu.org>
24871
24872 * util/biosdisk.c (linux_find_partition): Simplify logic and
24873 make the code more universal. Keep special processing for
24874 devfs, but use a simple rule for all other devices. If the
24875 device ends with a number, append 'p' and the partition number.
24876 Otherwise, append only the partition number.
24877
5786569b 248782008-05-30 Robert Millan <rmh@aybabtu.com>
24879
24880 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24881 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24882 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24883 the `root' parameter to Linux.
24884
51500452 248852008-05-30 Robert Millan <rmh@aybabtu.com>
24886
24887 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24888 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24889 --fs_uuid with --fs-uuid.
24890 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24891 all filesystems support them).
24892
811d3878 248932008-05-30 Robert Millan <rmh@aybabtu.com>
24894
24895 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 24896 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 24897
cab63c95 248982008-05-30 Robert Millan <rmh@aybabtu.com>
24899
24900 * util/grub.d/00_header.in: Remove obsolete comment referencing
24901 convert_system_path_to_grub_path().
24902 * util/update-grub.in: Likewise.
24903 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24904 (convert_system_path_to_grub_path): Add a warning message explaining
24905 that this function is deprecated. Rely on is_path_readable_by_grub()
24906 for the readability checks.
24907 (font_path): Use is_path_readable_by_grub() for the readability
24908 check rather than convert_system_path_to_grub_path().
24909
972e2f7a 249102008-05-30 Robert Millan <rmh@aybabtu.com>
24911
24912 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24913 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24914 converting it first.
24915 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24916 grub.cfg for access to font file, and afterwards call it again to set
24917 the root device.
24918
62191274 249192008-05-30 Robert Millan <rmh@aybabtu.com>
24920
24921 * commands/search.c (options): Add --fs_uuid option.
24922 (search_fs_uuid): New function.
24923 (grub_cmd_search): Fix --set argument passing.
24924 Use search_fs_uuid() when requested via --fs_uuid.
24925 (grub_search_init): Update help message.
24926 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24927 and redeclare it as an array of 16-bit words.
24928 (grub_ext2_uuid): New function.
24929 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24930 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24931 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24932 (GRUB_DEVICE_BOOT_UUID): New variables.
24933 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24934 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24935 whenever possible.
24936 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24937 just assume `root' variable has the right value.
24938 * util/grub.d/10_linux.in: Likewise.
24939 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24940 via PRINT_FS_UUID.
24941 (main): Recognise `-t fs_uuid' argument.
24942
01b73ec8 249432008-05-30 Robert Millan <rmh@aybabtu.com>
24944
24945 * util/biosdisk.c (map): Redefine structure to hold information
24946 about GRUB drive name.
fe6b695a 24947 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 24948 drive names.
24949 (call_hook): Remove.
24950 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24951 member. Assume drive has partitions.
24952 (grub_util_biosdisk_open): Access device names via `.device' struct
24953 member.
24954 (open_device): Likewise.
24955 (find_drive): Likewise.
24956 (read_device_map): Adjust map[] usage to match the new struct
24957 definition. Don't check for duplicates (still possible, but not cheap
24958 anymore).
24959 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24960 (make_device_name): Remove assumption of BIOS-like drive names.
24961
22f16596 249622008-05-30 Pavel Roskin <proski@gnu.org>
24963
24964 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24965 compiling execute.c doesn't need grub_script.tab.h anymore.
24966 (normal/command.c_DEPENDENCIES): Likewise.
24967 (normal/function.c_DEPENDENCIES): Likewise.
24968 * conf/i386-ieee1275.rmk: Likewise.
24969 * conf/i386-linuxbios.rmk: Likewise.
24970 * conf/i386-pc.rmk: Likewise.
24971 * conf/powerpc-ieee1275.rmk: Likewise.
24972 * conf/sparc64-ieee1275.rmk: Likewise.
24973
528ad8f2 249742008-05-29 Pavel Roskin <proski@gnu.org>
24975
d1dff95d 24976 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24977 when scanning metadata for volume group name.
24978
528ad8f2 24979 * include/grub/script.h: Don't include grub_script.tab.h. It's
24980 a generated file, which may only be included from the files with
24981 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24982 use union YYSTYPE, as the later allows forward declaration.
24983 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24984
47248e08 249852008-05-29 Robert Millan <rmh@aybabtu.com>
24986
24987 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24988 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24989 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24990 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24991 scan codes.
24992
ee632529 249932008-05-29 Robert Millan <rmh@aybabtu.com>
24994
24995 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24996 control key combinations.
24997
eee96e08 249982008-05-29 Robert Millan <rmh@aybabtu.com>
24999
25000 * util/powerpc/ieee1275/grub-install.in: Move from here ...
25001 * util/ieee1275/grub-install.in: ... to here.
25002 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
25003 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
25004 (grub_install_SOURCES): Likewise.
25005
da9a6a94 250062008-05-29 Robert Millan <rmh@aybabtu.com>
25007
25008 * fs/affs.c: Update copyright year.
25009 * fs/ext2.c: Likewise.
25010 * fs/fshelp.c: Likewise.
25011 * fs/hfsplus.c: Likewise.
25012 * fs/ntfs.c: Likewise.
25013 * fs/xfs.c: Likewise.
25014 * include/grub/fshelp.h: Likewise.
25015 * util/grub-mkdevicemap.c: Likewise.
25016
12e65f3a 250172008-05-28 Robert Millan <rmh@aybabtu.com>
25018
25019 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
25020 might need to be fatfs to support some firmware implementations
25021 (e.g. OFW or EFI).
25022
23023641 250232008-05-28 Robert Millan <rmh@aybabtu.com>
25024
25025 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
25026 devices.
25027 * util/grub-mkdevicemap.c (get_mmc_disk_name)
25028 (make_device_map): Likewise.
25029
887d2619 250302008-05-20 Bean <bean123ch@gmail.com>
25031
25032 * fs/fshelp.c (grub_fshelp_map_block): New function.
25033 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
25034 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
25035
25036 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
25037 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
25038 (grub_fshelp_journal): New structure.
25039 (grub_fshelp_map_block): New function prototype.
25040 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
25041 (grub_fshelp_map_block): Likewise.
25042
25043 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
25044 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
25045 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
25046 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
25047 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
25048 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
25049 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
25050 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
25051 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
25052 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
25053 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
25054 (grub_ext2_sblock): New members for journal support.
25055 (grub_ext3_journal_header): New structure.
25056 (grub_ext3_journal_revoke_header): Likewise.
25057 (grub_ext3_journal_block_tag): Likewise.
25058 (grub_ext3_journal_sblock): Likewise.
25059 (grub_fshelp_node): New members logfile and journal.
25060 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
25061 grub_fshelp_map_block to get real block number.
25062 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
25063 number.
25064 (grub_ext2_read_inode): Likewise.
25065 (grub_ext3_get_journal): New function.
25066 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
25067 (grub_ext2_close): Release memory used by journal.
25068
25069 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
25070 (REISERFS_MAGIC_DESC_BLOCK): New macro.
25071 (grub_reiserfs_transaction_header): Renamed to
25072 grub_reiserfs_description_block, replace field data with real_blocks.
25073 (grub_reiserfs_commit_block): New structure.
25074 (grub_reiserfs_data): New member journal.
25075 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
25076 number.
25077 (grub_reiserfs_read_symlink): Likewise.
25078 (grub_reiserfs_iterate_dir): Likewise.
25079 (grub_reiserfs_open): Likewise.
25080 (grub_reiserfs_read): Likewise.
25081 (grub_reiserfs_get_journal): New function.
25082 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
25083 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
25084 using grub_reiserfs_get_journal.
25085 (grub_reiserfs_close): Release memory used by journal.
25086
25087 * fs/affs.c (grub_affs_read_block): Change block type to
25088 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
25089
25090 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
25091
25092 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
25093
25094 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
25095
25096 * fs/udf.c (grub_udf_read_block): Change block type to
25097 grub_disk_addr_t. Use type cast to avoid warning.
25098
25099 * fs/xfs.c (grub_xfs_read_block): Likewise.
25100
b7c6bed5 251012008-05-16 Christian Franke <franke@computer.org>
25102
25103 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
25104 to ensure that break with ESC will always work.
25105 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
25106 Remove ESC from keyboard queue.
25107
eedf167f 251082008-05-16 Christian Franke <franke@computer.org>
25109
25110 * util/biosdisk.c: [__CYGWIN__] Add includes.
25111 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
25112 (get_os_disk): Move variable declarations to OS specific
25113 parts to avoid warning.
25114 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
25115 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
25116 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
25117 Cygwin.
25118 * util/getroot.c: [__CYGWIN__] Add includes.
25119 (strip_extra_slashes): Fix "/" case.
25120 [__CYGWIN__] (get_win32_path): New function.
25121 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
25122 [__CYGWIN__] (find_root_device): Disable.
25123 [__CYGWIN__] (get_bootsec_serial): New function.
25124 [__CYGWIN__] (find_cygwin_root_device): Likewise.
25125 [__linux__] (grub_guess_root_device): Add early returns to simplify
25126 structure.
25127 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
25128 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
25129 check for Linux only.
25130
a079699e 251312008-05-15 Bean <bean123ch@gmail.com>
25132
25133 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
25134 keyboard hang problem in apple's intel mac.
25135
1cf4059a 251362008-05-09 Robert Millan <rmh@aybabtu.com>
25137
25138 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
25139 devices.
25140 * util/grub-mkdevicemap.c (get_virtio_disk_name)
25141 (make_device_map): Likewise.
25142 Reported by Aurelien Jarno <aurel32@debian.org>
25143
ed759390 251442008-05-07 Ian Campbell <ijc@hellion.org.uk>
25145
25146 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
25147 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
25148 (make_device_map): Output entries for xvd type disks.
25149
b56c4eaa 251502008-05-07 Robert Millan <rmh@aybabtu.com>
25151
25152 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
25153 devices.
25154 * util/grub-mkdevicemap.c (get_cciss_disk_name)
25155 (make_device_map): Likewise.
25156 Reported by Roland Dreier <rdreier@cisco.com>
25157
7f8866ed 251582008-05-07 Robert Millan <rmh@aybabtu.com>
25159
25160 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
25161 grub_strstr() call. Correct a few mistakes in failure path handling.
25162
b0346e0f 251632008-05-06 Robert Millan <rmh@aybabtu.com>
25164
25165 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25166 Do not print a trailing slash (therefore, the root directory is an
25167 empty string).
25168 (convert_system_path_to_grub_path): Do not remove trailing slash
25169 from make_system_path_relative_to_its_root() output.
25170
25171 * util/i386/pc/grub-install.in: Add trailing slash to output from
25172 make_system_path_relative_to_its_root().
25173
6cf12cbd 251742008-05-06 Robert Millan <rmh@aybabtu.com>
25175
25176 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
25177 ensures that output lines aren't intermangled with those sent to
25178 stderr (via grub_util_info()).
25179 * util/grub-probe.c (grub_refresh): Likewise.
25180 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
25181
0fbb3117 251822008-05-05 Christian Franke <franke@computer.org>
25183
25184 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
25185 Add Cygwin device names.
25186 (get_ide_disk_name) [__CYGWIN__]: Likewise.
25187 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
25188 (check_device): Return error instead of success on empty name.
25189 (make_device_map): Move label inside linux specific code to
25190 prevent compiler warning.
25191
8124cdb7 251922008-04-30 Robert Millan <rmh@aybabtu.com>
25193
25194 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
25195 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
25196 first boot option.
25197 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
25198
094c01d0 251992008-04-29 Robert Millan <rmh@aybabtu.com>
25200
25201 * docs/grub.cfg: New file (example GRUB configuration).
25202
f4b1fc02 252032008-04-26 Robert Millan <rmh@aybabtu.com>
25204
329ce2a5 25205 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
25206 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
25207 and `disk/ieee1275/nand.c'.
f4b1fc02 25208
25f16ec1 252092008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 25210
25f16ec1 25211 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
25212 i386-linuxbios.
25213
25214 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
25215 change the buffer size to 4096 for cdrom device.
25216
25217 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
25218 and nand.mod.
25219 (_linux_mod_SOURCES): New variable.
25220 (_linux_mod_CFLAGS): Likewise.
25221 (_linux_mod_LDFLAGS): Likewise.
25222 (linux_mod_SOURCES): Likewise.
25223 (linux_mod_CFLAGS): Likewise.
25224 (linux_mod_LDFLAGS): Likewise.
25225 (nand_mod_SOURCES): Likewise.
25226 (nand_mod_CFLAGS): Likewise.
25227 (nand_mod_LDFLAGS): Likewise.
25228
25229 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
25230 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
25231 type property. (nand device in olpc don't have this property)
25232
25233 * include/grub/disk.h (grub_disk_dev_id): New macro
25234 GRUB_DISK_DEVICE_NAND_ID.
25235
25236 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
25237 function prototype.
25238 (grub_rescue_cmd_initrd): Likewise.
25239
25240 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
25241 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
25242 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 25243
25f16ec1 25244 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
25245 GRUB_MACHINE_IEEE1275 is defined.
25246
25247 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
25248 Use NESTED_FUNC_ATTR attribute on the hook parameter.
25249
25250 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
25251 on nested function heap_init.
25252 (grub_upper_mem): New variable for i386-ieee1275.
25253 (grub_get_extended_memory): New function for i386-ieee1275.
25254 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
25255
25256 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
25257 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
25258 property.
f19dbdb7 25259
25f16ec1 25260 * loader/i386/ieee1275/linux.c: New file.
25261
25262 * loader/i386/ieee1275/linux_normal.c: New file.
25263
25264 * disk/ieee1275/nand.c: New file.
25265
e89d61e9 252662008-04-18 Thomas Schwinge <tschwinge@gnu.org>
25267
25268 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
25269 value.
25270 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
25271
602566f6 252722008-04-18 Robert Millan <rmh@aybabtu.com>
25273
25274 Restructures early code path on ieee1275 to unify grub_main() as
25275 the first C function that is executed in every platform.
25276
25277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
25278 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
25279 cmain().
25280 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
25281 * kern/ieee1275/cmain.c (cmain): Rename to ...
25282 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
25283 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
25284 at the beginning.
25285
57490c2b 252862008-04-18 Robert Millan <rmh@aybabtu.com>
25287
25288 * util/update-grub.in: Fix syntax error when setting
25289 `GRUB_PRELOAD_MODULES'.
25290 Reported by Stephane Chazelas <stephane@artesyncp.com>
25291
1977517d 252922008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
25293
25294 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
25295 section into account, newer toolchains generate unique build ids
25296 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 25297 we want build ids to be preserved
1977517d 25298 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
25299 far from other sections don't cause the raw binary images grow
25300 size
25301
bfb1f1a2 253022008-04-15 Robert Millan <rmh@aybabtu.com>
25303
25304 * disk/lvm.c: Update copyright year.
25305 * kern/misc.c: Likewise.
25306
01979850 253072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25308
25309 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 25310 there is no memory left for physical volume name.
01979850 25311
0a1150e2 253122008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25313
25314 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
25315 volume name mapping to support bigger than 9 character names properly.
25316
82ead3fe 253172008-04-13 Robert Millan <rmh@aybabtu.com>
25318
25319 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
25320 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
25321
e54a72f5 253222008-04-13 Christian Franke <franke@computer.org>
25323
25324 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
25325 to create a floppy emulation boot CD when non emulation mode
25326 does not work.
25327 Enable Joliet CD filesystem extension.
25328
9fe86034 253292008-04-13 Robert Millan <rmh@aybabtu.com>
25330
25331 * kern/misc.c (grub_strncat): Fix off-by-one error.
25332 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
25333
25334 * kern/env.c (grub_env_context_close): Clear current context, not
25335 previous one.
25336 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
25337
25338 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
25339
7ceeee39 253402008-04-13 Robert Millan <rmh@aybabtu.com>
25341
25342 Improve robustness when handling LVM.
25343
25344 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 25345 (and leave `*p' unmodified).
7ceeee39 25346 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25347 through it.
25348 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25349 iterating through it.
25350 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25351 through it.
fe6b695a 25352 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 25353 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25354 Don't assume `vg->pvs != NULL' when iterating through it.
25355
58cd3d85 253562008-04-13 Robert Millan <rmh@aybabtu.com>
25357
25358 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25359 * genmk.rb (partmap): New variable.
25360 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25361 (#{partmap}): New target rule.
25362 * genpartmaplist.sh: New file.
25363 * Makefile.in (pkglib_DATA): Add partmap.lst.
25364 (partmap.lst): New target rule.
25365 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25366 modules (including all partition maps), instead of preloading them.
25367
78b51059 253682007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25369
25370 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25371 `linux-boot-prober' (if installed) to detect other operating
25372 systems which are installed on the computer and add them to
25373 the boot menu.
25374 * conf/common.rmk: Build and install 30_os-prober.
25375
a91627b4 253762008-04-12 Robert Millan <rmh@aybabtu.com>
25377
25378 * kern/powerpc/ieee1275/init.c: Move from here ...
25379 * kern/ieee1275/init.c: ... to here. Update all users.
25380
25381 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25382 * kern/ieee1275/cmain.c: ... to here. Update all users.
25383
25384 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25385 * kern/ieee1275/openfw.c: ... to here. Update all users.
25386
25387 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25388 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25389
322562ea 253902008-04-10 Pavel Roskin <proski@gnu.org>
25391
25392 * configure.ac: Always use "_cv_" in cache variables for
25393 compatibility with Autoconf 2.62.
25394
a02a73c5 253952008-04-07 Robert Millan <rmh@aybabtu.com>
25396
25397 Revert grub/machine/init.h addition by Pavel (since it breaks on
25398 i386-ieee1275 and others):
25399 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25400 * util/powerpc/ieee1275/misc.c: Likewise.
25401
25c024b1 254022008-04-07 Robert Millan <rmh@aybabtu.com>
25403
25404 * util/grub-probe.c (probe): Improve error message.
25405
3cbd2f98 254062008-04-07 Robert Millan <rmh@aybabtu.com>
25407
25408 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25409 (this prevents the presence of a bogus entry from ruining the whole
25410 thing).
25411
87a297bf 254122008-04-06 Pavel Roskin <proski@gnu.org>
25413
36747a62 25414 * util/biosdisk.c: Include grub/util/biosdisk.h.
25415 * util/grub-fstest.c (execute_command): Make static.
25416 * util/grub-mkdevicemap.c (check_device): Likewise.
25417 * util/i386/pc/misc.c: Include grub/machine/init.h.
25418 * util/powerpc/ieee1275/misc.c: Likewise.
25419 * util/lvm.c: Include grub/util/lvm.h.
25420 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25421 grub/cache.h.
25422 * util/raid.c: Include grub/util/raid.h.
25423 (grub_util_getdiskname): Make static.
25424
87a297bf 25425 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25426 grub_hostfs_fini(), as they are called from grub_init_all() and
25427 grub_fini_all() respectively. This fixes an infinite loop in
25428 grub-fstest due to double registration of hostfs.
25429 Reported by Christian Franke <Christian.Franke@t-online.de>
25430
f6ce7629 254312008-04-05 Pavel Roskin <proski@gnu.org>
25432
25433 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25434 all 8 functions. Otherwise, probe function 0 only.
25435
070e49e4 254362008-04-04 Pavel Roskin <proski@gnu.org>
25437
8b088a4c 25438 * commands/lspci.c (grub_lspci_iter): Print the bus number
25439 correctly.
25440
4f657021 25441 * commands/lspci.c (grub_pci_classes): Fix typos.
25442 (grub_lspci_iter): Don't print func twice. Print vendor ID
25443 before device ID, as it's normally done.
25444
070e49e4 25445 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25446 Fix signedness warnings.
25447 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25448 Likewise.
25449 * util/ieee1275/get_disk_name.c: Include config.h so that
25450 _GNU_SOURCE is defined and getline() is declared. Mark an
25451 unused argument as such. Fix a signedness warning.
25452
ba7328dc 254532008-04-02 Pavel Roskin <proski@gnu.org>
25454
26887f22 25455 * genkernsyms.sh.in: Use more robust assignments for CC and
25456 srcdir. Quote srcdir.
25457 * gensymlist.sh.in: Likewise. Assert at the compile time that
25458 the symbol table is not empty.
25459
ba7328dc 25460 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25461 * fs/cpio.c (grub_cpio_read): Likewise.
25462
0f582c6b 254632008-04-01 Pavel Roskin <proski@gnu.org>
25464
4b6e1995 25465 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25466 * disk/host.c (grub_host_open): Likewise.
25467 * disk/loopback.c (grub_loopback_open): Likewise.
25468 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25469 disk->id as in disk/host.c, not a multi-character constant.
25470
828a2768 25471 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25472 later is obsolete, potentially dangerous and sets a bad example.
25473 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25474 * util/misc.c (grub_util_get_image_size): Likewise.
25475
2bb4fb47 25476 * disk/loopback.c (options): Improve help for "--partitions".
25477
0f582c6b 25478 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25479 options to align them with the short options, e.g. "echo -e".
25480
a33224e0 254812008-03-31 Bean <bean123ch@gmail.com>
25482
25483 * video/reader/png.c (grub_png_data): New member is_16bit and
25484 image_data.
25485 (grub_png_decode_image_header): Detect 16 bit png image.
25486 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25487 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25488 (grub_video_reader_png): Release memory occupied by image_data.
25489
25490 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25491 4096 bytes.
25492 (grub_nfs_mount): Skip the test for sector per cluster.
25493
25494 * include/grub/ntfs.h (MAX_SPC): Removed.
25495
86cb4f54 254962008-03-31 Bean <bean123ch@gmail.com>
25497
25498 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25499 (grub_probe_SOURCES): Add fs/afs.c.
25500 (grub_fstest_SOURCES): Likewise.
25501 (afs_mod_SOURCES): New variable.
25502 (afs_mod_CFLAGS): Likewise.
25503 (afs_mod_LDFLAGS): Likewise.
25504
25505 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25506 (grub_emu_SOURCES): Likewise.
25507
25508 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25509
25510 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25511
25512 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25513
25514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25515
25516 * fs/afs.c: New file.
25517
17c74c21 255182008-03-30 Pavel Roskin <proski@gnu.org>
25519
4cb68e89 25520 * disk/host.c: Include grub/misc.h to fix a warning.
25521 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25522 warnings about implicit declarations.
25523
8790bb04 25524 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25525 variable.
25526 * include/grub/i386/loader.h: Change declaration of
25527 grub_linux_boot() to match what grub_loader_set() expects.
25528 * util/getroot.c (grub_guess_root_device): Return const char* to
25529 fix a warning.
25530 * util/grub-probe.c (probe): Fix a warning about uninitialized
25531 abstraction_name variable.
25532 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25533 second argument as unused to fix a warning.
25534
9a3f3296 25535 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25536 missing grub_error() call.
25537
0ecef90d 25538 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25539 2.60 and newer uses it to define datadir.
25540
0bf6d401 25541 * commands/sleep.c: Fix warning about implicit declaration.
25542 * disk/memdisk.c: Likewise.
25543 * loader/aout.c: Likewise.
25544 * loader/i386/bsd_normal.c: Likewise.
25545 * util/grub-probe.c: Likewise.
25546
7cdacf97 25547 * commands/i386/cpuid.c (has_longmode): Make static.
25548 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25549 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25550
17c74c21 25551 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25552 GDT. This is more robust, as %ds can change.
25553 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25554 calling real_to_prot().
25555 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25556
80a3e68b 255572008-03-28 Pavel Roskin <proski@gnu.org>
25558
25559 * kern/i386/pc/startup.S: Assert that uncompressed functions
25560 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25561 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25562 code, as they push parts of the code (error handlers) beyond
25563 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25564 code as correctness and size.
25565
77bcd272 255662008-03-28 Pavel Roskin <proski@gnu.org>
25567
25568 * kern/i386/pc/startup.S
25569 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25570 data block address to the real mode, keep offset minimal. This
25571 works around a bug in AWARD BIOS on old Athlon systems, which
25572 makes CD detection hang.
25573
c5dfd43b 255742008-03-26 Pavel Roskin <proski@gnu.org>
25575
25576 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25577 const.
25578 * include/grub/normal.h: Add grub_parse_color_name_pair()
25579 declaration.
25580
bf962df2 255812008-03-24 Bean <bean123ch@gmail.com>
25582
25583 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25584 (cd_count): Removed.
25585 (cd_drive): New variable.
25586 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25587 (grub_biosdisk_call_hook): Likewise.
25588 (grub_biosdisk_iterate): Change cdrom detection method.
25589 (grub_biosdisk_open): Replace cd_start with cd_drive.
25590 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25591 detect cdrom device.
25592
25593 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25594 Removed.
25595 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25596 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25597 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25598 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25599 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25600 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25601 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25602 (grub_biosdisk_cdrp): New structure.
25603 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25604
25605 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25606
25607 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25608 device.
25609
25610 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25611 New function.
25612
68e7fc7a 256132008-03-20 Robert Millan <rmh@aybabtu.com>
25614
25615 Remove 2 TiB limit in ata.mod.
25616 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25617 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25618 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25619 grub_uint64_t instead of grub_uint32_t.
25620
38ad2cf5 256212008-03-05 Bean <bean123ch@gmail.com>
25622
25623 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25624 (grub_multiboot): Set boot device.
25625
25626 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25627
2b89344e 256282008-03-02 Bean <bean123ch@gmail.com>
25629
25630 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25631 symlink_buffer.
25632
87a95d1f 256332008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25634
25635 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25636 texinfo.tex.
25637
25638 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25639 modified.
25640
25641 * docs/fdl.texi: New file.
f19dbdb7 25642
87a95d1f 25643 * docs/mdate-sh: New file. Copied from gnulib.
25644 * docs/texinfo.tex: Likewise.
25645
25646 * config.guess: Updated from gnulib.
25647 * install-sh: Likewise.
25648
7dc15d8e 256492008-02-28 Robert Millan <rmh@aybabtu.com>
25650
25651 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25652 (aout_mod_SOURCES): New variable.
25653 (aout_mod_CFLAGS): Likewise.
25654 (aout_mod_LDFLAGS): Likewise.
25655
25656 * conf/i386-ieee1275.rmk: Likewise.
25657
b00ab696 256582008-02-28 Robert Millan <rmh@aybabtu.com>
25659
25660 * util/update-grub.in: Reorganise terminal validity check. Accept
25661 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25662 Based on suggestion by Franklin PIAT.
25663
79ca2d78 256642008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25665
25666 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25667 function.
25668 * util/getroot.c (grub_util_check_block_device): New function that
25669 returns the given argument if it is a block device and returns NULL else.
25670 * util/grub-probe.c (argument_is_device): New variable.
25671 (probe): Promote device_name from a variable to an argument. Receive
25672 device_name from grub_util_check_block_device() if path is NULL and from
25673 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 25674 (options): Introduce new parameter '-d, --device'.
79ca2d78 25675 (main): Add description of the new parameter to the help screen.
25676 Rename path variable to argument. Set argument_is_device if the '-d'
25677 option is given. Pass argument to probe() depending on
25678 argument_is_device.
25679
0d16e571 256802008-02-24 Bean <bean123ch@gmail.com>
25681
25682 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25683 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25684 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25685 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25686 (GRUB_ISO9660_VOLDESC_END): Likewise.
25687 (grub_iso9660_primary_voldesc): New member escape.
25688 (grub_iso9660_data): New member joliet.
25689 (grub_iso9660_convert_string): New function.
25690 (grub_iso9660_mount): Detect joliet extension.
25691 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25692 (grub_iso9660_iso9660_label): Likewise.
25693
25694 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25695 (grub_setup_SOURCES): Add fs/udf.c.
25696 (grub_fstest_SOURCES): Likewise.
25697 (udf_mod_SOURCES): New variable.
25698 (udf_mod_CFLAGS): Likewise.
25699 (udf_mod_LDFLAGS): Likewise.
25700
25701 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25702 (grub_emu_SOURCES): Likewise.
25703
25704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25705
25706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25707
25708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25709
25710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25711
25712 * fs/udf.c: New file.
25713
8a594a17 257142008-02-24 Robert Millan <rmh@aybabtu.com>
25715
25716 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25717 (normal/lexer.c_DEPENDENCIES): New variables.
25718 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25719 (normal/lexer.c_DEPENDENCIES): Likewise.
25720 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25721 (normal/lexer.c_DEPENDENCIES): Likewise.
25722 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25723 (normal/lexer.c_DEPENDENCIES): Likewise.
25724 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25725 (normal/lexer.c_DEPENDENCIES): Likewise.
25726 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25727 (normal/lexer.c_DEPENDENCIES): Likewise.
25728
2dc33c03 257292008-02-23 Robert Millan <rmh@aybabtu.com>
25730
25731 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25732 since they were intended to be in hex. This didn't break previously
25733 because of a bug in gpt_partition_map_iterate() (see below).
25734
25735 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25736 when checking the validity of GPT header.
25737 Remove `partno', since it always provides the same information as `i'.
25738
f6f4cfb0 257392008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25740
25741 * include/grub/efi/time.h: Fix a wrong comment.
25742
79ff665f 257432008-02-19 Pavel Roskin <proski@gnu.org>
25744
25745 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25746 message.
25747
d38e24c2 257482008-02-19 Bean <bean123ch@gmail.com>
25749
25750 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25751 (aout_mod_SOURCES): New variable.
25752 (aout_mod_CFLAGS): Likewise.
25753 (aout_mod_LDFLAGS): Likewise.
25754 (_bsd_mod_SOURCES): New variable.
25755 (_bsd_mod_CFLAGS): Likewise.
25756 (_bsd_mod_LDFLAGS): Likewise.
25757 (bsd_mod_SOURCES): New variable.
25758 (bsd_mod_CFLAGS): Likewise.
25759 (bsd_mod_LDFLAGS): Likewise.
25760
25761 * include/grub/aout.h: New file.
25762
25763 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25764
25765 * include/grub/i386/bsd.h: New file.
25766
25767 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25768 to make it public.
25769
25770 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25771 function is called, so that it's possible to change it inside the hook.
25772 (grub_elf64_load): Likewise.
25773 (grub_elf_file): Don't close the file if elf header is not found.
25774 (grub_elf_close): Close the file if grub_elf_file fails (The new
25775 grub_elf_file won't close it).
25776 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25777 (grub_elf64_size): Likewise.
25778
25779 * kern/i386/loader.S (grub_unix_real_boot): New function.
25780
25781 * loader/aout.c: New file.
25782
25783 * loader/i386/bsd.c: New file.
25784
25785 * loader/i386/bsd_normal.c: New file.
25786
25787 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25788
25789 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 25790 can test other formats.
d38e24c2 25791
b93bdb0f 257922008-02-19 Robert Millan <rmh@aybabtu.com>
25793
25794 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25795 (grub_gpt_partition_type_empty): Redefine with macro from
25796 `<grub/gpt_partition.h>'.
25797 (gpt_partition_map_iterate): Adjust partition type comparison.
25798
25799 Export `entry' as partmap-specific `part.data' struct.
25800 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25801
25802 * include/grub/gpt_partition.h (grub_gpt_header)
25803 (grub_gpt_partentry): ... to here (new file).
25804
25805 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25806
25807 (grub_gpt_partition_type_bios_boot): New const variable, defined
25808 with macro from `<grub/gpt_partition.h>'.
25809
25810 (setup): Replace `first_start' with `embed_region', which keeps
25811 track of the embed region (and is partmap-agnostic).
25812
25813 Replace find_first_partition_start() with find_usable_region(),
25814 which finds a usable region for embedding using partmap-specific
25815 knowledge (supports PC/MSDOS and GPT).
25816
25817 Fix all assumptions that the embed region start at sector 1, using
25818 `embed_region.start' from now on. Similarly, use `embed_region.end'
25819 rather than `first_start' to calculate available size.
25820
25821 In grub_util_info() message, replace "into after the MBR" with an
25822 indication of the specific sector our embed region starts at.
25823
66cb40f6 258242008-02-19 Robert Millan <rmh@aybabtu.com>
25825
25826 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25827 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25828 `commands/reboot.c'.
25829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25830 (halt_mod_SOURCES): Likewise.
25831 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25832 (halt_mod_SOURCES): Likewise.
25833
b7202015 258342008-02-17 Christian Franke <franke@computer.org>
25835
25836 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25837
32b0fc49 258382008-02-17 Robert Millan <rmh@aybabtu.com>
25839
25840 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25841 set `first_start' to 0 for non-PC/MSDOS partition maps.
25842
aca63502 258432008-02-16 Robert Millan <rmh@aybabtu.com>
25844
25845 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25846 do not assume partition map is PC/MSDOS before performing checks that
25847 are specific to that layout.
25848
0de8be86 258492008-02-13 Robert Millan <rmh@aybabtu.com>
25850
25851 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25852 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25853 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25854
c3db8364 258552008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25856
25857 * configure.ac: Only a cosmetic change on the handling of
25858 -fno-stack-protector.
25859
f714229e 258602008-02-12 Alexandre Boeglin <alex@boeglin.org>
25861
c3db8364 25862 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25863 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25864 reboot.c.
f714229e 25865 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25866 (halt_mod_SOURCES): New variable.
25867 (halt_mod_CFLAGS): Likewise.
25868 (halt_mod_LDFLAGS): Likewise.
25869 (reboot_mod_SOURCES): Likewise.
25870 (reboot_mod_CFLAGS): Likewise.
25871 (reboot_mod_LDFLAGS): Likewise.
25872
c3db8364 25873 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25874 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25875 reboot.c.
f714229e 25876 (halt_mod_SOURCES): Likewise.
25877 (reboot_mod_SOURCES): Likewise.
25878
c3db8364 25879 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25880 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 25881 (reboot_mod_SOURCES): Likewise.
25882
25883 * commands/i386/pc/reboot.c: merge this file ...
25884
25885 * commands/ieee1275/reboot.c: ... and this file ...
25886
25887 * commands/reboot.c: ... to this file.
c3db8364 25888 Add some precompiler directive to include the correct header for
25889 each machine.
f714229e 25890
25891 * commands/ieee1275/halt.c: move this file ...
25892
25893 * commands/halt.c: ... to here.
c3db8364 25894 Add some precompiler directive to include the correct header for
25895 each machine.
f714229e 25896
25897 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25898 (grub_halt): Likewise.
25899
25900 * kern/efi/efi.c (grub_reboot): New function.
25901 (grub_halt): Likewise.
25902
c74493e0 259032008-02-12 Robert Millan <rmh@aybabtu.com>
25904
25905 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25906 /dev (like it is done for /dev/mapper). This doesn't provide support
25907 for EVMS, but at least it is now easy to identify the problem when it
25908 arises.
25909
d0db4b04 259102008-02-11 Robert Millan <rmh@aybabtu.com>
25911
25912 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25913 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25914 comparing it with -1, not 0.
25915
bf748642 259162008-02-10 Robert Millan <rmh@aybabtu.com>
25917
25918 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25919 `disk/lvm.c'.
25920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25921 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25922
25923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25924 `disk/lvm.c' to the end of the list.
25925 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25926 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25927
b5db202a 259282008-02-10 Robert Millan <rmh@aybabtu.com>
25929
25930 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25931 grub_print_error() instead. This will let user know why we're entering
25932 rescue mode.
25933 Based on suggestions from Sam Morris.
25934
83abee31 259352008-02-10 Alexandre Boeglin <alex@boeglin.org>
25936
25937 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25938 on remaining N args, instead of "--" arg N times.
25939
78d5a08b 259402008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25941
25942 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25943 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25944 pattern for unknown glyphs.
25945
68807e5f 259462008-02-09 Robert Millan <rmh@aybabtu.com>
25947
25948 * configure.ac: Probe for `help2man'.
25949 * Makefile.in (builddir): New variable.
25950 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25951 or otherwise add a few flags/options to it.
25952 (install-local): For every executable utility or script that is
25953 installed, invoke $(HELP2MAN) to install a manpage based on --help
25954 output.
25955
25956 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25957 that it doesn't prevent --help from working in build tree.
25958
25959 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25960 with `bug-grub@gnu.org'.
25961 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25962 * util/update-grub.in (usage): New function.
25963 Implement proper argument check, with support for --help and --version
25964 (as well as existing -y).
25965
259662008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 25967
25968 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25969 avoid overwriting previous output.
25970 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25971
c1962162 259722008-02-09 Robert Millan <rmh@aybabtu.com>
25973
25974 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25975 drawing the menu.
25976
3dac2e3f 259772008-02-09 Robert Millan <rmh@aybabtu.com>
25978
25979 * commands/sleep.c: New file.
25980 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25981 (sleep_mod_SOURCES): New variable.
25982 (sleep_mod_CFLAGS): Likewise.
25983 (sleep_mod_LDFLAGS): Likewise.
25984
7a634e08 259852008-02-09 Robert Millan <rmh@aybabtu.com>
25986
25987 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25988 situations in which we can deduce the RAID size and the superblock
25989 doesn't match it.
25990
b92f0c18 259912008-02-09 Robert Millan <rmh@aybabtu.com>
25992
25993 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25994 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25995 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25996
25997 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25998 and return a grub_diskmemberlist_t composed of physical array members.
25999 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
26000
26001 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
26002 prototype.
26003 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
26004 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
26005 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
26006
26007 * util/grub-probe.c (probe): Move partmap probing code from here ...
26008 (probe_partmap): ... to here.
26009 (probe): Use probe_partmap() once for the disk we're probing, and
26010 additionally, when such disk contains a memberlist() struct member,
26011 once for each disk that is contained in the structure returned by
26012 memberlist().
26013
91a4bf68 260142008-02-09 Robert Millan <rmh@aybabtu.com>
26015
26016 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
26017 environment variable to 'all' in order to obtain debug output from
26018 non-util/ code.
26019 * util/i386/pc/grub-setup.c (main): Likewise.
26020
a96f9caa 260212008-02-08 Robert Millan <rmh@aybabtu.com>
26022
26023 * disk/raid.c (grub_raid_scan_device): Check for
26024 `array->device[sb.this_disk.number]' rather than for
26025 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 26026 guaranteed to be accessible.
a96f9caa 26027
b37a9222 260282008-02-08 Robert Millan <rmh@aybabtu.com>
26029
26030 * disk/raid.c: Update copyright.
26031 * fs/cpio.c: Likewise.
26032 * include/grub/raid.h: Likewise.
26033 * loader/i386/pc/multiboot.c: Likewise.
26034 * util/hostfs.c: Likewise.
26035
5626aee1 260362008-02-08 Robert Millan <rmh@aybabtu.com>
26037
26038 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
26039 to a grub_disk_t array.
26040 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
26041 `device[x]'.
26042 (grub_raid_scan_device): Replace `device[x].name' accesses with
26043 `device[x]->name'. Simplify initialization of `array->device[x]'.
26044
554f0187 260452008-02-08 Robert Millan <rmh@aybabtu.com>
26046
26047 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
26048 grub_dprintf() calls.
26049 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
26050 error message.
26051
1ec8425d 260522008-02-07 Christian Franke <franke@computer.org>
26053
26054 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
26055 instead of fseek and ftell to support large files.
26056 (grub_hostfs_read): Likewise.
26057
f2156fda 260582008-02-07 Robert Millan <rmh@aybabtu.com>
26059
26060 Patch from Jeroen Dekkers.
26061 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 26062 failure, since successfully reading all array members might not be
f2156fda 26063 required.
26064
9216e0e7 260652008-02-06 Robert Millan <rmh@aybabtu.com>
26066
26067 * util/grub-probe.c (probe): Simplify partmap probing (with the
26068 assumption that the first word up to the underscore equals to
26069 the module name).
26070
b0dfd29a 260712008-02-06 Christian Franke <franke@computer.org>
26072
26073 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
26074 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
26075 last block of a cpio or tar stream.
26076 Check for "TRAILER!!!" instead of any empty data
26077 block to detect last block of a cpio stream.
26078 (grub_cpio_dir): Fix constness of variable np.
26079 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
26080 cpio or tar trailer is detected. This fixes a crash
26081 on open of a non existing file.
26082
c32865bf 260832008-02-05 Bean <bean123ch@gmail.com>
26084
26085 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
26086 address of entry.
26087 (grub_multiboot_load_elf64): Likewise.
26088 (grub_multiboot): Initialize mbi structure.
26089
26090 * util/grub-fstest.c: Don't include unused header file script.h.
26091
fe6b695a 26092 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 26093 of file.
26094 (grub_fstest_SOURCES): Likewise.
26095
409480b7 260962008-02-05 Robert Millan <rmh@aybabtu.com>
26097
26098 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
26099 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
26100 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
26101 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
26102
26103 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
26104 (translation_table): Replace hardcoded values with macros
26105 provided by `<grub/term.h>'.
26106
26107 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
26108 (keyboard_map): Correct/add a few values, with macros provided
26109 by `<grub/term.h>'.
26110 (keyboard_map_shift): Zero values that don't differ from their
26111 `keyboard_map' equivalents.
26112 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
26113 Discard the second scan code that is always sent by Caps lock.
26114 Only use `keyboard_map_shift' when it provides a non-zero value,
26115 otherwise fallback to `keyboard_map'.
26116
99fadbaa 261172008-02-04 Bean <bean123ch@gmail.com>
26118
26119 * Makefile.in (enable_grub_fstest): New variable.
26120
26121 * conf/common.rmk (grub_fstest_init.lst): New rule.
26122 (grub_fstest_init.h): Likewise.
26123 (grub_fstest_init.c): Likewise.
26124 (util/grub-fstest.c_DEPENDENCIES): New variable.
26125 (grub_fstest_SOURCES): Likewise.
26126
26127 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
26128
26129 * util/grub-fstest.c: New file.
26130
bf567c50 261312008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26132
26133 Make grub-setup handle a separate root device.
f19dbdb7 26134
bf567c50 26135 * util/i386/pc/grub-setup.c (setup): Always open the root device,
26136 so that the root device can be compared with the destination
26137 device.
26138 When embedding the core image, if the root and destination devices
26139 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
26140 0xFF.
26141 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 26142
9be6b98b 261432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26144
26145 Add support for having a grub directory in a different drive. This
26146 is still only the data handling part.
f19dbdb7 26147
9be6b98b 26148 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
26149 (codestart): Save %dh in GRUB_ROOT_DRIVE.
26150 (grub_root_drive): New variable.
26151
26152 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
26153 instead of GRUB_BOOT_DRIVE to construct a device name. Set
26154 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
26155 as it was.
26156
26157 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
26158
26159 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
26160 macro.
26161 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
26162
26163 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
26164 is bogus, because PXE booting does not specify any drive
26165 correctly.
26166
26167 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
26168 am not sure if this is really correct.
26169
26170 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
26171 is always identical to the boot drive when booting from a CD.
26172
26173 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
26174 longer.
26175 (root_drive): New variable.
26176 (real_start): Unconditionally set %dh to ROOT_DRIVE.
26177 (setup_sectors): Push %dx right after popping it, because %dh will
26178 be modified later.
26179 (copy_buffer): Restore %dx.
26180
e0ca0677 261812008-02-03 Robert Millan <rmh@aybabtu.com>
26182
26183 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
26184 use `cdboot.img' for cdrom images.
26185
3b3f6629 261862008-02-03 Robert Millan <rmh@aybabtu.com>
26187
26188 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
26189 only setup gfxterm when `font' command has succeeded.
26190
d42b3672 261912008-02-03 Robert Millan <rmh@aybabtu.com>
26192
26193 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
26194 (grub_rescue_cmd_multiboot_loader)
26195 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
26196
fa370ea6 261972008-02-03 Pavel Roskin <proski@gnu.org>
26198
e0c5dacb 26199 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 26200 %edx and %esi from stack only after grub_gate_a20() is called.
26201 grub_gate_a20() clobbers %edx.
26202
f2a76e1d 262032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26204
26205 * configure.ac (AC_INIT): Bumped to 1.96.
26206
26207 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
26208 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
26209 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
26210 video/readers/png.c.
26211
90fd32d1 262122008-02-03 Bean <bean123ch@gmail.com>
9be665dd 26213
26214 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
26215 (cdboot_img_SOURCES): New variable.
26216 (cdboot_img_ASFLAGS): New variable.
26217 (cdboot_img_LDFLAGS): New variable.
26218
26219 * boot/i386/pc/cdboot.S: New file.
26220
26221 * disk/i386/pc/biosdisk.c (cd_start): New variable.
26222 (cd_count): Likewise.
26223 (grub_biosdisk_get_drive): Add support for cd device.
26224 (grub_biosdisk_call_hook): Likewise.
26225 (grub_biosdisk_iterate): Likewise.
26226 (grub_biosdisk_open): Likewise.
26227 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
26228 (grub_biosdisk_rw): Support reading from cd device.
26229 (GRUB_MOD_INIT): Iterate cd devices.
26230
26231 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
26232 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
26233 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
26234
26235 * kern/i386/pc/init.c (make_install_device): Check for cd device.
26236
4020aa53 262372008-02-02 Robert Millan <rmh@aybabtu.com>
26238
26239 * commands/read.c: New file.
26240 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
26241 (read_mod_SOURCES): New variable.
26242 (read_mod_CFLAGS): Likewise.
26243 (read_mod_LDFLAGS): Likewise.
26244
e03a1132 262452008-02-02 Robert Millan <rmh@aybabtu.com>
26246
26247 * normal/main.c (grub_normal_execute): Check for `menu->size' when
26248 determining whether menu has to be displayed.
26249
58c69220 262502008-02-02 Marco Gerards <marco@gnu.org>
26251
26252 * bus/pci.c: New file.
26253
26254 * include/grub/pci.h: Likewise.
26255
26256 * include/grub/i386/pc/pci.h: Likewise.
26257
26258 * commands/lspci.c: Likewise.
26259
26260 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
26261 `lspci.mod'.
26262 (pci_mod_SOURCES): New variable.
26263 (pci_mod_CFLAGS): Likewise.
26264 (pci_mod_LDFLAGS): Likewise.
26265 (lspci_mod_SOURCES): Likewise.
26266 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 26267 (lspci_mod_LDFLAGS): Likewise.
58c69220 26268
c004e1b4 262692008-02-02 Bean <bean123ch@gmail.com>
26270
26271 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
26272 (grub_ufs_get_file_block): Fix indirect block calculation problem.
26273
26274 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
26275 (grub_xfs_btree_node): New structure.
26276 (grub_xfs_btree_root): New structure.
26277 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
26278 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
26279 (GRUB_XFS_EXTENT_BLOCK): Likewise.
26280 (GRUB_XFS_EXTENT_SIZE): Likewise.
26281 (grub_xfs_read_block): Support btree format type.
26282 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
26283 Use directory block as basic unit.
26284
26285 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
26286
26287 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
26288 __attribute__ ((__regparm__ (1))).
26289
f95562bf 262902008-02-01 Robert Millan <rmh@aybabtu.com>
26291
26292 Correct a mistake in previous commit.
26293
26294 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
26295 top.
26296 (normal/command.c_DEPENDENCIES): New variable.
26297
7d31f41f 262982008-02-01 Robert Millan <rmh@aybabtu.com>
26299
26300 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
26301 top.
26302 (normal/command.c_DEPENDENCIES): New variable.
26303 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
26304 * conf/i386-ieee1275.rmk: Likewise.
26305 * conf/i386-linuxbios.rmk: Likewise.
26306 * conf/i386-pc.rmk: Likewise.
26307 * conf/sparc64-ieee1275.rmk: Likewise.
26308 * conf/powerpc-ieee1275.rmk: Likewise.
26309 (grub_emu_SOURCES): Add `fs/fshelp.c'.
26310
26311 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
26312
60b6be74 263132008-02-01 Robert Millan <rmh@aybabtu.com>
26314
26315 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
26316 call at beginning of function.
26317
078522ab 263182008-01-31 Pavel Roskin <proski@gnu.org>
26319
26320 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 26321 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
26322 (grub_mkrescue_SOURCES): Likewise.
078522ab 26323 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
26324
ccaa8a5f 263252008-01-30 Robert Millan <rmh@aybabtu.com>
26326
26327 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
26328 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
26329 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
26330 (grub_probe_SOURCES): ... to here.
26331
26332 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
26333 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
26334 * conf/i386-ieee1275.rmk: Likewise.
26335 * conf/i386-linuxbios.rmk: Likewise.
26336 * conf/powerpc-ieee1275.rmk: Likewise.
26337
ae5a9cd7 263382008-01-30 Tristan Gingold <gingold@free.fr>
26339
26340 * kern/rescue.c: Silently accept empty lines.
26341
70bc2ef2 263422008-01-29 Bean <bean123ch@gmail.com>
26343
26344 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26345 (real_code_2): Code cleanup and change comment style.
26346 (move_memory): Avoid using 32-bit address mode.
26347
6a4d50ea 263482008-01-29 Bean <bean123ch@gmail.com>
26349
26350 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26351 (png_mod_SOURCES): New variable.
26352 (png_mod_CFLAGS): Likewise.
26353 (png_mod_LDFLAGS): Likewise.
26354
26355 * video/readers/png.c: New file.
26356
11cc30ac 263572008-01-28 Robert Millan <rmh@aybabtu.com>
26358
26359 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26360 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26361 `ifndef GRUB_MOD_GAP' hack.
26362 * util/elf/grub-mkimage.c (add_segments): Likewise.
26363
3abc589f 263642008-01-27 Robert Millan <rmh@aybabtu.com>
26365
26366 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26367 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 26368 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 26369
e1907778 263702008-01-27 Robert Millan <rmh@aybabtu.com>
26371
26372 Get grub-emu to build again (including parallel builds).
26373
26374 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26375 Split into ...
26376 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26377 (normal/execute.c_DEPENDENCIES): ... this, ...
26378 (grub-emu_DEPENDENCIES): ... and this.
26379
26380 * conf/i386-efi.rmk: Likewise.
26381 * conf/i386-linuxbios.rmk: Likewise.
26382 * conf/i386-ieee1275.rmk: Likewise.
26383 * conf/powerpc-ieee1275.rmk: Likewise.
26384 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26385
2216b101 263862008-01-27 Robert Millan <rmh@aybabtu.com>
26387
26388 * NEWS: Add a few items.
26389
f75172d9 263902008-01-27 Robert Millan <rmh@aybabtu.com>
26391
26392 Fix parallel builds with grub-emu. Based on earlier commit for
26393 grub-probe and grub-setup.
26394
26395 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26396 (util/grub-emu.c_DEPENDENCIES): ... this.
26397 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26398 (util/grub-emu.c_DEPENDENCIES): ... this.
26399 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26400 (util/grub-emu.c_DEPENDENCIES): ... this.
26401 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26402 (util/grub-emu.c_DEPENDENCIES): ... this.
26403 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26404 (util/grub-emu.c_DEPENDENCIES): ... this.
26405
3f51de77 264062008-01-27 Pavel Roskin <proski@gnu.org>
26407
26408 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26409 to create a gap between _end and the modules added to the image
26410 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26411 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26412 * util/elf/grub-mkimage.c (add_segments): Likewise.
26413
2033f53e 264142008-01-26 Pavel Roskin <proski@gnu.org>
26415
26416 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26417 just return an error.
26418
22da1f6f 264192008-01-26 Bean <bean123ch@gmail.com>
26420
26421 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26422 (grub_reiserfs_get_item): Save offset of the next item.
26423 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26424
2a9525e6 264252008-01-25 Robert Millan <rmh@aybabtu.com>
26426
26427 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26428 make all filesystem sources appear together (possibly fixing omissions
26429 while at it).
26430 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26431 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26432 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26434
26435 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26436 add `kern/file.c'.
26437 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26438 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26439 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26440 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26441
26442 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26443 (probe): Add a sanity check to make sure of our ability to read
26444 requested files when probing for filesystem type.
26445
26446 * genmk.rb: Update copyright year (2007).
26447
26448 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26449 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26450 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26451 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26452 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26453 : Remove function prototypes.
26454
b95f71b5 264552008-01-25 Robert Millan <rmh@aybabtu.com>
26456
26457 Revert my previous commits (based on wrong assumption of how grub_errno
26458 works).
26459
fe6b695a 26460 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 26461 * kern/file.c (grub_file_open): Likewise.
26462
d08bbb49 264632008-01-24 Pavel Roskin <proski@gnu.org>
26464
26465 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26466 that hang if GRUB tries to setup colors.
26467 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26468 colors for firmwares that don't support it.
26469 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26470 Recognize Open Hack'Ware, set flags to work around its
26471 limitations.
26472
605e36ed 264732008-01-24 Robert Millan <rmh@aybabtu.com>
26474
26475 * kern/file.c (grub_file_open): Do not account previous failures of
26476 unrelated functions when grub_errno is checked for.
26477 Reported by Oleg Strikov.
26478
bac332a1 264792008-01-24 Bean <bean123ch@gmail.com>
26480
26481 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26482 (grub_ufs_sblock): New member volume name.
26483 (grub_ufs_find_file): Fix string copy bug.
26484 (grub_ufs_label): Implement this function properly.
26485
26486 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26487 (grub_hfs_iterate_records): Use the correct file number for extents
26488 and catalog file. Fix problem in next index calculation.
26489 (grub_hfs_find_node): Replace recursive function call with loop.
26490 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26491
15c80c09 264922008-01-23 Robert Millan <rmh@aybabtu.com>
26493
26494 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26495 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26496 (grub_multiboot2_real_boot): New function prototype.
26497
26498 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26499 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26500
26501 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26502 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26503
305338fd 265042008-01-23 Robert Millan <rmh@aybabtu.com>
26505
26506 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26507 #ifdef'ed out grub_printf().
26508
3ea52685 265092008-01-23 Robert Millan <rmh@aybabtu.com>
26510
26511 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26512 grub_dprintf calls, since they make "debug=all" mode unusable.
26513 (grub_console_checkkey): Likewise.
26514
5882ae4b 265152008-01-23 Robert Millan <rmh@aybabtu.com>
26516
26517 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26518 `term/i386/pc/at_keyboard.c'.
26519 (pkglib_MODULES): Add `serial.mod'.
26520 (serial_mod_SOURCES): New variable.
26521 (serial_mod_CFLAGS): Likewise.
26522 (serial_mod_LDFLAGS): Likewise.
26523
26524 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26525 `<grub/powerpc/ieee1275/console.h>'.
26526 (grub_keyboard_controller_init): New function prototype.
26527 (grub_console_checkkey): Likewise.
26528 (grub_console_getkey): Likewise.
26529
26530 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26531 keyboard on i386.
26532
26533 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26534 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26535
06ab5303 265362008-01-23 Robert Millan <rmh@aybabtu.com>
26537
26538 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26539 present, "(memdisk)/boot/grub" becomes the default prefix.
26540
26541 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26542 a memdisk tarball with all the modules. Add --overlay=DIR option that
26543 allows users to overlay additional files into the image.
26544
dbb475a4 265452008-01-23 Robert Millan <rmh@aybabtu.com>
26546
26547 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26548 and `machine/memory.h'.
26549 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26550 (_multiboot_mod_SOURCES): New variable.
26551 (_multiboot_mod_CFLAGS): Likewise.
26552 (_multiboot_mod_LDFLAGS): Likewise.
26553 (multiboot_mod_SOURCES): Likewise.
26554 (multiboot_mod_CFLAGS): Likewise.
26555 (multiboot_mod_LDFLAGS): Likewise.
26556
26557 * include/grub/i386/ieee1275/loader.h: New file.
26558
26559 * include/grub/i386/ieee1275/machine.h: Likewise.
26560
26561 * include/grub/i386/ieee1275/memory.h: Likewise.
26562
26563 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26564 variable declaration.
26565 (grub_os_area_size): Likewise.
26566
26567 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26568 (grub_lower_mem, grub_upper_mem): New variables.
26569 (grub_stop_floppy): New function (just to make
26570 grub_multiboot2_real_boot() happy).
26571
26572 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26573 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26574 (grub_stop): New function.
26575 Include `"../realmode.S"' and `"../loader.S"'.
26576
26577 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26578 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26579
26580 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26581 rely on grub_multiboot2_real_boot() for final boot.
26582
25638629 265832008-01-22 Robert Millan <rmh@aybabtu.com>
26584
26585 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26586 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26587 device that doesn't look like an SD card.
26588 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26589 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26590 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26591 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26592 found.
26593
9dad816d 265942008-01-22 Robert Millan <rmh@aybabtu.com>
26595
26596 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26597 avoid claiming over our own code.
26598
34842f2d 265992008-01-22 Bean <bean123ch@gmail.com>
26600
26601 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26602 (jpeg_mod_SOURCES): New variable.
26603 (jpeg_mod_CFLAGS): Likewise.
26604 (jpeg_mod_LDFLAGS): Likewise.
26605
26606 * video/readers/jpeg.c : New file.
26607
44023a28 266082008-01-22 Bean <bean123ch@gmail.com>
26609
26610 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26611 there are no more items.
26612
bc2d8ac6 266132008-01-21 Robert Millan <rmh@aybabtu.com>
26614
26615 * kern/mm.c (grub_mm_init_region): Improve debug message.
26616
261bd4bc 266172008-01-21 Robert Millan <rmh@aybabtu.com>
26618
26619 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26620 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26621 address.
26622 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26623 a C macro.
26624 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26625 Indicates start of upper memory.
26626 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26627 (generate_image): Abort when image size is big enough to corrupt
26628 upper memory.
26629
26630 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26631 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26632 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26633 instead of hardcoding 0xA0000.
26634 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26635 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26636 instead of hardcoding 0xA0000.
26637
f970b55e 266382008-01-21 Robert Millan <rmh@aybabtu.com>
26639
26640 * disk/memdisk.c (memdisk_size): New variable.
26641 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26642 `memdisk_size'.
26643 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26644 image to dynamic memory.
26645 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26646 `memdisk_size'. Free memdisk block.
26647
1a8b0526 266482008-01-21 Robert Millan <rmh@aybabtu.com>
26649
26650 Fix detection of very small filesystems (like tar).
26651
26652 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26653 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26654 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26655 a problem with this disk).
26656
6e9b4aab 266572008-01-21 Robert Millan <rmh@aybabtu.com>
26658
26659 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26660 on grub_biosdisk_rw_standard() error.
26661
0d8837b2 266622008-01-21 Robert Millan <rmh@aybabtu.com>
26663
26664 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26665 recent changes.
26666 * kern/elf.c: Likewise.
26667 * kern/ieee1275/ieee1275.c: Likewise.
26668 * kern/powerpc/ieee1275/openfw.c: Likewise.
26669 * term/ieee1275/ofconsole.c: Likewise.
26670
ffd36e34 266712008-01-21 Robert Millan <rmh@aybabtu.com>
26672
26673 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26674
3f0093d0 26675 * include/grub/kernel.h (grub_arch_memdisk_addr)
26676 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 26677
3f0093d0 26678 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26679 (grub_arch_memdisk_size): ... to here.
ffd36e34 26680
6c391b21 266812008-01-21 Robert Millan <rmh@aybabtu.com>
26682
26683 Mostly based on bugfix from Bean.
26684
26685 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26686 attribute with hook() parameter.
26687 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26688 declaration.
26689 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26690 attribute with hook() parameter.
26691 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26692 declaration.
26693
55a581dc 266942008-01-21 Robert Millan <rmh@aybabtu.com>
26695
26696 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26697 (pkglib_MODULES): Add `memdisk.mod'.
26698 (memdisk_mod_SOURCES): New variable.
26699 (memdisk_mod_CFLAGS): Likewise.
26700 (memdisk_mod_LDFLAGS): Likewise.
26701
26702 * disk/memdisk.c: New file.
26703
26704 * include/grub/disk.h (grub_disk_dev_id): Add
26705 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26706
26707 * include/grub/i386/pc/kernel.h
26708 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26709 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26710 (grub_kernel_image_size): New variable declaration.
26711 (grub_total_module_size): Likewise.
26712 (grub_memdisk_image_size): Likewise.
26713
26714 * include/grub/i386/pc/memory.h
26715 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26716
26717 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26718 (grub_arch_memdisk_addr): New variable declaration.
26719 (grub_arch_memdisk_size): Likewise.
26720
26721 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26722 (grub_arch_memdisk_size): Likewise.
26723
26724 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26725 (codestart): Replace hardcoded `0x100000' with
26726 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26727
26728 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26729 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26730 not NULL, append the contents of the file it refers to, at the end of
26731 the compressed kernel image. Initialize `grub_memdisk_image_size'
26732 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26733 (options): Add "memdisk"|'m' option.
26734 (main): Parse --memdisk|-m option, and pass user-provided path as
26735 parameter to generate_image().
26736
3d7f54c9 267372008-01-20 Robert Millan <rmh@aybabtu.com>
26738
26739 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26740 grub_dprintf() calls from here ...
26741 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26742
0bf74728 267432008-01-20 Robert Millan <rmh@aybabtu.com>
26744
26745 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26746
26747 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26748 declaration.
26749 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26750 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26751 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 26752 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 26753 property).
26754 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26755 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26756
33bf70a7 267572008-01-19 Robert Millan <rmh@aybabtu.com>
26758
fe6b695a 26759 Get rid of confusing function (superseded by
33bf70a7 26760 `grub_ieee1275_get_integer_property')
26761 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26762 prototype.
26763 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26764 function.
26765 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26766 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 26767 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 26768
e2da7d26 267692008-01-19 Robert Millan <rmh@aybabtu.com>
26770
26771 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26772 command after "shut-down", since implementations differ on which
26773 the command for halt is.
26774
59f1fd8d 267752008-01-19 Robert Millan <rmh@aybabtu.com>
26776
26777 * include/grub/i386/linuxbios/console.h: Add header protection.
26778 (grub_keyboard_controller_init): New function prototype.
26779 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26780 (KEYBOARD_COMMAND_READ): Likewise.
26781 (KEYBOARD_COMMAND_WRITE): Likewise.
26782 (KEYBOARD_SCANCODE_SET1): Likewise.
26783 (grub_keyboard_controller_write): New function.
26784 (grub_keyboard_controller_read): Likewise.
26785 (grub_keyboard_controller_init): Likewise.
26786
26787 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26788 (grub_console_init): On coreboot/LinuxBIOS, call
26789 grub_keyboard_controller_init().
26790
5f5a7c15 267912008-01-19 Robert Millan <rmh@aybabtu.com>
26792
26793 PowerPC changes provided by Pavel Roskin.
26794
26795 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26796 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26797 don't rely on cmain() doing it.
26798 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26799 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26800
1210e168 268012008-01-16 Robert Millan <rmh@aybabtu.com>
26802
26803 * include/grub/i386/linuxbios/memory.h
26804 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26805 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26806 receive `table_header' as argument. Instead, probe for it in the
26807 known memory ranges where it can be present.
26808 (grub_available_iterate): Do not pass a fixed `table_header' address
26809 to grub_linuxbios_table_iterate().
26810
3d04eab8 268112008-01-15 Robert Millan <rmh@aybabtu.com>
26812
26813 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26814 * conf/i386-ieee1275.rmk: New file.
26815 * include/grub/i386/ieee1275/console.h: Likewise.
26816 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26817 * include/grub/i386/ieee1275/kernel.h: Likewise.
26818 * include/grub/i386/ieee1275/time.h: Likewise.
26819 * kern/i386/ieee1275/init.c: Likewise.
26820 * kern/i386/ieee1275/startup.S: Likewise.
26821
d1bc1b73 268222008-01-15 Robert Millan <rmh@aybabtu.com>
26823
26824 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26825 when pointers are 32-bit (but still do set it to one when they are
26826 64-bit).
26827
66a65807 268282008-01-15 Robert Millan <rmh@aybabtu.com>
26829
26830 * include/grub/ieee1275/ieee1275.h
26831 (grub_ieee1275_get_integer_property): New function prototype.
26832
26833 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26834 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 26835 grub_ieee1275_get_property() to handle endianness.
66a65807 26836
26837 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26838 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 26839 where appropriate.
66a65807 26840 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26841 (grub_map): Likewise.
26842 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26843
a83ccafd 268442008-01-15 Bean <bean123ch@gmail.com>
26845
26846 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26847 (grub_script_execute_cmdline): Reset grub_errno.
26848
26849 * normal/main.c (read_config_file): Reset grub_errno.
26850
26851 * normal/parse.y (script_init): New.
26852 (script): Move function and menuentry here.
26853 (delimiter): New.
26854 (command): Add delimiter at the end of command.
26855 (commands): Adjust to match the new command.
26856 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 26857 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 26858 (if): Use the new commands.
26859
26860 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26861
df6ecfc6 268622008-01-15 Robert Millan <rmh@aybabtu.com>
26863
26864 * normal/menu.c (run_menu): Move timeout message from here ...
26865 (print_timeout): ... to here.
26866 (run_menu): Use print_timeout() once during initial draw to print
26867 the whole message, and again in every clock tick to update only
26868 the number of seconds.
26869
87ae25eb 268702008-01-15 Robert Millan <rmh@aybabtu.com>
26871
26872 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26873 actual size of `available' from grub_ieee1275_get_property(), and
26874 restrict parsing to that bound.
26875
47bf09a4 268762008-01-15 Christian Franke <franke@computer.org>
26877
26878 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26879 (argp_program_version): Remove variable.
26880 (argp_program_bug_address): Likewise.
26881 (options): Convert from struct argp_option to struct option.
26882 (struct arguments): Remove.
26883 (parse_opt): Remove.
26884 (usage): New function.
26885 (main): Replace struct args members by simple variables.
26886 Replace argp_parse() by getopt_long().
26887 Add switch to evaluate options.
26888 Add missing "(...)" around root_dev in prefix string.
26889
c86f1469 268902008-01-14 Robert Millan <rmh@aybabtu.com>
26891
26892 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26893 for grub_ieee1275_exit(), in order to improve portability.
26894
e622c559 268952008-01-14 Robert Millan <rmh@aybabtu.com>
26896
26897 * util/grub.d/10_linux.in (prefix): Define.
26898 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26899
44cb1ec8 269002008-01-13 Pavel Roskin <proski@gnu.org>
26901
26902 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26903 grub_errno if no errors have been detected.
26904
1eb8c802 269052008-01-12 Robert Millan <rmh@aybabtu.com>
26906
26907 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26908 (grub_util_get_dev_abstraction): New function prototype.
26909
26910 * util/getroot.c: Include `<grub/util/getroot.h>'
26911 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26912 (grub_util_get_dev_abstraction): ... here (new function).
26913
26914 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26915 `PRINT_ABSTRACTION'.
26916 (probe): Probe for abstraction type when requested.
26917 (main): Understand `--target=abstraction'.
26918
26919 * util/i386/efi/grub-install.in: Add abstraction module to core
26920 image when it is found to be necessary.
26921 * util/i386/pc/grub-install.in: Likewise.
26922 * util/powerpc/ieee1275/grub-install.in: Likewise.
26923
26924 * util/update-grub_lib.in (font_path): Return system path without
26925 converting to GRUB path.
26926 * util/update-grub.in: Convert system path returned by font_path()
26927 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26928 abstraction module is needed for loading fonts (if any). Export
26929 that as `GRUB_PRELOAD_MODULES'.
26930 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26931 insmod commands).
26932
52bd3de9 269332008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26934
26935 Remove some unused code from reiserfs.
f19dbdb7 26936
52bd3de9 26937 * fs/reiserfs.c (struct grub_reiserfs_key)
26938 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26939 (struct grub_reiserfs_node_body): Removed.
26940 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26941 Likewise.
26942 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26943 Likewise.
26944 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26945 Likewise.
26946 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26947 Likewise.
26948 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26949 Likewise.
26950 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26951 Likewise.
26952 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26953 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26954 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26955
2f80039d 269562008-01-10 Robert Millan <rmh@aybabtu.com>
26957
26958 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26959 Determines if a file is garbage left by packaging systems, etc.
26960 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26961 for processing /etc/grub.d scripts.
26962 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26963 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26964 as a condition for processing Linux images.
26965
87888032 269662008-01-10 Pavel Roskin <proski@gnu.org>
26967
26968 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26969 to compile reiserfs.c on PowerPC.
26970
7e54fced 269712008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 26972
26973 * kern/device.c (grub_device_iterate): Do not abort device iteration
26974 when one of the devices cannot be opened.
26975 * kern/disk.c (grub_disk_open): Do not account previous failures of
26976 unrelated functions when grub_errno is checked for.
26977
5aa541e6 269782008-01-08 Robert Millan <rmh@aybabtu.com>
26979
26980 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26981 `! grub_linux_is_bzimage', change order of address comparison to make
26982 it more intuitive, and improve "too big zImage" error message.
26983
7076340d 269842008-01-08 Robert Millan <rmh@aybabtu.com>
26985
26986 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26987 `$(update-grub_DATA)'.
26988 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26989 targets.
26990
9ca70333 269912008-01-07 Robert Millan <rmh@aybabtu.com>
26992
26993 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26994 which instruction is modified by grub-setup during installation
26995 (since it wasn't obvious by only looking at this file).
26996
38ccf575 269972008-01-07 Robert Millan <rmh@aybabtu.com>
26998
26999 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
27000 listing actual TODO items.
27001
f5db4291 270022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27003
868967cf 27004 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
27005 correctly.
27006 (grub_reiserfs_get_key_offset): Likewise.
27007 (grub_reiserfs_set_key_offset): Likewise.
27008 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 27009 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 27010
27011 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
27012 better to remove the bitfield version completely.
f19dbdb7 27013
868967cf 270142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27015
f5db4291 27016 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
27017 allocated from the heap, due to the fshelp implementation.
27018 (grub_reiserfs_dir): Free NODE, due to the same reason.
27019
492e6d9d 270202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27021
27022 Mostly from Vincent Pelletier:
f19dbdb7 27023
492e6d9d 27024 * fs/reiserfs.c: New file.
f19dbdb7 27025
492e6d9d 27026 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
27027 (reiserfs_mod_SOURCES): New variable.
27028 (reiserfs_mod_CFLAGS): Likewise.
27029 (reiserfs_mod_LDFLAGS): Likewise.
27030
27031 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
27032 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
27033 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
27034 normal/color.c.
27035
9ce3e7c1 270362008-01-06 Robert Millan <rmh@aybabtu.com>
27037
27038 * normal/color.c: Remove `<grub/env.h>'.
27039
f3b58148 270402008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
27041
27042 * include/grub/normal.h: Include <grub/env.h>.
27043
7ac3bcfa 270442008-01-05 Robert Millan <rmh@aybabtu.com>
27045
27046 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
27047 usage example with `(hd0,1)'.
fb358190 27048 Reported by Samuel Thibault.
7ac3bcfa 27049
c8ee99d7 270502008-01-05 Robert Millan <rmh@aybabtu.com>
27051
27052 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
27053 (grub_linux_boot_zimage): Rename to ...
27054 (grub_linux_boot): ... this.
27055 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
27056 (grub_linux_boot_zimage): Conditionalize zImage copy.
27057
27058 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
27059 (grub_linux_boot_bzimage): Remove prototype.
27060 (grub_linux_boot_zimage): Rename to ...
27061 (grub_linux_boot): ... this.
27062
27063 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
27064 (grub_linux_boot): Remove function.
27065
0ece25b1 270662008-01-05 Robert Millan <rmh@aybabtu.com>
27067
27068 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
27069 (grub_env_write_color_highlight): Likewise.
27070 (grub_wait_after_message): Likewise.
27071
27072 * normal/color.c: New file.
27073
27074 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27075 (normal_mod_DEPENDENCIES): Likewise.
27076
27077 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27078 (normal_mod_DEPENDENCIES): Likewise.
27079
27080 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27081 (normal_mod_DEPENDENCIES): Likewise.
27082
27083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27084 (normal_mod_DEPENDENCIES): Likewise.
27085
27086 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
27087 for waiting after a message is printed.
27088 * normal/main.c (read_config_file): Likewise.
27089 (grub_normal_init): Register grub_env_write_color_normal() and
27090 grub_env_write_color_highlight() hooks. Mark `color_normal' and
27091 `color_highlight' variables as global.
27092
27093 * normal/menu.c (grub_wait_after_message): New function.
27094 (grub_color_menu_normal): New variable. Replaces ...
27095 (GRUB_COLOR_MENU_NORMAL): ... this macro.
27096 (grub_color_menu_highlight): New variable. Replaces ...
27097 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
27098 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
27099 `GRUB_TERM_COLOR_STANDARD'.
27100 (print_message): Use `grub_setcolorstate' to reload colors. Rename
27101 `normal_code' and `highlight_code' to `old_color_normal' and
27102 `old_color_highlight', respectively.
27103 (grub_menu_init_page): Update colors when drawing the menu, based on
27104 `menu_color_normal' and `menu_color_highlight' variables.
27105 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
27106 a message is printed.
27107
182dd4e5 271082008-01-05 Robert Millan <rmh@aybabtu.com>
27109
27110 * kern/env.c (grub_env_context_open): Propagate hooks for global
27111 variables to new context.
27112
27113 * kern/main.c (grub_set_root_dev): Export `root' variable.
27114
ddf8f6ad 271152008-01-05 Robert Millan <rmh@aybabtu.com>
27116
27117 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 27118 discs unconditionally, since udev and others have options to provide
ddf8f6ad 27119 them.
27120
d8b43d9b 271212008-01-05 Robert Millan <rmh@aybabtu.com>
27122
27123 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
27124
2bff2de3 271252008-01-04 Christian Franke <franke@computer.org>
27126
27127 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
27128 of eisa_mmap.
27129
97eab917 271302008-01-03 Pavel Roskin <proski@gnu.org>
27131
27132 * kern/i386/linuxbios/init.c: Put "void" to all function
27133 declarations with no arguments.
27134 * kern/powerpc/ieee1275/init.c: Likewise.
27135 * term/i386/pc/at_keyboard.c: Likewise.
27136 * term/i386/pc/vga_text.c: Likewise.
27137 * util/grub-mkdevicemap.c: Likewise.
27138
b9416d00 271392008-01-02 Robert Millan <rmh@aybabtu.com>
27140
27141 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
27142 message when loaded image is out of bounds.
27143 (grub_multiboot_load_elf64): Likewise.
27144
92695df9 271452008-01-02 Pavel Roskin <proski@gnu.org>
27146
27147 * util/grub.d/10_linux.in: Try version without ".old" when
27148 looking for initrd. It's better to use initrd from the newer
27149 kernel of the same version than no initrd at all.
27150
d98d9cad 271512008-01-01 Robert Millan <rmh@aybabtu.com>
27152
27153 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
27154
dbfdce36 271552008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
27156
f19dbdb7 27157 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 27158 grub_video_get_active_render_target.
27159 (grub_video_adapter): Added unmap_color and get_active_render_target.
27160
f19dbdb7 27161 * video/video.c: Added grub_video_unmap_color and
dbfdce36 27162 grub_video_get_active_render_target.
27163 (grub_video_get_info): Changed method to accept NULL pointer as an
27164 argument to allow detection of active video adapter.
27165
27166 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
27167 grub_video_vbe_unmap_color_int.
27168 Added grub_video_vbe_unmap_color and
27169 grub_video_vbe_get_active_render_target.
27170 (grub_video_vbe_adapter): Added unmap_color and
27171 get_active_render_target.
27172
f19dbdb7 27173 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 27174 with grub_video_vbe_unmap_color_int.
27175
27176 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
27177 (DEFAULT_NORMAL_COLOR): Likewise.
27178 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
27179 (DEFAULT_FG_COLOR): Removed.
27180 (DEFAULT_BG_COLOR): Likewise.
27181 (DEFAULT_CURSOR_COLOR): Changed value.
27182 (grub_virtual_screen): Added standard_color_setting,
27183 normal_color_setting, highlight_color_setting and term_color.
27184 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
27185 (bitmap_width): Added.
27186 (bitmap_height): Likewise.
27187 (bitmap): Likewise.
27188 (set_term_color): Likewise.
27189 (grub_virtual_screen_setup): Changed to use new terminal coloring
27190 settings.
27191 (grub_gfxterm_init): Added init for bitmap.
27192 (grub_gfxterm_fini): Added destroy for bitmap.
27193 (redraw_screen_rect): Updated to use background bitmap and new
27194 terminal coloring.
27195 (scroll_up): Added optimization for case when there is no bitmap.
27196 (grub_gfxterm_cls): Fixed to use correct background color.
27197 (grub_virtual_screen_setcolorstate): Changed to use new terminal
27198 coloring.
27199 (grub_virtual_screen_setcolor): Likewise.
27200 (grub_virtual_screen_getcolor): Added.
27201 (grub_gfxterm_background_image_cmd): Likewise.
27202 (grub_video_term): Added setcolor and getcolor.
27203 (MOD_INIT): Added registration of background_image command.
27204 (MOD_TERM): Added unregistration for background_image command.
27205
c3c20931 272062007-12-30 Pavel Roskin <proski@gnu.org>
27207
27208 * loader/multiboot_loader.c: Fix multiboot command
27209 unregistration. Fix all typos in the word "multiboot".
27210
df266716 272112007-12-29 Pavel Roskin <proski@gnu.org>
94239199 27212
27213 * util/grub.d/10_linux.in: Refactor search for initrd. Add
27214 support for initrd names used in Fedora.
27215
fc6e896c 272162007-12-26 Bean <bean123ch@gmail.com>
27217
27218 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
27219 (cpio_mod_SOURCES): New variable.
27220 (cpio_mod_CFLAGS): Likewise.
27221 (cpio_mod_LDFLAGS): Likewise.
27222
27223 * fs/cpio.c: New file.
27224
27225 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
27226
27227 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27228
27229 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27230
27231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27232
533110ad 272332007-12-25 Robert Millan <rmh@aybabtu.com>
27234
27235 * include/grub/term.h (struct grub_term): Add `getcolor' function.
27236 (grub_getcolor): New function.
27237
27238 * kern/term.c (grub_getcolor): New function.
27239 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
27240 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
27241 (print_entry): Set normal and highlight colors to
27242 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
27243 respectively, before printing and restore them to old
27244 values afterwards.
27245 (grub_menu_init_page): Likewise. Fill an additional colored space
27246 that would otherwise be left blank.
27247
27248 * term/efi/console.c (grub_console_getcolor): New function.
27249 (struct grub_console_term.getcolor): New variable.
27250 * term/i386/pc/console.c (grub_console_getcolor): New function.
27251 (struct grub_console_term.getcolor): New variable.
27252 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
27253 (struct grub_console_term.getcolor): New variable.
27254
27255 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
27256 (struct grub_console_term.setcolor): Remove variable.
27257 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
27258 (struct grub_console_term.setcolor): Remove variable.
27259 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
27260 (struct grub_console_term.setcolor): Remove variable.
27261 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
27262 (struct grub_console_term.setcolor): Remove variable.
27263
4931827f 272642007-12-25 Robert Millan <rmh@aybabtu.com>
27265
27266 * configure.ac: Search for possible unifont.hex locations, and
27267 define UNIFONT_HEX if found.
27268
27269 * Makefile.in (UNIFONT_HEX): Define variable.
27270 (DATA): Rename to ...
27271 (PKGLIB): ... this. Update all users.
27272 (PKGDATA): New variable.
27273 (pkgdata_IMAGES): Rename to ...
27274 (pkglib_IMAGES): ... this. Update all users.
27275 (pkgdata_MODULES): Rename to ...
27276 (pkglib_MODULES): ... this. Update all users.
27277 (pkgdata_PROGRAMS): Rename to ...
27278 (pkglib_PROGRAMS): ... this. Update all users.
27279 (pkgdata_DATA): Rename to ...
27280 (pkglib_DATA): ... this. Update all users.
27281 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
27282 (unicode.pff, ascii.pff): New rules.
27283 (all-local): Add `$(PKGDATA)' dependency.
27284 (install-local): Process `$(PKGDATA)'.
27285
27286 * util/update-grub_lib.in (font_path): Search for *.pff files in
27287 a few more locations, including `${pkgdata}'.
27288
57e57e31 272892007-12-23 Robert Millan <rmh@aybabtu.com>
27290
27291 Patch from Bean <bean123ch@gmail.com>:
27292 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
27293 `size'.
27294
4bc72aa9 272952007-12-21 Bean <bean123ch@gmail.com>
27296
27297 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
27298 (ntfscomp_mod_SOURCES): New variable.
27299 (ntfscomp_mod_CFLAGS): Likewise.
27300 (ntfscomp_mod_LDFLAGS): Likewise.
27301
27302 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
27303 (grub_probe_SOURCES): Likewise.
27304 (grub_emu_SOURCES): Likewise.
27305
27306 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27307 (grub_emu_SOURCES): Likewise.
27308
27309 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27310 (grub_emu_SOURCES): Likewise.
27311
27312 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27313 (grub_emu_SOURCES): Likewise.
27314
27315 * fs/ntfs.c (grub_ntfscomp_func): New variable.
27316 (read_run_list): Renamed to grub_ntfs_read_run_list.
27317 (decomp_nextvcn): Moved to ntfscomp.c.
27318 (decomp_getch): Likewise.
27319 (decomp_get16): Likewise.
27320 (decomp_block): Likewise.
27321 (read_block): Likewise.
27322 (read_data): Partially moved to ntfscomp.c.
27323 (fixup): Change unsigned to grub_uint16_t.
27324 (read_mft): Change unsigned long to grub_uint32_t.
27325 (read_attr): Likewise.
27326 (read_data): Likewise.
27327 (read_run_data): Likewise.
27328 (read_run_list): Likewise.
27329 (read_mft): Likewise.
27330
27331 * fs/ntfscomp.c: New file.
27332
27333 * include/grub/ntfs.h: New file.
27334
af680a87 273352007-12-16 Robert Millan <rmh@aybabtu.com>
27336
27337 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
27338 IDE disk check, since Linux is known to support 20 IDE disks.
27339 Reported by Colin Watson.
27340
84be7599 273412007-12-15 Bean <bean123ch@gmail.com>
27342
27343 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
27344 (lnxboot_img_SOURCES): New variable.
27345 (lnxboot_img_ASFLAGS): Likewise.
27346 (lnxboot_img_LDFLAGS): Likewise.
27347
27348 * boot/i386/pc/lnxboot.S: New file.
27349
6af9db01 273502007-11-24 Pavel Roskin <proski@gnu.org>
27351
27352 * configure.ac: Test if '--build-id=none' is supported by the
27353 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27354 objcopy to generate incorrect binary files (binutils
27355 2.17.50.0.18-1 as shipped by Fedora 8).
27356 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27357 linking, so that build ID doesn't break the test.
27358
7361cfe6 273592007-11-24 Pavel Roskin <proski@gnu.org>
27360
27361 * include/grub/i386/time.h: use "void" in the argument list
27362 of grub_cpu_idle().
27363 * include/grub/powerpc/time.h: Likewise.
27364 * include/grub/sparc64/time.h: Likewise.
27365
1593e10c 273662007-11-18 Christian Franke <franke@computer.org>
27367
27368 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27369 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27370 This fixes the problem that function keys did not work in grub-emu.
27371
3b8db1a8 273722007-11-18 Christian Franke <franke@computer.org>
27373
27374 * disk/host.c (grub_host_open): Remove attribute unused from
27375 name parameter. Add check for "host". This fixes the problem
27376 that grub-emu does not find partitions.
27377
2e29408d 273782007-11-18 Christian Franke <franke@computer.org>
27379
27380 * util/hostfs.c (is_dir): New function.
27381 (grub_hostfs_dir): Handle missing dirent.d_type case.
27382 (grub_hostfs_read): Add missing fseek().
27383 (grub_hostfs_label): Clear label pointer. This fixes a crash
27384 of grub-emu on "ls (host)".
27385
398cd047 273862007-11-18 Christian Franke <franke@computer.org>
27387
27388 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27389 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27390 to 64 bit boundary by default.
27391
c405c391 273922007-11-18 Bean <bean123ch@gmail.com>
27393
27394 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27395 (hexdump_mod_SOURCES): New variable.
27396 (hexdump_mod_CFLAGS): Likewise.
27397 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 27398
c405c391 27399 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27400
27401 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27402
27403 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27404
27405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27406
27407 * include/grub/hexdump.h: New file.
27408
27409 * commands/hexdump.c: New file.
27410
5cced7fd 274112007-11-10 Robert Millan <rmh@aybabtu.com>
27412
27413 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27414 in grub_outb() calls.
27415 (beep_on): Likewise.
27416
8b714eb0 274172007-11-10 Christian Franke <franke@computer.org>
27418
27419 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27420 (grub_menu_run): Likewise.
27421
ce0f1839 274222007-11-10 Robert Millan <rmh@aybabtu.com>
27423
27424 * include/grub/i386/efi/machine.h: New file.
27425 * include/grub/i386/linuxbios/machine.h: Likewise.
27426 * include/grub/i386/pc/machine.h: Likewise.
27427 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27428 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27429
27430 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27431 (serial_hw_io_addr): New variable.
27432 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27433 instead of `(unsigned short *) 0x400'.
27434
270c237d 274352007-11-10 Bean <bean123ch@gmail.com>
27436
27437 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27438
a87783bf 274392007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27440
27441 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27442 (vga_mod_SOURCES): Added.
27443 (vga_mod_CFLAGS): Likewise.
27444 (vga_mod_LDFLAGS): Likewise.
27445
27446 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27447 grub_outb() calls.
27448 (set_map_mask): Likewise.
27449 (set_read_map): Likewise.
27450 (set_read_address): Likewise.
27451 (vga_font): Removed variable.
27452 (get_vga_glyph): Removed function.
27453 (invalidate_char): Likewise.
27454 (write_char): Changed to use grub_font_get_glyph() for font
27455 information.
27456 (grub_vga_putchar): Likewise.
27457 (grub_vga_getcharwidth): Likewise.
27458
6433b448 274592007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27460
27461 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27462 flags.
27463 (pxeboot_img_LDFLAGS): Likewise.
27464 (diskboot_img_LDFLAGS): Likewise.
27465 (kernel_img_LDFLAGS): Likewise.
27466
49178511 274672007-11-06 Robert Millan <rmh@aybabtu.com>
27468
27469 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27470 in grub_outb() calls.
27471 (serial_hw_init): Likewise.
27472
53b052de 274732007-11-05 Robert Millan <rmh@aybabtu.com>
27474
27475 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27476 spaces. Skip non-regular files.
27477
5ab33bba 274782007-11-05 Robert Millan <rmh@aybabtu.com>
27479
27480 * kern/disk.c (grub_disk_firmware_fini)
27481 (grub_disk_firmware_is_tainted): New variables.
27482
27483 * include/grub/disk.h (grub_disk_firmware_fini)
27484 (grub_disk_firmware_is_tainted): Likewise.
27485
27486 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27487 (grub_disk_biosdisk_fini): ... to here.
27488 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27489 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27490 is set. Register grub_disk_biosdisk_fini() in
27491 `grub_disk_firmware_fini'.
27492
27493 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27494 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27495 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27496 to finish existing firmware disk interface.
27497
27498 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27499 (ata_mod_SOURCES): New variable.
27500 (ata_mod_CFLAGS): Likewise.
27501 (ata_mod_LDFLAGS): Likewise.
27502
0149ab7c 275032007-11-05 Robert Millan <rmh@aybabtu.com>
27504
27505 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27506 (grub_ata_wait): Reimplement using grub_millisleep().
27507
27508 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27509 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27510
be7ac41e 275112007-11-03 Marco Gerards <marco@gnu.org>
27512
27513 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27514 (CRTC_ADDR_PORT): New macro.
27515 (CRTC_DATA_PORT): Likewise.
27516 (CRTC_CURSOR): Likewise.
27517 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27518 (CRTC_CURSOR_ADDR_LOW): Likewise.
27519 (update_cursor): New function.
27520 (grub_console_real_putchar): Call `update_cursor'.
27521 (grub_console_gotoxy): Likewise.
27522 (grub_console_cls): Set the default color when clearing the
27523 screen.
27524 (grub_console_setcursor): Implemented.
27525
bb06ab2e 275262007-11-03 Marco Gerards <marco@gnu.org>
27527
27528 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27529 become activate.
27530 (grub_ata_pio_write): Likewise.
27531
27532 (grub_atapi_identify): Wait after issuing an ATA command.
27533 (grub_atapi_packet): Likewise.
27534 (grub_ata_identify): Likewise.
27535 (grub_ata_readwrite): Likewise.
27536
cf8f780b 275372007-11-03 Marco Gerards <marco@gnu.org>
27538
27539 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27540 (grub_ata_pio_write): Likewise.
27541 (grub_ata_readwrite): Use `grub_error', instead of
27542 returning `grub_errno'.
27543
ed649e54 275442007-11-03 Marco Gerards <marco@gnu.org>
27545
27546 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27547 grub_ata_pio_write once for every single sector, instead of for
27548 multiple sectors.
27549
ca25d8f0 275502007-10-31 Robert Millan <rmh@aybabtu.com>
27551
27552 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27553
27554 * conf/i386-linuxbios.rmk: New file.
27555
27556 * kern/i386/pc/hardware.c: Likewise.
27557 * term/i386/pc/at_keyboard.c: Likewise.
27558 * term/i386/pc/vga_text.c: Likewise.
27559
27560 * include/grub/i386/linuxbios/boot.h: Likewise.
27561 * include/grub/i386/linuxbios/console.h: Likewise.
27562 * include/grub/i386/linuxbios/init.h: Likewise.
27563 * include/grub/i386/linuxbios/kernel.h: Likewise.
27564 * include/grub/i386/linuxbios/loader.h: Likewise.
27565 * include/grub/i386/linuxbios/memory.h: Likewise.
27566 * include/grub/i386/linuxbios/serial.h: Likewise.
27567 * include/grub/i386/linuxbios/time.h: Likewise.
27568
27569 * kern/i386/linuxbios/init.c: Likewise.
27570 * kern/i386/linuxbios/startup.S: Likewise.
27571 * kern/i386/linuxbios/table.c: Likewise.
27572
e911ecc1 275732007-10-31 Marco Gerards <marco@gnu.org>
27574
27575 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27576 (ata_mod_SOURCES): New variable.
27577 (ata_mod_CFLAGS): Likewise.
27578 (ata_mod_LDFLAGS): Likewise.
27579
27580 * disk/ata.c: New file.
27581
27582 * include/grub/disk.h (grub_disk_dev_id): Add
27583 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 27584
7f66d0e0 275852007-10-31 Robert Millan <rmh@aybabtu.com>
27586
27587 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27588 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27589
27590 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27591 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27592
27593 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27594 `<grub/types.h>'.
27595
27596 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27597
5cd7dd46 275982007-10-27 Robert Millan <rmh@aybabtu.com>
27599
3236ca65 27600 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 27601
2ebfc90f 276022007-10-22 Robert Millan <rmh@aybabtu.com>
27603
27604 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27605 `"../realmode.S"'.
27606 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27607
73fcb0f3 276082007-10-22 Robert Millan <rmh@aybabtu.com>
27609
27610 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27611 (pkgdata_MODULES): Add `biosdisk.mod'.
27612 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27613 variables.
27614
27615 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27616 (grub_biosdisk_init): Replace with ...
27617 (GRUB_MOD_INIT(biosdisk)): ... this.
27618 (grub_biosdisk_fini): Replace with ...
27619 (GRUB_MOD_FINI(biosdisk)): ... this.
27620
27621 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27622 (grub_machine_init): Remove call to grub_biosdisk_init().
27623 (grub_machine_fini): Remove call to grub_machine_fini().
27624
27625 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27626
3381d274 276272007-10-22 Robert Millan <rmh@aybabtu.com>
27628
27629 * include/grub/time.h: New file.
27630 * include/grub/i386/time.h: Likewise.
27631 * include/grub/powerpc/time.h: Likewise.
27632 * include/grub/sparc64/time.h: Likewise.
27633
27634 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27635 instances to ...
27636 (KERNEL_MACHINE_TIME_HEADER): ... this.
27637 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27638 instances to ...
27639 (KERNEL_MACHINE_TIME_HEADER): ... this.
27640 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27641 instances to ...
27642 (KERNEL_MACHINE_TIME_HEADER): ... this.
27643
27644 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27645 (grub_millisleep): New function.
27646 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27647 (grub_millisleep): New function.
27648 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27649 Remove `grub/machine/time.h' include.
27650 (grub_millisleep): New function.
27651 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27652 Remove `grub/machine/time.h' include.
27653 (grub_millisleep): New function.
27654
27655 * include/grub/misc.h (grub_div_roundup): New function.
27656
27657 * kern/misc.c: Include `<grub/time.h>'.
27658 (grub_millisleep_generic): New function.
27659
27660 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27661 Add `time.h'.
27662 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27663 Add `time.h'.
27664 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27665 `machine/time.h'. Add `time.h'.
27666 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27667
a39a0312 276682007-10-21 Robert Millan <rmh@aybabtu.com>
27669
27670 * include/grub/misc.h (grub_max): New function.
27671
2aad70e2 276722007-10-21 Robert Millan <rmh@aybabtu.com>
27673
27674 * util/misc.c (grub_util_info): Call fflush() before returning.
27675
54b71c4b 276762007-10-20 Robert Millan <rmh@aybabtu.com>
27677
27678 * genmk.rb (Image): Copy `extra_flags' from here ...
27679 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27680
27681 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27682 to `argc' and `args' arguments.
27683
a979f513 276842007-10-17 Robert Millan <rmh@aybabtu.com>
27685
27686 * kern/i386/loader.S: New file.
27687
27688 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27689 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27690 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27691 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27692 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27693 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27694 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27695 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27696 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27697 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27698 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27699 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27700 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27701 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27702
27703 * kern/i386/realmode.S: New file.
27704
27705 * kern/i386/pc/startup.S (protstack): Moved from here ...
27706 * kern/i386/realmode.S (protstack)... to here.
27707 * kern/i386/pc/startup.S (gdt): Moved from here ...
27708 * kern/i386/realmode.S (gdt)... to here.
27709 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27710 * kern/i386/realmode.S (prot_to_real)... to here.
27711
27712 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27713 `kern/i386/realmode.S'.
27714
825fc8fd 277152007-10-17 Robert Millan <rmh@aybabtu.com>
27716
27717 * include/grub/i386/loader.h: New file.
27718
27719 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27720 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27721 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27722 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27723 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27724 * include/grub/i386/loader.h (grub_linux_prot_size)
27725 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27726 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27727 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27728 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27729
27730 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27731
e179b2f4 277322007-10-15 Robert Millan <rmh@aybabtu.com>
27733
27734 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27735 filesystem when dev->disk is unset.
27736 Do probe for filesystem even when dev->disk->has_partitions is set.
27737 In case a filesystem is found, always report it.
27738 In case it isn't, if dev->disk->has_partitions is set, report that
27739 a partition table was found instead of reporting that no filesystem
27740 could be identified.
27741
5db82af6 277422007-10-12 Robert Millan <rmh@aybabtu.com>
27743
27744 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27745 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27746
68f6ac74 27747 * include/grub/types.h (grub_host_to_target16): New macro.
27748 (grub_host_to_target32): Likewise.
27749 (grub_host_to_target64): Likewise.
27750 (grub_target_to_host16): Likewise.
27751 (grub_target_to_host32): Likewise.
27752 (grub_target_to_host64): Likewise.
5db82af6 27753
27754 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27755 Renamed from to ...
27756 (GRUB_MOD_ALIGN): ...this. Update all users.
27757
68f6ac74 27758 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27759 grub_host_to_target32.
27760 Replace grub_be_to_cpu32 with grub_target_to_host32.
27761 (load_modules): Likewise.
27762 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27763 Replace grub_be_to_cpu32 with grub_target_to_host32.
27764 Replace grub_cpu_to_be16 with grub_host_to_target16.
27765 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 27766
3cf497cc 277672007-10-12 Robert Millan <rmh@aybabtu.com>
27768
27769 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27770 * util/elf/grub-mkimage.c: ... here.
27771
27772 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27773 `util/powerpc/ieee1275/grub-mkimage.c'.
27774
c8cc3692 277752007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 27776
c8cc3692 27777 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27778 and make it easier to figure out.
27779 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27780 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27781 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27782 leave us with less than HEAP_MIN_SIZE total heap.
27783 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 27784
5c58b791 277852007-10-03 Robert Millan <rmh@aybabtu.com>
27786
27787 * include/grub/i386/io.h: New file.
27788 * commands/i386/pc/play.c (inb): Removed.
27789 (outb): Removed.
27790 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27791 with grub_outb().
afcd2ef8 27792 * term/i386/pc/serial.c (inb): Removed.
27793 (outb): Removed.
27794 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27795 with grub_outb().
27796 * term/i386/pc/vga.c (inb): Removed.
27797 (outb): Removed.
27798 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27799 with grub_outb().
5c58b791 27800
1a477ed6 278012007-10-02 Robert Millan <rmh@aybabtu.com>
27802
27803 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27805 Reported by Marcin Kurek.
27806
6b5d80fa 278072007-09-07 Robert Millan <rmh@aybabtu.com>
27808
27809 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27810 SmartFirmware version updates (as released by Sven Luther), and avoid
27811 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27812 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27813 known broken.
27814
5618afbf 278152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27816
27817 From Hitoshi Ozeki:
27818 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27819 when merging two regions.
27820
6139dcd9 278212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27822
508e39ee 27823 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27824 * normal/completion.c (grub_normal_do_completion): Likewise.
27825 Reported by Hitoshi Ozeki.
27826
278272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27828
6139dcd9 27829 Do not use devices at boot in chainloading.
f19dbdb7 27830
6139dcd9 27831 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27832 (boot_part_addr): Likewise.
27833 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27834 with BOOT_DRIVE and BOOT_PART_ADDR.
27835 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27836 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27837
38da6516 278382007-08-29 Robert Millan <rmh@aybabtu.com>
27839
27840 Patch from Simon Peter <dn.tlp@gmx.net>:
27841 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27842 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27843 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27844 util/i386/pc/grub-setup.c_DEPENDENCIES.
27845 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27846 util/grub-probe.c_DEPENDENCIES.
27847 * conf/powerpc-ieee1275.rmk: Likewise.
27848
29d0928c 278492007-08-28 Robert Millan <rmh@aybabtu.com>
27850
27851 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27852 to tell grub-mkdevicemap how to name devices.
27853 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27854 feature).
27855
27856 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27857 util/i386/get_disk_name.c.
27858 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27859 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27860 util/ieee1275/get_disk_name.c.
27861
27862 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27863
27864 * DISTLIST: Add util/i386/get_disk_name.c and
27865 util/ieee1275/get_disk_name.c.
27866
27867 * util/grub-mkdevicemap.c: Replace device naming logic with
27868 grub_util_get_disk_name() calls.
27869
5a0d3cca 278702007-08-20 Robert Millan <rmh@aybabtu.com>
27871
27872 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27873 (so that it works for both plural and singular quantities).
27874
8b72db2f 278752007-08-05 Robert Millan <rmh@aybabtu.com>
27876
27877 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27878 so that [xz] isn't taken into account when determining order.
27879
352466bf 278802007-08-02 Marco Gerards <marco@gnu.org>
27881
27882 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27883 `include/multiboot2.h', `include/grub/elfload.h',
27884 `include/multiboot.h', `include/grub/multiboot.h',
27885 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27886 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27887 `kern/elf.c', `loader/multiboot_loader.c',
27888 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27889 `loader/i386/pc/multiboot2.c',
27890 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27891 `util/i386/pc/grub-mkrescue.in'. Remove
27892 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27893 `include/grub/i386/pc/util/biosdisk.h' and
27894 `include/grub/powerpc/ieee1275/multiboot.h'.
27895
8f096014 278962007-08-02 Bean <bean123ch@gmail.com>
27897
27898 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27899 (ntfs_mod_SOURCES): New variable.
27900 (ntfs_mod_CFLAGS): Likewise.
27901 (ntfs_mod_LDFLAGS): Likewise.
27902
27903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27904 (grub_probe_SOURCES): Likewise.
27905 (grub_emu_SOURCES): Likewise.
27906
27907 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27908 (grub_emu_SOURCES): Likewise.
27909
27910 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27911 (grub_emu_SOURCES): Likewise.
f19dbdb7 27912
8f096014 27913 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27914
27915 * fs/ntfs.c: New file.
27916
9959f7db 279172007-08-02 Bean <bean123ch@gmail.com>
27918
27919 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27920
27921 * file.h (grub_file): Likewise.
27922
27923 * fshelp.h (grub_fshelp_read_file): Likewise.
27924
27925 * util/i386/pc/grub-setup.c (setup): Likewise.
27926 (save_first_sector): Likewise.
27927 (save_blocklists): Likewise.
f19dbdb7 27928
9959f7db 27929 * fs/affs.c (grub_affs_read_file): Likewise.
27930
27931 * fs/ext2.c (grub_ext2_read_file): Likewise.
27932
27933 * fs/fat.c (grub_fat_read_data): Likewise.
27934
27935 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27936
27937 * fs/hfs.c (grub_hfs_read_file): Likewise.
27938
27939 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27940
27941 * fs/jfs.c (grub_jfs_read_file): Likewise.
27942
27943 * fs/minix.c (grub_minix_read_file): Likewise.
27944
27945 * fs/sfs.c (grub_sfs_read_file): Likewise.
27946
27947 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 27948
9959f7db 27949 * fs/xfs.c (grub_xfs_read_file): Likewise.
27950
27951 * command/blocklist.c (read_blocklist): Likewise.
27952 (print_blocklist): Likewise.
27953
0a203f83 279542007-08-02 Marco Gerards <marco@gnu.org>
27955
27956 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27957 `util/hostfs.c'.
27958
27959 * disk/host.c: New file.
27960
27961 * util/hostfs.c: Likewise.
27962
27963 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27964 return `GRUB_ERR_BAD_FS'.
27965 * fs/sfs.c (grub_sfs_mount): Likewise.
27966 * fs/xfs.c (grub_xfs_mount): Likewise.
27967
27968 * include/grub/disk.h (enum grub_disk_dev_id): Add
27969 `GRUB_DISK_DEVICE_HOST_ID'.
27970
27971 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27972
e5dfe777 279732007-07-24 Jerone Young <jerone@gmail.com>
27974
f19dbdb7 27975 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 27976 modules for compilation.
27977 * conf/powerpc-ieee1275.rmk: Likewise.
27978
27979 * include/multiboot.h: Move multiboot definitions to one file. Rename
27980 many definitions to not get grub specific.
27981 * include/multiboot2.h: Create header with multiboot 2 definitions.
27982 * include/grub/multiboot.h: Header for grub specific function
27983 prototypes and definitions.
27984 * include/grub/multiboot2.h: Likewise.
27985 * include/grub/multiboot_loader.h: Likewise.
27986 * include/grub/i386/pc/multiboot.h: Removed.
27987 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27988
27989 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27990 and 2 to allow for one multiboot and module commands.
27991 * loader/multiboot2.c: Add multiboot2 functionality.
27992 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27993 and definition names.
27994 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27995 2 functions.
27996 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27997 ieee1275 specific multiboot2 code.
27998
27999 * kern/i386/pc/startup.S: Change headers and definition names for
28000 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
28001
daf0f0ba 280022007-07-22 Robert Millan <rmh@aybabtu.com>
28003
28004 * geninitheader.sh: Process file specified in first parameter rather
28005 than hardcoding grub_modules_init.lst.
fe6b695a 28006 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 28007 than hardcoding grub_modules_init.h.
28008
28009 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
28010 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
28011 grub_probe_init.[ch] and grub_setup_init.[ch].
28012
28013 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
28014 grub_modules_init.h with grub_emu_init.h.
28015 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
28016 grub_probe_init.[ch] files.
28017 * conf/i386-efi.rmk: Likewise.
28018 * conf/i386-pc.rmk: Likewise.
28019 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
28020 grub_setup_init.[ch] files.
28021
28022 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
28023 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
28024 to initialize modules rather than a list of hardcoded functions.
28025 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
28026 grub_init_all() to initialize modules rather than a list of hardcoded
28027 functions.
28028
54cdc1cc 280292007-07-22 Robert Millan <rmh@aybabtu.com>
28030
28031 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28032 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
28033
ad0686cc 280342007-07-22 Robert Millan <rmh@aybabtu.com>
28035
28036 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28037 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
28038 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
28039 flag when running on SmartFirmware.
28040 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
28041 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
28042 was set.
28043
28044 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28045 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
28046 rather than decreasing it.
28047
28048 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
28049 there's not enough space to do it, fail in the same way as when it
28050 can't be done because there are no partitions.
28051
28052 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
28053 when nvsetenv failed.
28054
969c02ec 280552007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
28056
28057 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
28058 because this rule is automatically generated.
28059 (grub-mkrescue): Removed for the same reason as above.
28060
5a79f472 280612007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
28062
28063 Migrate to GNU General Public License Version 3.
f19dbdb7 28064
5a79f472 28065 * COPYING: Replaced with the plain text version of GPLv3.
28066
28067 * config.guess: Updated from gnulib.
28068 * config.sub: Likewise.
28069
28070 * geninit.sh: Output a GPLv3 copyright notice.
28071 * geninitheader.sh: Likewise.
28072 * genmodsrc.sh: Likewise.
28073 * gensymlist.sh.in: Likewise.
28074
28075 * boot/i386/pc/boot.S: Upgraded to GPLv3.
28076 * boot/i386/pc/diskboot.S: Likewise.
28077 * boot/i386/pc/pxeboot.S: Likewise.
28078 * commands/blocklist.c: Likewise.
28079 * commands/boot.c: Likewise.
28080 * commands/cat.c: Likewise.
28081 * commands/cmp.c: Likewise.
28082 * commands/configfile.c: Likewise.
28083 * commands/echo.c: Likewise.
28084 * commands/help.c: Likewise.
28085 * commands/ls.c: Likewise.
28086 * commands/search.c: Likewise.
28087 * commands/terminal.c: Likewise.
28088 * commands/test.c: Likewise.
28089 * commands/videotest.c: Likewise.
28090 * commands/i386/cpuid.c: Likewise.
28091 * commands/i386/pc/halt.c: Likewise.
28092 * commands/i386/pc/play.c: Likewise.
28093 * commands/i386/pc/reboot.c: Likewise.
28094 * commands/i386/pc/vbeinfo.c: Likewise.
28095 * commands/i386/pc/vbetest.c: Likewise.
28096 * commands/ieee1275/halt.c: Likewise.
28097 * commands/ieee1275/reboot.c: Likewise.
28098 * commands/ieee1275/suspend.c: Likewise.
28099 * disk/loopback.c: Likewise.
28100 * disk/lvm.c: Likewise.
28101 * disk/raid.c: Likewise.
28102 * disk/efi/efidisk.c: Likewise.
28103 * disk/i386/pc/biosdisk.c: Likewise.
28104 * disk/ieee1275/ofdisk.c: Likewise.
28105 * font/manager.c: Likewise.
28106 * fs/affs.c: Likewise.
28107 * fs/ext2.c: Likewise.
28108 * fs/fat.c: Likewise.
28109 * fs/fshelp.c: Likewise.
28110 * fs/hfs.c: Likewise.
28111 * fs/hfsplus.c: Likewise.
28112 * fs/iso9660.c: Likewise.
28113 * fs/jfs.c: Likewise.
28114 * fs/minix.c: Likewise.
28115 * fs/sfs.c: Likewise.
28116 * fs/ufs.c: Likewise.
28117 * fs/xfs.c: Likewise.
28118 * hello/hello.c: Likewise.
28119 * include/grub/acorn_filecore.h: Likewise.
28120 * include/grub/arg.h: Likewise.
28121 * include/grub/bitmap.h: Likewise.
28122 * include/grub/boot.h: Likewise.
28123 * include/grub/cache.h: Likewise.
28124 * include/grub/device.h: Likewise.
28125 * include/grub/disk.h: Likewise.
28126 * include/grub/dl.h: Likewise.
28127 * include/grub/elfload.h: Likewise.
28128 * include/grub/env.h: Likewise.
28129 * include/grub/err.h: Likewise.
28130 * include/grub/file.h: Likewise.
28131 * include/grub/font.h: Likewise.
28132 * include/grub/fs.h: Likewise.
28133 * include/grub/fshelp.h: Likewise.
28134 * include/grub/gzio.h: Likewise.
28135 * include/grub/hfs.h: Likewise.
28136 * include/grub/kernel.h: Likewise.
28137 * include/grub/loader.h: Likewise.
28138 * include/grub/lvm.h: Likewise.
28139 * include/grub/misc.h: Likewise.
28140 * include/grub/mm.h: Likewise.
28141 * include/grub/net.h: Likewise.
28142 * include/grub/normal.h: Likewise.
28143 * include/grub/parser.h: Likewise.
28144 * include/grub/partition.h: Likewise.
28145 * include/grub/pc_partition.h: Likewise.
28146 * include/grub/raid.h: Likewise.
28147 * include/grub/rescue.h: Likewise.
28148 * include/grub/script.h: Likewise.
28149 * include/grub/setjmp.h: Likewise.
28150 * include/grub/symbol.h: Likewise.
28151 * include/grub/term.h: Likewise.
28152 * include/grub/terminfo.h: Likewise.
28153 * include/grub/tparm.h: Likewise.
28154 * include/grub/types.h: Likewise.
28155 * include/grub/video.h: Likewise.
28156 * include/grub/efi/api.h: Likewise.
28157 * include/grub/efi/chainloader.h: Likewise.
28158 * include/grub/efi/console.h: Likewise.
28159 * include/grub/efi/console_control.h: Likewise.
28160 * include/grub/efi/disk.h: Likewise.
28161 * include/grub/efi/efi.h: Likewise.
28162 * include/grub/efi/pe32.h: Likewise.
28163 * include/grub/efi/time.h: Likewise.
28164 * include/grub/i386/linux.h: Likewise.
28165 * include/grub/i386/setjmp.h: Likewise.
28166 * include/grub/i386/types.h: Likewise.
28167 * include/grub/i386/efi/kernel.h: Likewise.
28168 * include/grub/i386/efi/loader.h: Likewise.
28169 * include/grub/i386/efi/time.h: Likewise.
28170 * include/grub/i386/pc/biosdisk.h: Likewise.
28171 * include/grub/i386/pc/boot.h: Likewise.
28172 * include/grub/i386/pc/chainloader.h: Likewise.
28173 * include/grub/i386/pc/console.h: Likewise.
28174 * include/grub/i386/pc/init.h: Likewise.
28175 * include/grub/i386/pc/kernel.h: Likewise.
28176 * include/grub/i386/pc/loader.h: Likewise.
28177 * include/grub/i386/pc/memory.h: Likewise.
28178 * include/grub/i386/pc/multiboot.h: Likewise.
28179 * include/grub/i386/pc/serial.h: Likewise.
28180 * include/grub/i386/pc/time.h: Likewise.
28181 * include/grub/i386/pc/vbe.h: Likewise.
28182 * include/grub/i386/pc/vbeblit.h: Likewise.
28183 * include/grub/i386/pc/vbefill.h: Likewise.
28184 * include/grub/i386/pc/vbeutil.h: Likewise.
28185 * include/grub/i386/pc/vga.h: Likewise.
28186 * include/grub/ieee1275/ieee1275.h: Likewise.
28187 * include/grub/ieee1275/ofdisk.h: Likewise.
28188 * include/grub/powerpc/libgcc.h: Likewise.
28189 * include/grub/powerpc/setjmp.h: Likewise.
28190 * include/grub/powerpc/types.h: Likewise.
28191 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
28192 * include/grub/powerpc/ieee1275/console.h: Likewise.
28193 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
28194 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28195 * include/grub/powerpc/ieee1275/loader.h: Likewise.
28196 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
28197 * include/grub/powerpc/ieee1275/time.h: Likewise.
28198 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
28199 * include/grub/sparc64/libgcc.h: Likewise.
28200 * include/grub/sparc64/setjmp.h: Likewise.
28201 * include/grub/sparc64/types.h: Likewise.
28202 * include/grub/sparc64/ieee1275/console.h: Likewise.
28203 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28204 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28205 * include/grub/sparc64/ieee1275/time.h: Likewise.
28206 * include/grub/util/biosdisk.h: Likewise.
28207 * include/grub/util/getroot.h: Likewise.
28208 * include/grub/util/lvm.h: Likewise.
28209 * include/grub/util/misc.h: Likewise.
28210 * include/grub/util/raid.h: Likewise.
28211 * include/grub/util/resolve.h: Likewise.
28212 * io/gzio.c: Likewise.
28213 * kern/device.c: Likewise.
28214 * kern/disk.c: Likewise.
28215 * kern/dl.c: Likewise.
28216 * kern/elf.c: Likewise.
28217 * kern/env.c: Likewise.
28218 * kern/err.c: Likewise.
28219 * kern/file.c: Likewise.
28220 * kern/fs.c: Likewise.
28221 * kern/loader.c: Likewise.
28222 * kern/main.c: Likewise.
28223 * kern/misc.c: Likewise.
28224 * kern/mm.c: Likewise.
28225 * kern/parser.c: Likewise.
28226 * kern/partition.c: Likewise.
28227 * kern/rescue.c: Likewise.
28228 * kern/term.c: Likewise.
28229 * kern/efi/efi.c: Likewise.
28230 * kern/efi/init.c: Likewise.
28231 * kern/efi/mm.c: Likewise.
28232 * kern/i386/dl.c: Likewise.
28233 * kern/i386/efi/init.c: Likewise.
28234 * kern/i386/efi/startup.S: Likewise.
28235 * kern/i386/pc/init.c: Likewise.
28236 * kern/i386/pc/lzo1x.S: Likewise.
28237 * kern/i386/pc/startup.S: Likewise.
28238 * kern/ieee1275/ieee1275.c: Likewise.
28239 * kern/powerpc/cache.S: Likewise.
28240 * kern/powerpc/dl.c: Likewise.
28241 * kern/powerpc/ieee1275/cmain.c: Likewise.
28242 * kern/powerpc/ieee1275/crt0.S: Likewise.
28243 * kern/powerpc/ieee1275/init.c: Likewise.
28244 * kern/powerpc/ieee1275/openfw.c: Likewise.
28245 * kern/sparc64/cache.S: Likewise.
28246 * kern/sparc64/dl.c: Likewise.
28247 * kern/sparc64/ieee1275/init.c: Likewise.
28248 * kern/sparc64/ieee1275/openfw.c: Likewise.
28249 * loader/efi/chainloader.c: Likewise.
28250 * loader/efi/chainloader_normal.c: Likewise.
28251 * loader/i386/efi/linux.c: Likewise.
28252 * loader/i386/efi/linux_normal.c: Likewise.
28253 * loader/i386/pc/chainloader.c: Likewise.
28254 * loader/i386/pc/chainloader_normal.c: Likewise.
28255 * loader/i386/pc/linux.c: Likewise.
28256 * loader/i386/pc/linux_normal.c: Likewise.
28257 * loader/i386/pc/multiboot.c: Likewise.
28258 * loader/i386/pc/multiboot_normal.c: Likewise.
28259 * loader/powerpc/ieee1275/linux.c: Likewise.
28260 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28261 * normal/arg.c: Likewise.
28262 * normal/cmdline.c: Likewise.
28263 * normal/command.c: Likewise.
28264 * normal/completion.c: Likewise.
28265 * normal/execute.c: Likewise.
28266 * normal/function.c: Likewise.
28267 * normal/lexer.c: Likewise.
28268 * normal/main.c: Likewise.
28269 * normal/menu.c: Likewise.
28270 * normal/menu_entry.c: Likewise.
28271 * normal/misc.c: Likewise.
28272 * normal/parser.y: Likewise.
28273 * normal/script.c: Likewise.
28274 * normal/i386/setjmp.S: Likewise.
28275 * normal/powerpc/setjmp.S: Likewise.
28276 * normal/sparc64/setjmp.S: Likewise.
28277 * partmap/acorn.c: Likewise.
28278 * partmap/amiga.c: Likewise.
28279 * partmap/apple.c: Likewise.
28280 * partmap/gpt.c: Likewise.
28281 * partmap/pc.c: Likewise.
28282 * partmap/sun.c: Likewise.
28283 * term/gfxterm.c: Likewise.
28284 * term/terminfo.c: Likewise.
28285 * term/efi/console.c: Likewise.
28286 * term/i386/pc/console.c: Likewise.
28287 * term/i386/pc/serial.c: Likewise.
28288 * term/i386/pc/vesafb.c: Likewise.
28289 * term/i386/pc/vga.c: Likewise.
28290 * term/ieee1275/ofconsole.c: Likewise.
28291 * util/biosdisk.c: Likewise.
28292 * util/console.c: Likewise.
28293 * util/genmoddep.c: Likewise.
28294 * util/getroot.c: Likewise.
28295 * util/grub-emu.c: Likewise.
28296 * util/grub-mkdevicemap.c: Likewise.
28297 * util/grub-probe.c: Likewise.
28298 * util/lvm.c: Likewise.
28299 * util/misc.c: Likewise.
28300 * util/raid.c: Likewise.
28301 * util/resolve.c: Likewise.
28302 * util/update-grub.in: Likewise.
28303 * util/update-grub_lib.in: Likewise.
28304 * util/grub.d/00_header.in: Likewise.
28305 * util/grub.d/10_hurd.in: Likewise.
28306 * util/grub.d/10_linux.in: Likewise.
28307 * util/i386/efi/grub-install.in: Likewise.
28308 * util/i386/efi/grub-mkimage.c: Likewise.
28309 * util/i386/pc/grub-install.in: Likewise.
28310 * util/i386/pc/grub-mkimage.c: Likewise.
28311 * util/i386/pc/grub-mkrescue.in: Likewise.
28312 * util/i386/pc/grub-setup.c: Likewise.
28313 * util/i386/pc/misc.c: Likewise.
28314 * util/powerpc/ieee1275/grub-install.in: Likewise.
28315 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
28316 * util/powerpc/ieee1275/misc.c: Likewise.
28317 * video/bitmap.c: Likewise.
28318 * video/video.c: Likewise.
28319 * video/i386/pc/vbe.c: Likewise.
28320 * video/i386/pc/vbeblit.c: Likewise.
28321 * video/i386/pc/vbefill.c: Likewise.
28322 * video/i386/pc/vbeutil.c: Likewise.
28323 * video/readers/tga.c: Likewise.
28324
3572d015 283252007-07-02 Robert Millan <rmh@aybabtu.com>
28326
28327 * conf/i386-efi.rmk: Replace obsolete reference to
28328 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
28329 with util/getroot.c.
28330 * conf/powerpc-ieee1275.rmk: Likewise.
28331 * conf/sparc64-ieee1275.rmk: Likewise.
28332
28333 * util/grub-emu.c (main): Fix unchecked pointer handling.
28334
2c2a681b 283352007-07-02 Robert Millan <rmh@aybabtu.com>
28336
28337 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
28338 invocation to fail, in order to support partition-less media.
28339
28340 * util/i386/pc/grub-install.in: Likewise.
28341
28342 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
28343 which fs or partmap modules are needed (akin to its sister scripts).
28344
28345 Also use grub-probe to get rid of unportable /proc/mounts check.
28346
28347 Print the same informational message that the other scripts do, before
fe6b695a 28348 exiting.
2c2a681b 28349
6193defe 283502007-06-23 Robert Millan <rmh@aybabtu.com>
28351
fe6b695a 28352 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 28353 a font file can be found and, if so, echo the GRUB path to it.
28354
28355 * util/update-grub.in: Handle multiple terminals depending on user
28356 input, platform availability and font file presence. Propagate
28357 variables of our findings to /etc/grub.d/ children.
28358
28359 * util/grub.d/00_header.in: Handle multiple terminals, based on
28360 environment setup by update-grub.
28361
eface1dc 283622007-06-23 Robert Millan <rmh@aybabtu.com>
28363
ba50d28f 28364 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 28365
bf697e28 283662007-06-21 Robert Millan <rmh@aybabtu.com>
28367
28368 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28369 indicate end of data section in kernel image.
28370 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28371 GRUB_KERNEL_MACHINE_DATA_END.
28372
28373 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28374 space for it.
28375 * kern/i386/efi/startup.S: Likewise.
28376
28377 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28378 during image generation. Implement --prefix option to override this
28379 patch.
28380 * util/i386/efi/grub-mkimage.c: Likewise.
28381
28382 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28383 code to make path relative to its root into a separate function.
28384
28385 * util/i386/pc/grub-install.in: Use newly provided
28386 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28387 pass the result to grub-install --prefix.
28388
baa574b4 283892007-06-13 Robert Millan <rmh@aybabtu.com>
28390
28391 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28392 DEFAULT_DEVICE_MAP.
28393 * util/grub-emu.c: Use above definitions from misc.h instead of
28394 defining them.
28395 * util/grub-mkdevicemap.c: Likewise.
28396 * util/i386/pc/grub-setup.c: Likewise.
28397 * util/grub-probe.c: Likewise.
28398 (probe): Abort with grub_util_error() when either
28399 grub_guess_root_device or grub_util_get_grub_dev fails.
28400
0215dcbf 284012007-06-12 Robert Millan <rmh@aybabtu.com>
28402
28403 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28404 "pager" assignment.
28405 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28406 "pcdata".
28407 * util/grub-probe.c (probe): Likewise for "drive_name".
28408
8af2ab7b 284092007-06-11 Robert Millan <rmh@aybabtu.com>
28410
28411 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28412 not just the cdrom one.
28413
59d31694 284142007-06-11 Robert Millan <rmh@aybabtu.com>
28415
28416 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28417 Add --pkglibdir=DIR option to override pkglibdir.
28418 Mention --image-type=TYPE in help output.
28419 Fix --grub-mkimage (it was a no-op).
fe6b695a 28420 Abort gracefully when no parameter is given.
59d31694 28421
7ee367e4 284222007-06-11 Robert Millan <rmh@aybabtu.com>
28423
28424 * util/i386/pc/grub-mkrescue.in: New file.
28425 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28426 * Makefile.in: Handle bin_SCRIPTS.
28427
29b0ed46 284282007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28429
28430 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28431 list of video modes.
28432
c0f90770 284332007-06-06 Robert Millan <rmh@aybabtu.com>
28434
28435 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28436 file doesn't exist, or if it is in a filesystem grub can't read.
28437
28438 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28439 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28440 header comment to fit in 80 columns when the variables are resolved.
28441
28442 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28443 could be identified by update-grub. Remove redundant check for
fe6b695a 28444 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 28445 handles that).
28446
fb36dc26 284472007-06-04 Robert Millan <rmh@aybabtu.com>
28448
28449 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28450
28451 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28452
28453 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28454
0c68c93e 284552007-06-04 Robert Millan <rmh@aybabtu.com>
28456
28457 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28458
28459 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28460 grub_apple_partition_map_fini.
28461
28462 * util/biosdisk.c
28463 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28464 to access >2 TiB disks).
28465
28466 Print disk->total_sectors with %llu instead of %lu, since this
28467 variable is always 64-bit (prevents wrong disk size from being displayed
28468 on either >2 TiB disk or big-endian CPU).
28469
28470 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28471 into a generic case that supports all (sane) partition maps.
28472
28473 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28474 breaks big-endian.
28475
28476 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28477 and grub_apple_partition_map_fini() after that.
28478
0f23eb74 284792007-06-01 Robert Millan <rmh@aybabtu.com>
28480
28481 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28482
28483 * util/grub.d/00_header.in: Only enable gfxterm when
28484 convert_system_path_to_grub_path() succeeds.
28485
42c71976 284862007-05-20 Robert Millan <rmh@aybabtu.com>
28487
28488 * util/update-grub_lib.in: New file.
28489 * DISTLIST: Add update-grub_lib.in.
28490 * conf/common.rmk: Generate update-grub_lib and install it in
28491 $(lib_DATA).
28492 * Makefile.in: Add install routine for $(lib_DATA).
28493
28494 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28495 function provided by update-grub_lib to support arbitrary paths of
28496 unifont.pff.
28497 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28498 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28499
5beb2291 285002007-05-19 Robert Millan <rmh@aybabtu.com>
28501
28502 * commands/i386/cpuid.c: New module.
28503 * DISTLIST: Add it.
28504 * conf/i386-efi.rmk: Enable cpuid.mod.
28505 * conf/i386-pc.rmk: Likewise.
28506
7262eca1 285072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28508
28509 * kern/disk.c (grub_disk_read): Check return value of
28510 grub_realloc().
28511
260ba823 285122007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28513
28514 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28515 arrays.
28516 * disk/raid.c (grub_raid_open): Likewise.
28517
1ecb6cf2 285182007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28519
28520 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28521 stack instead of on the heap.
28522
28523 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28524 before doing a read on it.
28525
28526 * configure.ac: Only use -fno-stack-protector for the target
28527 environment.
f19dbdb7 28528
21c8cbb1 285292007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28530
28531 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28532 __attribute_ ((unused)) to mode_type argument.
28533
28534 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 28535
21c8cbb1 28536 * kern/misc.c (memcmp): Fix prototype.
28537
28538 * include/grub/partition.h [GRUB_UTIL]
28539 (grub_gpt_partition_map_init): Add prototype.
28540 (grub_gpt_partition_map_fini): Likewise.
28541
28542 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28543 at the right place.
28544
28545 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28546 (grub_fat_read_data): Likewise.
28547 (grub_fat_find_dir): Likewise.
28548
28549 * font/manager.c (find_glyph): Make table a const.
28550 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 28551
849d55d3 285522007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28553
28554 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28555 code, first search for device in /dev/mapper, then in /dev.
28556 (grub_util_get_grub_dev): New function.
28557 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28558 prototype.
28559 * util/grub-probe.c (probe): Remove check for RAID, call
28560 grub_util_get_grub_dev() instead of
28561 grub_util_biosdisk_get_grub_dev().
28562 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28563 grub_util_biosdisk_get_grub_dev().
28564 * util/i386/pc/grub-setup.c (main): Likewise.
28565
8fff7c2f 285662007-05-16 Robert Millan <rmh@aybabtu.com>
28567
28568 * DISTLIST: Update for the latest changes.
28569 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28570 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28571 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28572 grub/util/biosdisk.h.
28573 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28574 grub/util/biosdisk.h.
28575
48e12b52 285762007-05-16 Robert Millan <rmh@aybabtu.com>
28577
28578 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28579
46b9d128 285802007-05-16 Robert Millan <rmh@aybabtu.com>
28581
28582 * util/i386/efi/grub-install.in: New.
28583 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28584 newly added grub-install.
28585 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28586 include.
28587 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28588 grub/util/biosdisk.h.
28589 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28590 grub/util/biosdisk.h.
28591
2d1a40a9 285922007-05-16 Robert Millan <rmh@aybabtu.com>
28593
28594 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28595 * include/grub/util/biosdisk.h: ... here.
28596 * util/i386/pc/biosdisk.c: Moved to ...
28597 * util/biosdisk.c: ... here.
28598 * util/i386/pc/getroot.c: Moved to ...
28599 * util/getroot.c: ... here.
28600 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28601 * util/grub-mkdevicemap.c: ... here.
28602 * util/i386/pc/grub-probe.c: Moved to ...
28603 * util/grub-probe.c: ... here.
28604
9e26e3bc 286052007-05-15 Robert Millan <rmh@aybabtu.com>
28606
28607 * util/update-grub.in: Remove duplicated line in grub.cfg header
28608 message.
28609
57f96397 286102007-05-13 Robert Millan <rmh@aybabtu.com>
28611
28612 * util/update-grub.in: Fix a few assumptions about the devices holding
28613 /, /boot and /boot/grub being the same.
28614 * util/grub.d/00_header.in: Likewise.
28615 * util/grub.d/10_hurd.in: Likewise.
28616 * util/grub.d/10_linux.in: Likewise.
28617
28618 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28619 patterns. Use that to define the `.old' suffix as older than `'.
28620
28621 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28622
28623 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28624 the grub.cfg header message.
28625
2e610d62 286262007-05-11 Robert Millan <rmh@aybabtu.com>
28627
28628 * util/update-grub.in: Create device.map if it doesn't already exist,
28629 before attempting to run grub-probe.
28630 Check for grub-probe and grub-mkdevicemap with the same code
28631 grub-install is using.
28632 Remove test mode.
28633
3f6a10ef 286342007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28635
28636 * Makefile.in: Add the datarootdir autoconf variable.
28637
02e7b75e 286382007-05-09 Robert Millan <rmh@aybabtu.com>
28639
28640 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 28641 fail gracefully if dev->disk->partition == NULL.
02e7b75e 28642
75f396cc 286432007-05-07 Robert Millan <rmh@aybabtu.com>
28644
28645 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28646 determine partition map module.
28647 * util/i386/pc/grub-install.in: Use this feature to decide which
28648 partition module to load, instead of hardcoding pc and gpt.
28649
da65cb36 286502007-05-07 Robert Millan <rmh@aybabtu.com>
28651
28652 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28653 source directory differs from build directory.
28654
b57d6a91 286552007-05-05 Robert Millan <rmh@aybabtu.com>
28656
28657 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28658 initialisation.
28659
509d00f1 286602007-05-05 Robert Millan <rmh@aybabtu.com>
28661
28662 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28663
c48f23ef 286642007-05-05 Robert Millan <rmh@aybabtu.com>
28665
28666 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28667 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28668
20b97658 286692007-05-05 Robert Millan <rmh@aybabtu.com>
28670
28671 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28672 (grub_probe_SOURCES): Likewise.
28673 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28674 GPT and initialize dos_part and bsd_part accordingly.
28675 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28676 install_bsd_part.
28677 (main): Activate gpt module for use during partition identification,
28678 and deactivate it afterwards.
28679 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28680 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28681 partition identification, and deactivate it afterwards.
28682
99123174 286832007-05-05 Robert Millan <rmh@aybabtu.com>
28684
28685 * term/i386/pc/console.c (grub_console_fini): Call
28686 grub_term_set_current() before grub_term_unregister().
28687
ebd97f6e 286882007-05-04 Robert Millan <rmh@aybabtu.com>
28689
28690 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28691 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28692 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28693 and update-grub_DATA.
28694 * conf/common.rmk: Build and install update-grub components.
28695 * conf/common.mk: Regenerate.
28696 * util/update-grub.in: New. Core of update-grub.
28697 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28698 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28699 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28700 * util/grub.d/README: New. Document grub.d directory layout.
28701
b06a264d 287022007-05-01 Robert Millan <rmh@aybabtu.com>
28703
28704 * util/grub-emu.c: Move initialization functions
28705 grub_util_biosdisk_init() and grub_init_all() before
28706 grub_util_biosdisk_get_grub_dev(), which relies on them.
28707
41f0050e 287082007-04-19 Robert Millan <rmh@aybabtu.com>
28709
28710 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28711 it is used later.
28712
04582bb3 287132007-04-18 Jerone Young <jerone@gmail.com>
28714
f19dbdb7 28715 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 28716 stanza.
28717
08db4632 287182007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 28719
08db4632 28720 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28721 continue on and look for device node with real device name.
28722
801b76be 287232007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 28724
fe6b695a 28725 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 28726 ability.
28727 * Makefile.in: Add autoconf package transformation code.
28728 * util/i386/pc/grub-install.in: Likewise.
28729 * util/powerpc/ieee1275/grub-install.in: Likewise.
28730
6795c4e1 287312007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28732
28733 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28734 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28735 (EXT2_REVISION): Likewise.
28736 (EXT2_INODE_SIZE): Likewise.
28737 (struct grub_ext2_block_group): Added a missing member
28738 "used_dirs".
28739 (grub_ext2_read_inode): Divide by the inode size in a superblock
28740 instead of 128 to obtain INODES_PER_BLOCK.
28741 Use the macro EXT2_INODE_SIZE instead of directly using
28742 SBLOCK->INODE_SIZE.
28743
d70af616 287442007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28745
28746 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28747 superblock instead of the structure size to compute an
28748 offset. This fixes the problem that GRUB could not read a
28749 filesystem when inode size is different from 128-byte.
28750
3b801603 287512007-03-05 Marco Gerards <marco@gnu.org>
28752
28753 * normal/main.c (read_config_file): When "menu" is not set, create
28754 an initial context.
28755
4785bfe4 287562007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28757
28758 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28759 (HEAP_LIMIT): New macro.
28760 (grub_claim_heap): Claim memory up to `heaplimit'.
28761
a0cbb023 287622007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28763
28764 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28765 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28766 (_start): Likewise.
28767 (grub_arch_modules_addr): Return address after `_end'.
28768 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28769 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28770 (add_segments): Calculate `_end' from phdr size and location.
28771 (ALIGN_UP): Moved to ...
28772 * include/grub/misc.h: here.
28773 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28774 New macro.
28775 (GRUB_IEEE1275_MODULE_BASE): Removed.
28776
fd7d8eba 287772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28778
28779 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28780 loop boundary.
28781
9b09e6fc 287822007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28783
28784 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28785 All users updated.
28786 (grub_elf64_load_hook_t): Likewise.
28787 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28788 debug output.
28789
3ce27299 287902007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28791
28792 * kern/mm.c: Update copyright.
28793 (grub_mm_debug): Correct syntax error.
28794 (grub_mm_dump_free): New function.
28795 (grub_debug_free): Call `grub_free'.
28796 * include/grub/mm.h: Update copyright.
28797 (grub_mm_dump_free): Add declaration.
28798
077d5fee 287992007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28800
28801 * include/grub/ieee1275/ieee1275.h: Update copyright.
28802 * kern/powerpc/ieee1275/init.c: Likewise.
28803 * kern/powerpc/ieee1275/openfw.c: Likewise.
28804
28805 * loader/powerpc/ieee1275/linux.c: Likewise.
28806 * include/grub/elfload.h: Likewise.
28807 * kern/elf.c: Likewise.
28808 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28809 callers.
28810 (grub_elf64_load): Likewise.
28811 (grub_elf32_load_segment): Move to a nested function.
28812 (grub_elf64_load_segment): Likewise.
28813
dc946850 288142007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28815
28816 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28817 prototype.
28818 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28819 (grub_heap_len): Likewise.
28820 (HEAP_SIZE): New macro.
28821 (grub_claim_heap): New function.
28822 (grub_machine_init): Don't claim heap directly. Call
28823 `grub_claim_heap'.
28824 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28825 (grub_available_iterate): New function.
28826
baa2a121 288272007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28828
28829 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28830 * configure.ac: Use it for testing the HOST and TARGET compilers.
28831
4fe9862e 288322006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28833
28834 * Makefile.in (enable_grub_emu): New variable.
28835 * configure.ac (--enable-grub-emu): New option.
28836 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28837 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28838 * conf/i386-pc.rmk: Likewise.
28839 * conf/powerpc-ieee1275.rmk: Likewise.
28840 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28841
a8aa5762 288422006-12-12 Marco Gerards <marco@gnu.org>
28843
28844 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28845
28846 * kern/env.c (grub_env_unset): Don't free the member `value' when
28847 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28848 pointer.
28849
28850 * normal/main.c (current_menu): Removed.
28851 (free_menu): Unset the `menu' environment variable.
28852 (grub_normal_menu_addentry): Make use of the environment variable
28853 `menu', instead of using the global `current_menu'. Allocate
28854 memory for the sourcecode of this entry.
28855 (read_config_file): New argument `nested', changed all callers.
28856 Only in the case of a new context, initialize a new menu. Set the
28857 `menu' environment variable.
28858 (grub_normal_execute): Don't set and unset the environment
28859 variable `menu' here anymore. Only free the menu when leaving the
28860 context.
28861
28862 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28863 leak.
28864
957b3a3e 288652006-12-11 Marco Gerards <marco@gnu.org>
28866
28867 * normal/menu_entry.c (run): Fix off by one bug so the last line
28868 is executed. Move the loader check to outside the loop.
28869
ef875714 288702006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28871
28872 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28873
4e739985 288742006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28875
28876 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28877 the number of sectors. Reported by Andrey Shuvikov
28878 <mr_hyro@yahoo.com>.
f19dbdb7 28879
790707f2 288802006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28881
28882 * kern/disk.c (grub_disk_read): When there is a read error, always
28883 try to read only the necessary data.
f19dbdb7 28884
790707f2 28885 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28886 disk/raid.c.
28887 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28888 prototype.
28889 [GRUB_UTIL] (grub_raid_fini): Likewise.
28890 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 28891 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 28892 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28893 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28894 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28895 and grub_raid_fini().
f19dbdb7 28896
03e58196 288972006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28898
28899 * include/grub/types.h (__unused): Rename to UNUSED.
28900 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28901 (grub_elf64_size): Likewise.
f19dbdb7 28902
ae4f23bf 289032006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28904
28905 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28906 grub_error_push and grub_error_pop in the error-handling path.
28907 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28908 length.
28909
2166cc83 289102006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28911
28912 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28913 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28915 (kernel_elf_SOURCES): Likewise.
28916 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28917 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28918 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28919 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28920 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28921 (elf_mod_SOURCES): New variable.
28922 (elf_mod_CFLAGS): Likewise.
28923 (elf_mod_LDFLAGS): Likewise.
28924 * include/grub/types.h (__unused): New macro.
28925 * include/grub/elfload.h: New file.
28926 * kern/elf.c: Likewise.
28927 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28928 (ELF32_LOADMASK): New macro.
28929 (ELF64_LOADMASK): Likewise.
28930 (vmlinux): Removed.
28931 (grub_linux_load32): New function.
28932 (grub_linux_load64): Likewise.
28933 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28934 Use grub_elf_t instead of grub_file_t.
28935
a09d5aa5 289362006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28937
28938 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28939 `catch_result' to struct set_color_args.
28940
d976fc51 289412006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28942
28943 * normal/menu.c: Include grub/script.h.
28944 * normal/menu_entry.c: Likewise.
28945 * include/grub/normal.h: Do not include grub/script.h.
28946
67507549 289472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28948
28949 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28950
69203a99 289512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28952
28953 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28954 disk.
28955 (grub_disk_close): Print debug messages when closing a disk.
28956 (grub_disk_read): Print debug messages when disk read fails.
28957 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28958 filesystem type.
28959 * kern/partition.c: Include misc.h.
28960 (grub_partition_iterate): Print debug messages when detecting
28961 partition type.
28962
e2b8278c 289632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28964
28965 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28966 is negative.
28967 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28968
97b2f2ff 289692006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28970
28971 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28972 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28973
6555d655 289742006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28975
28976 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28977 instead of sizeof(lv). Patch by Michael Guntsche.
28978
4d42b77f 289792006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28980
28981 * disk/lvm.c: Rename VGS to VG_LIST.
28982 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28983 (grub_lvm_open): Likewise.
28984 Thanks to Michael Guntsche for finding this bug.
28985
5d74d927 289862006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28987
28988 * configure.ac (AC_INIT): Bumped to 1.95.
28989
a1bb27e4 289902006-10-14 Robert Millan <rmh@aybabtu.com>
28991
28992 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28993 with "/dev/.static/dev/md".
28994
e0994b8b 289952006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28996
28997 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28998 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28999 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
29000 DRIVE_NAME are always freed.
29001
29002 * util/i386/pc/biosdisk.c (make_device_name): Add one into
29003 DOS_PART, as a DOS partition is counted from one instead of zero
29004 now. Reported by Robert Millan.
29005
ddd5cee9 290062006-10-14 Robert Millan <rmh@aybabtu.com>
29007
29008 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
29009 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
29010 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
29011 string returned by grub_guess_root_device.
29012 * util/i386/pc/grub-setup.c: Likewise.
29013 * util/i386/pc/grub-probefs.c: Likewise.
29014
29015 * util/i386/pc/grub-probefs.c: Rename to ...
29016 * util/i386/pc/grub-probe.c: ... this.
29017 * DISTLIST: Remove grub-probefs, add grub-probe.
29018 * conf/i386-efi.rmk: Likewise.
29019 * conf/i386-pc.rmk: Likewise.
29020 * util/i386/pc/grub-install.in: Likewise.
29021
29022 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
29023 choose which information we want to print.
29024
2b002173 290252006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
29026
29027 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
29028 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
29029 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
29030 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
29031 video/readers/tga.c and video/i386/pc/vbeutil.c.
29032
290332006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
29034
29035 Added support for RAID and LVM.
f19dbdb7 29036
2b002173 29037 * disk/lvm.c: New file.
29038 * disk/raid.c: Likewise.
29039 * include/grub/lvm.h: Likewise.
f19dbdb7 29040 * include/grub/raid.h: Likewise.
2b002173 29041 * include/grub/util/lvm.h: Likewise.
29042 * include/grub/util/raid.h: Likewise.
29043 * util/lvm.c: Likewise.
29044 * util/raid.c: Likewise.
29045
29046 * include/grub/disk.h (grub_disk_dev_id): Add
29047 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
29048 (grub_disk_get_size): New prototype.
29049 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
29050 returns a partition.
29051 (grub_disk_get_size): New function.
f19dbdb7 29052
2b002173 29053 * kern/i386/pc/init.c (make_install_device): Copy the prefix
29054 verbatim if grub_install_dos_part is -2.
29055
29056 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
29057 and LVM devices.
29058
29059 * util/i386/pc/grub-setup.c (setup): New argument
29060 MUST_EMBED. Force embedding of GRUB when the argument is
29061 true. Close FILE before returning.
29062 (main): Add support for RAID and LVM.
f19dbdb7 29063
2b002173 29064 * conf/common.rmk: Add RAID and LVM modules.
29065 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
29066 util/lvm.c.
29067 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
29068
29069 * kern/misc.c (grub_strstr): New function.
29070 * include/grub/misc.h (grub_strstr): New prototype.
29071
050548d0 290722006-10-10 Tristan Gingold <tristan.gingold@bull.net>
29073
29074 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
29075
da849d2d 290762006-10-05 Tristan Gingold <tristan.gingold@bull.net>
29077
29078 * kern/misc.c (grub_strtoull): Guess the base only if not
29079 specified.
29080
97b2f2ff 290812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 29082
29083 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
29084 PowerMac support.
29085
97b2f2ff 290862006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 29087
29088 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
29089
29090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
29091 Remove `flags' argument. All callers changed.
29092 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
29093 (IEEE1275_IHANDLE_INVALID): New variable.
29094 (IEEE1275_CELL_INVALID): New variable.
29095 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29096 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
29097 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
29098 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
29099 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
29100 codes from Open Firmware. All callers updated.
29101 (grub_ieee1275_next_property): Directly return Open Firmware return
29102 code.
29103 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
29104 Standardize error checking from `grub_ieee1275_get_property'.
29105 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
29106 `devalias' to `aliases'. Correct comments. Consolidate error paths.
29107
97b2f2ff 291082006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 29109
29110 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
29111 `instance_to_package_args' to `instance_to_path_args'.
29112
29113 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
29114 `grub_ieee1275_chosen'.
29115
29116 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
29117 `grub_ieee1275_interpret'.
29118
97b2f2ff 291192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 29120
29121 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
29122
97b2f2ff 291232006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 29124
29125 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
29126 (__cmpdi): Likewise.
29127
29128 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
29129 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
29130 `grub_ssize_t'.
29131
02bb8acc 29132 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 29133
29134 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
29135 to type `grub_ssize_t'.
29136 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
29137
7f9a8531 291382006-09-22 Marco Gerards <marco@gnu.org>
29139
29140 * normal/script.c (grub_script_create_cmdmenu): Skip leading
29141 newlines.
29142
b5ef1102 291432006-09-22 Marco Gerards <marco@gnu.org>
29144
29145 * commands/echo.c: New file.
29146
29147 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
29148
29149 * conf/common.rmk (echo_mod_SOURCES): New variable.
29150 (echo_mod_CFLAGS): Likewise.
29151 (echo_mod_LDFLAGS): Likewise.
29152
2cff3677 291532006-09-22 Marco Gerards <marco@gnu.org>
29154
29155 * normal/main.c (get_line): Malloc memory instead of using
29156 preallocated memory. Removed the arguments `cmdline' and
29157 `max_len'. Updated all callers.
29158
6ba4688b 291592006-09-22 Marco Gerards <marco@gnu.org>
29160
29161 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
29162 (normal_mod_DEPENDENCIES): Likewise.
29163
29164 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
29165 (normal_mod_DEPENDENCIES): Likewise.
29166
29167 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
29168
e02ac02c 291692006-09-22 Johan Rydberg <jrydberg@gnu.org>
29170
29171 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
29172 programs.
29173 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
29174 (normal_mod_DEPENDENCIES): Likewise.
29175 * conf/i386-pc.mk: Regenerate.
29176 * conf/i386-efi.mk: Likewise
29177 * conf/common.mk: Likewise.
29178 * conf/powerpc-ieee1275.mk: Likewise.
29179 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 29180
8d252e44 291812006-09-22 Robert Millan <rmh@aybabtu.com>
29182
29183 Sync with i386 version.
29184 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
29185 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
29186
209bf7ac 291872006-09-21 Robert Millan <rmh@aybabtu.com>
29188
29189 Import from GRUB Legacy (lib/device.c):
29190 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
29191 (init_device_map) [__linux__]: Add support for I2O devices.
29192
6b146090 291932006-09-14 Marco Gerards <marco@gnu.org>
29194
29195 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
29196 `-melf_i386'.
29197
e38600a8 291982006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 29199
29200 * util/i386/pc/grub-install.in: Skip menu.lst when removing
29201 /boot/grub/*.lst.
78fa1790 29202
2952da5d 29203 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 29204
2952da5d 29205 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
29206 before adding it to device.map.
29207
01b82a64 292082006-08-15 Johan Rydberg <jrydberg@gnu.org>
29209
fe6b695a 29210 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 29211 compiles a file; using the -MD option.
29212 * conf/common.mk: Regenerate.
29213 * conf/i386-pc.mk: Likewise.
29214 * conf/i386-efi.mk: Likewise.
29215 * conf/powerpc-ieee1275.mk: Likewise.
29216 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 29217
1064790d 292182006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
29219
29220 Move the prototypes of grub_setjmp and grub_longjmp to
29221 cpu/setjmp.h, so that each architecture may specify different
29222 attributes.
f19dbdb7 29223
1064790d 29224 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
29225 (grub_longjmp): Likewise.
29226 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
29227 (grub_longjmp): Likewise.
29228 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
29229 (grub_longjmp): Likewise.
29230
29231 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
29232 [!GRUB_UTIL] (grub_longjmp): Removed.
29233
29dda3ed 292342006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
29235
29236 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
29237 "color!" method does not return any value.
29238
ad2a06ed 292392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29240
29241 * include/grub/bitmap.h: New file.
29242
29243 * include/grub/i386/pc/vbeutil.h: Likewise.
29244
29245 * video/bitmap.c: Likewise.
29246
29247 * video/readers/tga.c: Likewise.
29248
29249 * video/i386/pc/vbeutil.c: Likewise.
29250
29251 * commands/videotest.c: Code cleanup and updated to reflect to new
29252 video API.
29253
29254 * term/gfxterm.c: Likewise.
29255
29256 * video/video.c: Likewise.
29257
29258 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
29259 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
29260 (bitmap_mod_SOURCES): New entry.
29261 (bitmap_mod_CFLAGS): Likewise.
29262 (bitmap_mod_LDFLAGS): Likewise.
29263 (tga_mod_SOURCES): Likewise.
29264 (tga_mod_CFLAGS): Likewise.
29265 (tga_mod_LDFLAGS): Likewise.
29266
29267 * include/grub/video.h (grub_video_blit_operators): New enum type.
29268 (grub_video_render_target): Changed as forward declaration and moved
29269 actual definition to be video driver specific.
29270 (grub_video_adapter.blit_bitmap): Added blitting operator.
29271 (grub_video_adapter.blit_render_target): Likewise.
29272 (grub_video_blit_bitmap): Likewise.
29273 (grub_video_blit_render_target): Likewise.
29274
29275 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
29276 driver specific render target definition.
29277 (grub_video_vbe_map_rgba): Added driver internal helper.
29278 (grub_video_vbe_unmap_color): Updated to use
29279 grub_video_i386_vbeblit_info.
29280 (grub_video_vbe_get_video_ptr): Likewise.
29281
29282 * include/grub/i386/pc/vbeblit.h
29283 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
29284 grub_video_i386_vbeblit_info.
29285 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29286 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29287 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29288 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29289 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29290 (grub_video_i386_vbeblit_index_index): Likewise.
29291 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
29292 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29293 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29294 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
29295 operator.
29296 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
29297 operator.
29298
29299 * video/i386/pc/vbeblit.c: Updated to reflect changes on
29300 include/grub/i386/pc/vbeblit.h.
29301
29302 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
29303 Updated to use grub_video_i386_vbeblit_info.
29304 (grub_video_i386_vbefill_R8G8B8): Likewise.
29305 (grub_video_i386_vbefill_index): Likewise.
29306 (grub_video_i386_vbefill): Added generic filler.
29307
29308 * video/i386/pc/vbefill.c: Updated to reflect changes on
29309 include/grub/i386/pc/vbefill.h.
29310
29311 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
29312 grub_video_i386_vbeblit_info.
29313 (grub_video_vbe_unmap_color): Likewise.
29314 (grub_video_vbe_blit_glyph): Likewise.
29315 (grub_video_vbe_scroll): Likewise.
29316 (grub_video_vbe_draw_pixel): Removed function.
29317 (grub_video_vbe_get_pixel): Likewise.
29318 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
29319 updated code to use it.
29320 (common_blitter): Added common blitter for render target and bitmap.
29321 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
29322 (grub_video_vbe_blit_render_target): Likewise.
29323
bc8c036d 293242006-07-30 Johan Rydberg <jrydberg@gnu.org>
29325
29326 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
29327 is in text mode if there is no console control protocol instance
29328 available.
29329
684a8eff 293302006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29331
29332 * include/grub/video.h: Code cleanup.
29333
29334 * include/grub/i386/pc/vbe.h: Likewise.
29335
29336 * video/i386/pc/vbe.c: Likewise.
29337
29338 * video/i386/pc/vbeblit.c: Likewise.
29339
29340 * video/i386/pc/vbefill.c: Likewise.
29341
29342 * video/video.c: Likewise. Also added more comments.
29343
5915059b 293442006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29345
29346 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29347 (struct grub_biosdisk_dap): Likewise.
29348
29349 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29350 linkage settings for all functions.
29351
90ce5d56 293522006-07-12 Marco Gerards <marco@gnu.org>
29353
29354 * configure.ac (--enable-mm-debug): Fix typo.
29355
29356 * genkernsyms.sh.in: Use proper quoting for `CC'.
29357
43e7f879 293582006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29359
29360 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29361 (normal_mod_ASFLAGS): Remove "-m32".
29362
4889bdec 293632006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29364
29365 * util/misc.c: Include config.h.
29366 [!HAVE_MEMALIGN]: Do not include malloc.h.
29367 (grub_memalign): Use posix_memalign, if present. Then, use
29368 memalign, if present. Otherwise, emit an error.
29369
29370 * util/grub-emu.c: Do not include malloc.h.
29371
29372 * include/grub/util/misc.h: Include unistd.h. This is required for
29373 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29374 D. Eades III <hde@foobar-qux.org>.
29375
29376 * configure.ac (AC_GNU_SOURCE): Added.
29377 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29378 type.
29379
fd39d4da 293802006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29381
29382 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29383 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29384
b786f3b5 293852006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29386
29387 * include/grub/types.h (grub_host_addr_t): Rename to
29388 grub_target_addr_t.
29389 (grub_host_off_t): Rename to grub_target_off_t.
29390 (grub_host_size_t): Rename to grub_target_size_t.
29391 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29392 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29393
29394 * include/grub/kernel.h (struct grub_module_header): Change type
29395 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29396 (grub_module_info): Likewise.
f19dbdb7 29397
051988bb 293982006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29399
29400 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29401 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29402 Velazquez <jesus.velazquez@gmail.com>.
29403
deae281b 294042006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29405
29406 Count partitions from 1 instead of 0 in the string representation
29407 of partitions. Still use 0-based internally.
f19dbdb7 29408
deae281b 29409 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29410 (sun_partition_map_iterate): Use grub_partition_t instead of
29411 struct grub_partition *. Cast DESC->START_CYLINDER to
29412 grub_uint64_t after converting the endian.
29413 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29414 (sun_partition_map_get_name): Add 1 to P->INDEX.
29415
29416 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29417 PCDATA->DOS_PART.
29418 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29419
29420 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29421 zero instead of one.
29422 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29423 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29424
29425 * partmap/apple.c (apple_partition_map_iterate): Change the type
29426 of POS to unsigned.
29427 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29428 (apple_partition_map_get_name): Add 1 into P->INDEX.
29429
29430 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29431 of POS to unsigned.
29432 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29433 calculate the offset of a partition.
29434 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29435 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29436
29437 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29438 SECTOR to grub_disk_addr_t.
29439 (acorn_partition_map_iterate): Likewise.
29440 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29441 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29442 top.
29443 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29444
29445 * kern/i386/pc/init.c (make_install_device): Add 1 into
29446 GRUB_INSTALL_DOS_PART.
29447
29448 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29449 conditional.
29450
524a1e6a 294512006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29452
29453 Clean up the code to support 64-bit addressing in disks and
29454 files. This change is not enough for filesystems yet.
f19dbdb7 29455
524a1e6a 29456 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29457 type of "start" to grub_uint64_t.
29458 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29459 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29460 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29461 convert addresses.
29462
29463 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29464 to grub_disk_addr_t.
29465
29466 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29467 string.
29468
29469 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29470
29471 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29472 to char *.
29473
29474 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29475
29476 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29477
29478 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29479
29480 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29481 to grub_off_t, to detect an error from grub_file_seek.
29482 (grub_multiboot_load_elf32): Likewise.
29483
29484 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29485 maximum unsigned long value when an overflow is detected.
29486 (grub_strtoull): New function.
29487 (grub_divmod64): Likewise.
29488 (grub_lltoa): use grub_divmod64.
29489
29490 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29491 grub_disk_addr_t.
29492 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29493 the pointer to next character. Use grub_strtoull instead of
29494 grub_strtoul.
29495 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29496 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29497 respectively.
29498
fe6b695a 29499 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 29500 return value is signed.
29501 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29502 test if OFFSET is less than zero, as OFFSET is unsigned now.
29503
29504 * kern/disk.c (struct grub_disk_cache): Change the type of
29505 "sector" to grub_disk_addr_t.
29506 (grub_disk_cache_get_index): Change the type of SECTOR to
29507 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29508 unsigned after shifting.
29509 (grub_disk_cache_invalidate): Change the type of SECTOR to
29510 grub_disk_addr_t.
29511 (grub_disk_cache_unlock): Likewise.
29512 (grub_disk_cache_store): Likewise.
29513 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29514 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29515 grub_disk_addr_t and grub_uint64_t, respectively.
29516 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29517 body, as the value of OFFSET is tweaked by
29518 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29519 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29520 respectively.
29521 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29522 body, as the value of OFFSET is tweaked by
29523 grub_disk_check_range. Change the types of LEN and N to
29524 grub_size_t.
29525
29526 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29527 and "saved_offset" to grub_off_t.
29528 (test_header): Cast BUF to char *.
29529 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29530 to char *.
29531 (grub_gzio_read): Change the types of OFFSET and SIZE to
29532 grub_off_t and grub_size_t, respectively.
29533
29534 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29535 Removed.
29536 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29537 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29538 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29539 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29540 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29541
29542 * include/grub/types.h (grub_off_t): Unconditionally set to
29543 grub_uint64_t.
29544 (grub_disk_addr_t): Changed to grub_uint64_t.
29545
29546 * include/grub/partition.h (struct grub_partition): Change the
29547 types of "start", "len" and "offset" to grub_disk_addr_t,
29548 grub_uint64_t and grub_disk_addr_t, respectively.
29549 (grub_partition_get_start): Return grub_disk_addr_t.
29550 (grub_partition_get_len): Return grub_uint64_t.
29551
29552 * include/grub/misc.h (grub_strtoull): New prototype.
29553 (grub_divmod64): Likewise.
29554
29555 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29556 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29557 grub_off_t, respectively.
29558 All callers and references changed.
29559
29560 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29561 grub_size_t in "read".
29562 All callers and references changed.
29563
29564 * include/grub/file.h (struct grub_file): Change the types of
29565 "offset" and "size" to grub_off_t and grub_off_t,
29566 respectively. Change the type of SECTOR to grub_disk_addr_t in
29567 "read_hook".
29568 (grub_file_read): Change the type of LEN to grub_size_t.
29569 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29570 grub_off_t.
29571 (grub_file_size): Return grub_off_t.
29572 (grub_file_tell): Likewise.
29573 All callers and references changed.
29574
29575 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29576 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29577 "write".
29578 (struct grub_disk): Change the type of "total_sectors" to
29579 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 29580 "read_hook".
524a1e6a 29581 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29582 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29583 (grub_disk_write): Likewise.
29584 All callers and references changed.
29585
29586 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29587 char * for grub_strncmp to silence gcc.
29588 (grub_iso9660_mount): Likewise.
29589 (grub_iso9660_mount): Likewise.
29590 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29591 return statement.
29592 (grub_iso9660_iterate_dir): Likewise.
29593 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29594
29595 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29596 LEN to grub_disk_addr_t and grub_size_t, respectively.
29597
29598 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29599
29600 * fs/jfs.c (grub_jfs_read_file): Likewise.
29601
29602 * fs/minix.c (grub_jfs_read_file): Likewise.
29603
29604 * fs/sfs.c (grub_jfs_read_file): Likewise.
29605
29606 * fs/ufs.c (grub_jfs_read_file): Likewise.
29607
29608 * fs/xfs.c (grub_jfs_read_file): Likewise.
29609
29610 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29611 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29612 respectively.
29613
29614 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29615 BLKNR to -1 instead of returning GRUB_ERRNO.
29616 (grub_ext2_read_file): Change the types of SECTOR and
29617 LEN to grub_disk_addr_t and grub_size_t, respectively.
29618
29619 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29620 LEN to grub_disk_addr_t and grub_size_t, respectively.
29621
29622 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29623 grub_file_read.
29624
29625 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29626 string. Do not cast SECTOR explicitly.
29627
29628 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29629 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29630 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29631 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29632 over 2TB and LBA mode is not supported, raise an error.
29633 (get_safe_sectors): New function.
29634 (grub_biosdisk_read): Use get_safe_sectors.
29635 (grub_biosdisk_write): Likewise.
29636
29637 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29638 (grub_efidisk_write): Likewise.
29639
29640 * disk/loopback.c (delete_loopback): Cosmetic changes.
29641 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29642 correctly.
29643 (grub_loopback_open): Likewise.
29644 (grub_loopback_read): Likewise. Also, change the type of POS to
29645 grub_off_t, and fix the usage of grub_memset.
29646
29647 * commands/i386/pc/play.c: Include grub/machine/time.h.
29648
29649 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29650 print FILE->SIZE.
29651
29652 * commands/configfile.c: Include grub/env.h.
29653
29654 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29655 GRUB_ERRNO directly instead. Change the type of POS to
29656 grub_off_t. Follow the coding standard.
29657
29658 * commands/blocklist.c: Include grub/partition.h.
29659 (grub_cmd_blocklist): Return an error if the underlying device is
29660 not a disk. Take the starting sector of a partition into account,
29661 if a partition is used.
29662
29663 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29664 a length field.
29665 (lba_mode): Support 64-bit addresses.
29666 (chs_mode): Likewise.
29667 (copy_buffer): Adapted to the new offsets of a length field and a
29668 segment field.
29669 (blocklist_default_start): Allocate 64-bit space.
29670
29671 * boot/i386/pc/boot.S (force_lba): Removed.
29672 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 29673 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 29674 space.
29675 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29676 is useless.
29677 (lba_mode): Refactored to support a 64-bit address. More size
29678 optimization.
29679 (setup_sectors): Likewise.
29680
53af98ad 296812006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29682
29683 * DISTLIST: Added include/grub/i386/linux.h. Removed
29684 include/grub/i386/pc/linux.h
29685
29686 * configure.ac (AC_INIT): Bumped to 1.94.
29687
29688 * config.guess: Updated from gnulib.
29689 * config.sub: Likewise.
29690 * install-sh: Likewise.
29691 * mkinstalldirs: Likewise.
29692
b4c1940a 296932006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29694
29695 * conf/common.rmk (grub_modules_init.lst): Depended on
29696 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29697 MODSRCFILES.
29698
29699 * genmk.rb (PModule::rule): Reverted the previous change.
29700
cfca1cfd 297012006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29702
29703 * conf/common.rmk (grub_modules_init.lst): Depends on
29704 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29705 that the target does not exist before producing.
29706 (grub_modules_init.h): Remove the target before generating.
29707 (grub_emu_init.c): Likewise.
29708
29709 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29710
aa6d7826 297112006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29712
29713 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29714 for the target-specific tests. Make sure that we also have the
29715 up-to-date target variables for those tests.
29716
26c607b9 297172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29718
29719 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29720 (PModule::rule): Likewise.
29721
0162321a 297222006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29723
29724 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29725 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29726 target-specific flags should be prefixed.
29727 (PModule::rule): Likewise.
29728
6c826348 297292006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29730
29731 * configure.ac (CMP): Check if cmp is available explicitly.
29732
b977bf01 297332006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29734
29735 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29736 (target_cpu): New variable.
29737 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 29738
b977bf01 29739 * util/i386/pc/grub-install.in (host_cpu): Removed.
29740 (target_cpu): New variable.
29741 (pkglibdir): Use target_cpu instead of host_cpu.
29742
29743 * util/genmoddep.c: Removed.
f19dbdb7 29744
b977bf01 29745 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29746 instead of GRUB_HOST_SIZEOF_VOID_P.
29747 * kern/dl.c: Likewise.
29748
29749 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29750 ...
29751 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29752 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29753 (GRUB_TARGET_SIZEOF_LONG): ... this.
29754 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29755 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29756 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29757 to ...
29758 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29759 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29760 (GRUB_TARGET_SIZEOF_LONG): ... this.
29761 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29762 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29763 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29764 to ...
29765 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29766 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29767 (GRUB_TARGET_SIZEOF_LONG): ... this.
29768 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29769 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29770
29771 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29772 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29773 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29774 instead of GRUB_HOST_SIZEOF_LONG.
29775 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29776 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29777 GRUB_CPU_WORDS_BIGENDIAN.
29778 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29779 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29780 grub_host_ssize_t.
29781
29782 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29783 (genmoddep_SOURCES): Likewise.
29784 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29785 (genmoddep_SOURCES): Likewise.
29786 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29787 (genmoddep_SOURCES): Likewise.
29788 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29789 Likewise.
29790 (genmoddep_SOURCES): Likewise.
29791
29792 * genmoddep.awk: New file.
29793
29794 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29795 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29796 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29797 (PModule::rule): Likewise.
29798 (Program::rule): Likewise.
29799 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29800 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29801 respectively.
29802
29803 * configure.ac: Rewritten intensively to use host and target
29804 instead of build and host, respectively.
29805
29806 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29807 (host_cpu): Removed.
29808 (target_cpu): New variable.
29809 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29810 (BUILD_CC): Removed.
29811 (BUILD_CFLAGS): Likewise.
29812 (BUILD_CPPFLAGS): Likewise.
29813 (TARGET_CC): New variable.
29814 (TARGET_CFLAGS): Likewise.
29815 (TARGET_CPPFLAGS): Likewise.
29816 (TARGET_LDFLAGS): Likewise.
29817 (AWK): Likewise.
29818 (include): Use target_cpu instead of host_cpu.
29819 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 29820
b977bf01 29821 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29822
f09771a1 298232006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29824
29825 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29826 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29827 field 'false' to 'exec_on_false'.
29828 (grub_script_create_cmdif): Renamed argument names to reflect above
29829 changes.
29830
29831 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29832
29833 * normal/script.c (grub_script_create_cmdif): Likewise.
29834
118f4fb3 298352006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29836
29837 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29838 top.
29839 (grub_hfsplus_btree_recptr): Likewise.
29840 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29841 FILEBLOCK both to pass a block number and store next block
29842 number.
29843 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29844 overflow file correctly. Specify errors appropriately, because
29845 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29846 grub_hfsplus_btree_recptr to get the pointer to a found key.
29847 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29848 is found.
29849
29850 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29851 linux.mod.
29852 (_linux_mod_SOURCES): New variable.
29853 (_linux_mod_CFLAGS): Likewise.
29854 (_linux_mod_LDFLAGS): Likewise.
29855 (linux_mod_SOURCES): Likewise.
29856 (linux_mod_CFLAGS): Likewise.
29857 (linux_mod_LDFLAGS): Likewise.
29858
29859 * DISTLIST: Added loader/i386/efi/linux.c,
29860 loader/i386/efi/linux_normal.c and
29861 include/grub/i386/efi/loader.h.
29862
29863 * loader/i386/efi/linux.c: New file.
29864 * loader/i386/efi/linux_normal.c: Likewise.
29865 * include/grub/i386/efi/loader.h: Likewise.
29866
89a7d726 298672006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29868
29869 * commands/blocklist.c: New file.
29870
29871 * DISTLIST: Added commands/blocklist.c.
29872
29873 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 29874 color for the background, and a darker color for the foreground.
89a7d726 29875 (grub_console_checkkey): Return READ_KEY.
29876 (grub_console_cls): Set the background to
29877 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29878
29879 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29880
29881 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29882 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29883
29884 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29885 prototype.
29886
29887 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29888 BG. The spec is wrong again.
29889
29890 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29891 prototype.
29892 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29893
29894 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29895 commands/blocklist.c.
29896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 29897
89a7d726 29898 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29899 (blocklist_mod_SOURCES): New variable.
29900 (blocklist_mod_CFLAGS): Likewise.
29901 (blocklist_mod_LDFLAGS): Likewise.
29902
75c8f258 299032006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29904
29905 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29906 duplication.
29907 (lba_mode): Use %eax more intensively to reduce the code size.
29908
da2eb181 299092006-05-20 Marco Gerards <marco@gnu.org>
29910
29911 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29912
29913 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29914 for `menuentry'.
29915 (script): Accept leading newlines.
29916 (newlines): New rule to describe 0 or more newlines.
29917 (commands): Accept `command' with trailing newline. Fixed the
29918 order in which arguments were passed to `grub_script_add_cmd'.
29919 Accept commands separated by newlines.
29920 (function): Changed to accept newlines.
29921 (menuentry) Rewritten.
29922
29923 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29924 front of the list, instead of to the end.
29925
577b4050 299262006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29927
29928 * util/i386/pc/grub-install.in (bindir): New variable.
29929 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29930 Shaver <lbgwjl@gmail.com>.
29931
0d6e1189 299322006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29933
29934 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29935 grub/machine/linux.h
29936 * loader/i386/pc/linux.c: Likewise.
29937
29938 * include/grub/i386/pc/linux.h: Moved to ...
29939 * include/grub/i386/linux.h: ... here.
29940
29941 * include/grub/i386/linux.h (struct linux_kernel_params): New
29942 struct.
f19dbdb7 29943
31b86e9f 299442006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29945
29946 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29947 checking.
29948 (grub_video_vbe_blit_glyph): Likewise.
29949 (grub_video_vbe_blit_bitmap): Likewise.
29950 (grub_video_vbe_blit_render_target): Likewise.
29951
83b984de 299522006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29953
29954 * configure.ac (--with-platform): Properly quote the square
29955 brackets.
29956
5f0413bd 299572006-05-08 Marco Gerards <marco@gnu.org>
29958
29959 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29960 this...
29961 (kernel_elf_HEADERS): ...to this. Updated all users.
29962 (grubof_symlist.c): Renamed from this...
29963 (kernel_elf_symlist.c): ...to this. Updated all users.
29964 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29965 (grubof_SOURCES): Renamed from this...
29966 (kernel_elf_SOURCES): ...to this.
29967 (grubof_HEADERS): Renamed from this...
29968 (kernel_elf_HEADERS): ...to this.
29969 (grubof_CFLAGS): Renamed from this...
29970 (kernel_elf_CFLAGS): ...to this.
29971 (grubof_ASFLAGS): Renamed from this...
29972 (kernel_elf_ASFLAGS): ...to this.
29973 (grubof_LDFLAGS): Renamed from this...
29974 (kernel_elf_LDFLAGS): ...to this.
29975
29976 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29977 this...
29978 (kernel_elf_HEADERS): ...to this. Updated all users.
29979 (grubof_symlist.c): Renamed from this...
29980 (kernel_elf_symlist.c): ...to this. Updated all users.
29981 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29982 (grubof_SOURCES): Renamed from this...
29983 (kernel_elf_SOURCES): ...to this.
29984 (grubof_HEADERS): Renamed from this...
29985 (kernel_elf_HEADERS): ...to this.
29986 (grubof_CFLAGS): Renamed from this...
29987 (kernel_elf_CFLAGS): ...to this.
29988 (grubof_ASFLAGS): Renamed from this...
29989 (kernel_elf_ASFLAGS): ...to this.
29990 (grubof_LDFLAGS): Renamed from this...
29991 (kernel_elf_LDFLAGS): ...to this.
29992
29993 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29994 `kernel.elf' instead of `grubof'.
29995
05568c2e 299962006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29997
29998 Add --with-platform to configure. Use pkglibdir instead of
29999 pkgdatadir. This is reported by Roger Leigh.
30000
30001 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
30002 (host_vendor): Likewise.
30003 (host_os): Likewise.
30004 (pkgdatadir): Likewise.
30005 (platform): New variable.
30006 (pkglibdir): Likewise.
30007 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 30008
05568c2e 30009 * util/i386/pc/grub-install.in (datadir): Removed.
30010 (host_vendor): Likewise.
30011 (host_os): Likewise.
30012 (pkgdatadir): Likewise.
30013 (platform): New variable.
30014 (pkglibdir): Likewise.
30015 Use PKGLIBDIR instead of PKGDATADIR.
30016
30017 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
30018 instead of GRUB_DATADIR.
30019 (main): Likewise.
30020 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30021 (main): Likewise.
30022 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30023 (main): Likewise.
30024
30025 * configure.ac (--with-platform): New option.
30026 Use PLATFORM instead of HOST_VENDOR to specify a platform.
30027
30028 * Makefile.in: Include a makefile based on PLATFORM instead of
30029 HOST_VENDOR.
30030 (pkgdatadir): Not appended by the machine type.
30031 (pkglibdir): Appended by the machine type.
30032 (host_vendor): Removed.
30033 (platform): New variable.
30034 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
30035 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
30036 (uninstall): Likewise.
30037
4e93851c 300382006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
30039
30040 Use the environment context in the menu. Remove the commands
30041 "default" and "timeout", and use variables instead.
f19dbdb7 30042
4e93851c 30043 * normal/menu.c: Include grub/env.h.
30044 (print_entry): Cast TITLE to silence gcc.
30045 (get_timeout): New function.
30046 (set_timeout): Likewise.
30047 (get_entry_number): Likewise.
30048 (run_menu): Use a default entry, a fallback entry and a timeout
30049 in the environment variables "default", "fallback" and
30050 "timeout". Also, tweak the default entry if it is not within the
30051 current menu entries.
30052 (grub_menu_run): Use a fallback entry in the environment variable
30053 "fallback".
30054
30055 * normal/main.c (read_config_file): Do not initialize
30056 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
30057 NEWMENU->TIMEOUT.
30058 (grub_normal_execute): Use a data slot to store the menu.
30059
30060 * include/grub/normal.h (struct grub_menu): Removed default_entry,
30061 fallback_entry and timeout.
30062 (struct grub_menu_list): Removed.
30063 (grub_menu_list_t): Likewise.
30064 (struct grub_context): Likewise.
30065 (grub_context_t): Likewise.
30066 (grub_context_get): Likewise.
30067 (grub_context_get_current_menu): Likewise.
30068 (grub_context_push_menu): Likewise.
30069 (grub_context_pop_menu): Likewise.
30070 (grub_default_init): Likewise.
30071 (grub_default_fini): Likewise.
30072 (grub_timeout_init): Likewise.
30073 (grub_timeout_fini): Likewise.
30074
30075 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
30076 and timeout.mod.
30077 (normal_mod_SOURCES): Removed normal/context.c.
30078
30079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
30080 commands/default.c, commands/timeout.c and normal/context.c.
30081 (normal_mod_SOURCES): Removed normal/context.c.
30082
30083 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
30084 commands/timeout.c and normal/context.c.
30085 (normal_mod_SOURCES): Removed normal/context.c.
30086
30087 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
30088 commands/default.c, commands/timeout.c and normal/context.c.
30089 (normal_mod_SOURCES): Removed normal/context.c.
30090
30091 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
30092 timeout.mod.
30093 (default_mod_SOURCES): Removed.
30094 (default_mod_CFLAGS): Likewise.
30095 (default_mod_LDFLAGS): Likewise.
30096 (timeout_mod_SOURCES): Removed.
30097 (timeout_mod_CFLAGS): Likewise.
30098 (timeout_mod_LDFLAGS): Likewise.
30099
30100 * DISTLIST: Removed commands/default.c, commands/timeout.c and
30101 normal/context.c.
30102
30103 * commands/default.c: Removed.
30104 * commands/timeout.c: Likewise.
30105 * normal/context.c: Likewise.
30106
1eb9cc1d 301072006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
30108
30109 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
30110
385bd9c1 301112006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
30112
30113 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
30114 "next" to "prev" for readability.
30115 (struct grub_env_sorted_var): New struct.
30116 (grub_env_context): Renamed to ...
30117 (initial_context): ... this.
30118 (grub_env_var_context): Renamed to ...
30119 (current_context): ... this.
30120 (grub_env_find): Look only at CURRENT_CONTEXT.
30121 (grub_env_context_open): Rewritten to copy exported variables from
30122 previous context.
30123 (grub_env_context_close): Rewritten according to the new
30124 scheme. Also, add an assertion to prevent the initial context from
30125 removed.
30126 (grub_env_insert): Removed the code for the sorted list.
30127 (grub_env_remove): Likewise.
30128 (grub_env_export): Simply mark the variable with
30129 GRUB_ENV_VAR_GLOBAL.
30130 (grub_env_set): A cosmetic change for naming consistency.
30131 (grub_env_get): Likewise.
30132 (grub_env_unset): Likewise.
30133 (grub_env_iterate): Rewritten to sort variables within this
30134 function.
30135 (grub_register_variable_hook): Fixed for naming consistency. Call
30136 grub_env_find again, only if NAME is not found at the first time.
30137 (mangle_data_slot_name): New function.
30138 (grub_env_set_data_slot): Likewise.
30139 (grub_env_get_data_slot): Likewise.
30140 (grub_env_unset_data_slot): Likewise.
30141
30142 * include/grub/env.h (grub_env_var_type): New enum.
30143 (GRUB_ENV_VAR_LOCAL): New constant.
30144 (GRUB_ENV_VAR_GLOBAL): Likewise.
30145 (GRUB_ENV_VAR_DATA): Likewise.
30146 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
30147 "type".
30148 (grub_env_set): Replace VAR with NAME for consistency.
30149 (grub_register_variable_hook): Likewise.
30150 (grub_env_export): Specify the name of the argument.
30151 (grub_env_set_data_slot): New prototype.
30152 (grub_env_get_data_slot): Likewise.
30153 (grub_env_unset_data_slot): Likewise.
30154
7f362539 301552006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
30156
30157 Extend the loader so that GRUB can accept a loader which comes
30158 back to GRUB when a loaded image exits. Also, this change adds
30159 support for a chainloader on EFI.
f19dbdb7 30160
7f362539 30161 * term/efi/console.c: Include grub/misc.h.
30162 (grub_console_checkkey): Display a scan code on the top for
30163 debugging. This will be removed once the EFI port gets stable.
30164 Correct the scan code mapping.
30165
30166 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
30167 allocate memory from larger regions, in order to reduce the number
30168 of allocated regions. Otherwise, the MacOSX loader panics.
30169 (filter_memory_map): Avoid less than 1MB for compatibility with
30170 other loaders.
30171 (add_memory_regions): Allocate from the tail of a region, if
30172 possible, to avoid allocating a region near to 1MB, for the MacOSX
30173 loader.
30174
30175 * kern/efi/init.c (grub_efi_set_prefix): Specify
30176 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
30177
30178 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
30179 argument IMAGE_HANDLE and specify it to get a loaded image.
30180 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
30181 grub_efi_get_loaded_image.
fe6b695a 30182 (grub_efi_get_filename): Divide the length by the size of
7f362539 30183 grub_efi_char16_t.
30184 (grub_efi_get_device_path): New function.
30185 (grub_efi_print_device_path): Print End Device Path nodes. Divide
30186 the length by the size of grub_efi_char16_t for a file path device
30187 path node.
30188
30189 * kern/loader.c (grub_loader_noreturn): New variable.
30190 (grub_loader_set): Accept a new argument NORETURN. Set
30191 GRUB_LOADER_NORETURN to NORETURN.
30192 All callers changed.
30193 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
30194 grub_machine_fini.
30195
30196 * include/grub/efi/efi.h (grub_efi_get_device_path): New
30197 prototype.
30198 (grub_efi_get_loaded_image): Take an argument to specify an image
30199 handle.
30200
30201 * include/grub/loader.h (grub_loader_set): Added one more argument
30202 NORETURN.
30203
30204 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
30205 instead of grub_efi_open_protocol.
30206 (grub_efidisk_get_device_name): Likewise.
30207 (grub_efidisk_close): Print a newline.
30208 (grub_efidisk_get_device_handle): Fixed to use
30209 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
30210 GRUB_EFI_DEVICE_PATH_TYPE.
30211
30212 * disk/efi/efidisk.c (device_path_guid): Moved to ...
30213 * kern/efi/efi.c (device_path_guid): ... here.
30214
30215 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
30216 chain.mod.
30217 (kernel_mod_HEADERS): Added efi/disk.h.
30218 (_chain_mod_SOURCES): New variable.
30219 (_chain_mod_CFLAGS): Likewise.
30220 (_chain_mod_LDFLAGS): Likewise.
30221 (chain_mod_SOURCES): Likewise.
30222 (chain_mod_CFLAGS): Likewise.
30223 (chain_mod_LDFLAGS): Likewise.
30224
30225 * DISTLIST: Added include/grub/efi/chainloader.h,
30226 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
30227
30228 * include/grub/efi/chainloader.h: New file.
30229 * loader/efi/chainloader.c: Likewise.
30230 * loader/efi/chainloader_normal.c: Likewise.
30231
c0111d6e 302322006-04-30 Marco Gerards <marco@gnu.org>
30233
30234 * commands/configfile.c (grub_cmd_source): New function.
30235 (GRUB_MOD_INIT): Register the commands `source' and `.'.
30236 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
30237
df5341da 302382006-04-30 Marco Gerards <marco@gnu.org>
30239
30240 * normal/execute.c (grub_script_execute_cmd): Change the return
30241 type to `grub_err_t'. Correctly return the error.
30242 (grub_script_execute_cmdline): In case a command line is not a
30243 command or a function, try to interpret it as an assignment.
30244
f85934bd 302452006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
30246
30247 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
30248 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
30249 skip a node whose name is obviously invalid as UTF-16,
30250 i.e. contains a NUL character. Stop the iteration when the last
30251 directory entry is found. Instead of using the return value of
30252 grub_hfsplus_btree_iterate_node, store the value in RET and use
30253 it, because the iterator can be stopped by the last directory
30254 entry.
30255
8f8a2cf8 302562006-04-30 Marco Gerards <marco@gnu.org>
30257
30258 * include/grub/env.h (grub_env_export): New prototype. Reported
30259 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
30260
a27e84ce 302612006-04-30 Marco Gerards <marco@gnu.org>
30262
30263 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
30264 size of the extents in a catalog file record.
30265
eaef0553 302662006-04-29 Marco Gerards <marco@gnu.org>
30267
30268 * commands/configfile.c (grub_cmd_configfile): Execute the
30269 configfile within its own context.
30270
30271 * include/grub/env.h (grub_env_context_open): New prototype.
30272 (grub_env_context_close): Likewise.
30273
30274 * kern/env.c (grub_env): Removed.
30275 (grub_env_sorted): Likewise.
30276 (grub_env_context): New variable.
30277 (grub_env_var_context): Likewise.
30278 (grub_env_find): Search both the active context and the global
30279 context.
30280 (grub_env_context_open): New function.
30281 (grub_env_context_close): Likewise.
30282 (grub_env_insert): Likewise.
30283 (grub_env_remove): Likewise.
30284 (grub_env_export): Likewise.
30285 (grub_env_set): Changed to use helper functions to avoid code
30286 duplication.
30287 (grub_env_iterate): Rewritten so both the current context and the
30288 global context are being used.
30289
30290 * normal/command.c (export_command): New function.
30291 (grub_command_init): Register the `export' function.
30292
7b455f4d 302932006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
30294
30295 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
30296 explicitly to suppress gcc's warnings.
30297 * fs/fat.c (grub_fat_find_dir): Likewise.
30298 (grub_fat_label): Likewise.
30299 * fs/xfs.c (grub_xfs_read_inode): Likewise.
30300 (grub_xfs_mount): Likewise.
30301 (grub_xfs_label): Likewise.
30302 * fs/affs.c (grub_affs_mount): Likewise.
30303 (grub_affs_label): Likewise.
30304 (grub_affs_iterate_dir): Likewise.
30305 * fs/sfs.c (grub_sfs_mount): Likewise.
30306 (grub_sfs_iterate_dir): Likewise.
30307 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
30308 * fs/hfs.c (grub_hfs_mount): Likewise.
30309 (grub_hfs_cmp_catkeys): Likewise.
30310 (grub_hfs_find_dir): Likewise.
30311 (grub_hfs_dir): Likewise.
30312 (grub_hfs_label): Likewise.
30313 * fs/jfs.c (grub_jfs_mount): Likewise.
30314 (grub_jfs_opendir): Likewise.
30315 (grub_jfs_getent): Likewise.
30316 (grub_jfs_lookup_symlink): Likewise.
30317 (grub_jfs_label): Likewise.
30318 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
30319 (grub_hfsplus_iterate_dir): Likewise.
30320 (grub_hfsplus_btree_iterate_node): Made static.
30321
30322 * util/grub-emu.c (prefix): New variable.
30323 (grub_machine_set_prefix): New function.
30324 (main): Do not set the environment variable "prefix" here. Only
30325 set PREFIX, which is used later by grub_machine_set_prefix.
30326
30327 * include/grub/video.h: Do not include grub/symbol.h.
30328 (grub_video_register): Not exported. This symbol is not defined in
30329 the kernel.
30330 (grub_video_unregister): Likewise.
30331 (grub_video_iterate): Likewise.
30332 (grub_video_setup): Likewise.
30333 (grub_video_restore): Likewise.
30334 (grub_video_get_info): Likewise.
30335 (grub_video_get_blit_format): Likewise.
30336 (grub_video_set_palette): Likewise.
30337 (grub_video_get_palette): Likewise.
30338 (grub_video_set_viewport): Likewise.
30339 (grub_video_get_viewport): Likewise.
30340 (grub_video_map_color): Likewise.
30341 (grub_video_map_rgb): Likewise.
30342 (grub_video_map_rgba): Likewise.
30343 (grub_video_fill_rect): Likewise.
30344 (grub_video_blit_glyph): Likewise.
30345 (grub_video_blit_bitmap): Likewise.
30346 (grub_video_blit_render_target): Likewise.
30347 (grub_video_scroll): Likewise.
30348 (grub_video_swap_buffers): Likewise.
30349 (grub_video_create_render_target): Likewise.
30350 (grub_video_delete_render_target): Likewise.
30351 (grub_video_set_active_render_target): Likewise.
30352
30353 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30354 Undefined.
30355 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30356
30357 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30358 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30359 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30360 instead of $(srcdir)/genkernsyms.sh.
30361
30362 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30363 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30364 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30365 instead of $(srcdir)/genkernsyms.sh.
30366
30367 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30368 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30369 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30370 instead of $(srcdir)/genkernsyms.sh.
30371
30372 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30373 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30374 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30375 instead of $(srcdir)/genkernsyms.sh.
30376
30377 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30378 genkernsyms.sh.
30379
30380 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30381 genkernsyms.sh.
30382 (gensymlist.sh): New target.
30383 (genkernsyms.sh): Likewise.
30384
30385 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30386 genkernsyms.sh.in and gensymlist.sh.in.
30387
30388 * genkernsyms.sh: Removed.
30389 * gensymlist.sh: Likewise.
f19dbdb7 30390
7b455f4d 30391 * genkernsyms.sh.in: New file.
30392 * gensymlist.sh.in: Likewise.
30393
1885bb27 303942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30395
30396 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30397 clobber "prefix", since we may have already set it manually.
30398
71538dff 303992006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30400
30401 * kern/misc.c (abort): New alias for grub_abort.
30402
2965c7cc 304032006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30404
30405 A new machine-specific function "grub_machine_set_prefix" is
30406 defined. This is called after loading modules, so that a prefix
30407 initialization can use modules. Also, this change adds an
30408 intensive debugging feature for the memory manager via the
30409 configure option "--enable-mm-debug".
f19dbdb7 30410
2965c7cc 30411 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30412 PART.LEN.
30413
30414 * kern/sparc64/ieee1275/init.c (abort): Removed.
30415 (grub_stop): Likewise.
30416 (grub_exit): New function.
30417 (grub_set_prefix): Renamed to ...
30418 (grub_machine_set_prefix): ... this.
30419 (grub_machine_init): Do not call grub_set_prefix.
30420
30421 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30422 (grub_machine_set_prefix): ... this.
30423 (grub_machine_init): Do not call grub_set_prefix.
30424
30425 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30426 (grub_machine_init): Do not set the prefix here.
30427
30428 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30429
30430 * kern/efi/init.c: Include grub/mm.h.
30431 (grub_efi_set_prefix): New function.
30432
30433 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30434 (grub_efi_get_filename): New function.
30435 (grub_print_device_path): Renamed to ...
30436 (grub_efi_print_device_path): ... this.
30437
30438 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30439 [MM_DEBUG] (grub_realloc): Likewise.
30440 [MM_DEBUG] (grub_free): Likewise.
30441 [MM_DEBUG] (grub_memalign): Likewise.
30442 [MM_DEBUG] (grub_mm_debug): New variable.
30443 [MM_DEBUG] (grub_debug_malloc): New function.
30444 [MM_DEBUG] (grub_debug_free): New function.
30445 [MM_DEBUG] (grub_debug_realloc): New function.
30446 [MM_DEBUG] (grub_debug_memalign): New function.
30447
30448 * kern/misc.c (grub_abort): Print a newline to distinguish
30449 the message.
30450
30451 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30452 grub_set_root_dev after loading modules. This is necessary when
30453 setting a prefix depends on modules.
30454
30455 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30456 (grub_efi_print_device_path): ... this.
30457 (grub_efi_get_filename): New prototype.
30458 (grub_efi_set_prefix): Likewise.
30459
30460 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30461 and grub/disk.h.
30462 (grub_efidisk_get_device_handle): New prototype.
30463 (grub_efidisk_get_device_name): Likewise.
30464
30465 * include/grub/mm.h: Include config.h.
30466 (MM_DEBUG): Removed.
30467 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30468 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30469 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30470 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30471 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30472 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30473 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30474 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30475 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30476
30477 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30478
30479 * disk/efi/efidisk.c: Include grub/partition.h.
30480 (iterate_child_devices): New function.
30481 (add_device): First, compare only last device path nodes, so that
30482 devices are sorted by the types.
30483 (grub_efidisk_get_device_handle): New function.
30484 (grub_efidisk_get_device_name): Likewise.
30485
30486 * configure.ac (--enable-mm-debug): New option to enable the
30487 memory manager debugging feature. This makes the binary much
30488 bigger, so is disabled by default.
30489
9cacaa17 304902006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30491
30492 Use grub_abort instead of grub_stop, and grub_exit must be
30493 define in each architecture now. Also, this change adds support
30494 for EFI disks.
f19dbdb7 30495
9cacaa17 30496 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30497 (grub_getkey): New function.
30498 (grub_term_get_current): Likewise.
30499
30500 * util/i386/pc/grub-setup.c: Include grub/term.h.
30501 (grub_getkey): New function.
30502 (grub_term_get_current): Likewise.
30503
30504 * util/misc.c (grub_stop): Renamed to ...
30505 (grub_exit): ... this.
30506
30507 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30508 (grub_exit): ... this.
30509 (grub_machine_init): Use grub_abort instead of abort.
30510 (grub_stop): Removed.
30511
30512 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30513 abort.
30514
30515 * kern/i386/pc/startup.S (grub_exit): New function.
30516 (cold_reboot): New label.
30517
30518 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30519 (grub_efi_init): Call grub_efidisk_init.
30520 (grub_efi_fini): Call grub_efidisk_fini.
30521
30522 * kern/efi/efi.c: Include grub/mm.h.
30523 (grub_efi_console_control_guid): Renamed to ...
30524 (console_control_guid): ... this.
30525 (grub_efi_loaded_image_guid): Renamed to ...
30526 (loaded_image_guid): ... this.
30527 (grub_efi_locate_handle): New function.
30528 (grub_efi_open_protocol): Likewise.
30529 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30530 GRUB_EFI_CONSOLE_CONTROL_GUID.
30531 (grub_efi_exit): Removed.
30532 (grub_stop): Likewise.
30533 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30534 (grub_exit): New function.
30535 (grub_print_device_path): Likewise.
30536
30537 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30538 (grub_enter_rescue_mode): Register "exit".
30539
30540 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30541 (grub_abort): New function.
30542
30543 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30544
30545 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30546
30547 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30548
30549 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30550 (grub_print_device_path): New prototype.
30551 (grub_efi_locate_handle): Likewise.
30552 (grub_efi_open_protocol): Likewise.
30553
30554 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30555 * disk/efi/efidisk.c: Likewise.
30556
30557 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30558
30559 * include/grub/efi/console_control.h
30560 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30561
30562 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30563 last 8 bytes as an array.
30564 (GRUB_EFI_DISK_IO_GUID): New macro.
30565 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30566 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30567 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30568 grub_uint8_t.
30569 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30570 (struct grub_efi_device_path): Rename the member "sub_type" to
30571 "subtype".
30572 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30573 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30574 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30575 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30576 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30577 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30578 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30579 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30580 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30581 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30582 (struct grub_efi_pci_device_path): New structure.
30583 (grub_efi_pci_device_path_t): New type.
30584 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30585 (struct grub_efi_pccard_device_path): New structure.
30586 (grub_efi_pccard_device_path_t): New type.
30587 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30588 (struct grub_efi_memory_mapped_device_path): New structure.
30589 (grub_efi_memory_mapped_device_path_t): New type.
30590 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30591 (struct grub_efi_vendor_device_path): New structure.
30592 (grub_efi_vendor_device_path_t): New type.
30593 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30594 (struct grub_efi_controller_device_path): New structure.
30595 (grub_efi_controller_device_path_t): New type.
30596 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30597 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30598 (struct grub_efi_acpi_device_path): New structure.
30599 (grub_efi_acpi_device_path_t): New type.
30600 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30601 (struct grub_efi_expanded_acpi_device_path): New structure.
30602 (grub_efi_expanded_acpi_device_path_t): New type.
30603 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30604 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30605 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30606 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30607 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30608 (struct grub_efi_atapi_device_path): New structure.
30609 (grub_efi_atapi_device_path_t): New type.
30610 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30611 (struct grub_efi_fibre_channel_device_path): New structure.
30612 (grub_efi_fibre_channel_device_path_t): New type.
30613 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30614 (struct grub_efi_1394_device_path): New structure.
30615 (grub_efi_1394_device_path_t): New type.
30616 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30617 (struct grub_efi_usb_device_path): New structure.
30618 (grub_efi_usb_device_path_t): New type.
30619 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30620 (struct grub_efi_usb_class_device_path): New structure.
30621 (grub_efi_usb_class_device_path_t): New type.
30622 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30623 (struct grub_efi_i2o_device_path): New structure.
30624 (grub_efi_i2o_device_path_t): New type.
30625 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30626 (struct grub_efi_mac_address_device_path): New structure.
30627 (grub_efi_mac_address_device_path_t): New type.
30628 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30629 (struct grub_efi_ipv4_device_path): New structure.
30630 (grub_efi_ipv4_device_path_t): New type.
30631 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30632 (struct grub_efi_ipv6_device_path): New structure.
30633 (grub_efi_ipv6_device_path_t): New type.
30634 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30635 (struct grub_efi_infiniband_device_path): New structure.
30636 (grub_efi_infiniband_device_path_t): New type.
30637 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30638 (struct grub_efi_uart_device_path): New structure.
30639 (grub_efi_uart_device_path_t): New type.
30640 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30641 (struct grub_efi_vendor_messaging_device_path): New structure.
30642 (grub_efi_vendor_messaging_device_path_t): New type.
30643 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30644 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30645 (struct grub_efi_hard_drive_device_path): New structure.
30646 (grub_efi_hard_drive_device_path_t): New type.
30647 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30648 (struct grub_efi_cdrom_device_path): New structure.
30649 (grub_efi_cdrom_device_path_t): New type.
30650 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30651 (struct grub_efi_vendor_media_device_path): New structure.
30652 (grub_efi_vendor_media_device_path_t): New type.
30653 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30654 (struct grub_efi_file_path_device_path): New structure.
30655 (grub_efi_file_path_device_path_t): New type.
30656 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30657 (struct grub_efi_protocol_device_path): New structure.
30658 (grub_efi_protocol_device_path_t): New type.
30659 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30660 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30661 (struct grub_efi_bios_device_path): New structure.
30662 (grub_efi_bios_device_path_t): New type.
30663 (struct grub_efi_disk_io): New structure.
30664 (grub_efi_disk_io_t): New type.
30665 (struct grub_efi_block_io_media): New structure.
30666 (grub_efi_block_io_media_t): New type.
30667 (struct grub_efi_block_io): New structure.
30668 (grub_efi_block_io_t): New type.
30669
30670 * include/grub/misc.h (grub_stop): Removed.
30671 (grub_exit): New prototype.
30672 (grub_abort): Likewise.
30673
30674 * include/grub/disk.h (enum grub_disk_dev_id): Added
30675 GRUB_DISK_DEVICE_EFIDISK_ID.
30676
30677 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30678 disk/efi/efidisk.c.
30679 (kernel_syms.lst): Remove the target if an error occurs.
30680
49986a9f 306812006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30682
30683 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30684 as it was simply too buggy.
30685
970d3b8a 306862006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30687
30688 * kern/misc.c (grub_lltoa): New function.
30689 (grub_vsprintf): Added support for the long long suffix,
30690 i.e. "ll".
30691
ff04ec24 306922006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30693
30694 * Makefile.in (LDFLAGS): Add variable.
30695 (LD): Remove variable.
30696 * configure.ac: Add -m32 to LDFLAGS.
30697 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30698 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30699 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30700 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30701 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30702 variables.
30703 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30704 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30705 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30706
37e5e1a4 307072006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30708
30709 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30710 length for unknown glyph.
30711
c352d8dd 307122006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30713
2eab1c0d 30714 Add support for pre-loaded modules into the EFI port.
f19dbdb7 30715
2eab1c0d 30716 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30717 completely. Accept one more argument DIR. The caller has changed.
30718
30719 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30720
30721 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30722 (grub_efi_loaded_image_guid): New variable.
30723 (grub_efi_get_loaded_image): New function.
30724 (grub_arch_modules_addr): Likewise.
30725
30726 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30727 prototype.
30728
30729 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30730 (struct grub_efi_loaded_image): New structure.
30731 (grub_efi_loaded_image_t): New type.
30732
307332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30734
c352d8dd 30735 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30736 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30737 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30738
6d01d6b4 307392006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30740
30741 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30742
976a4ea0 307432006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30744
30745 * DISTLIST: Added include/grub/efi/console.h,
30746 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30747 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30748
30749 * include/grub/efi/console.h: New file.
30750 * include/grub/efi/time.h: Likewise.
30751 * include/grub/i386/efi/kernel.h: Likewise.
30752 * kern/efi/init.c: Likewise.
30753 * kern/efi/mm.c: Likewise.
30754 * term/efi/console.c: Likewise.
f19dbdb7 30755
976a4ea0 30756 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30757 (grub_stop): Removed.
30758 (grub_get_rtc): Likewise.
30759 (grub_machine_init): Simply call grub_efi_init.
30760 (grub_machine_fini): Call grub_efi_fini.
30761
30762 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30763 (grub_efi_output_string): Removed.
30764 (grub_efi_stall): New function.
30765 (grub_stop): Likewise.
30766 (grub_get_rtc): Likewise.
30767
30768 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30769 (grub_efi_stall): New prototype.
30770 (grub_efi_allocate_pages): Likewise.
30771 (grub_efi_free_pages): Likewise.
30772 (grub_efi_get_memory_map): Likewise.
30773 (grub_efi_mm_init): Likewise.
30774 (grub_efi_mm_fini): Likewise.
30775 (grub_efi_init): Likewise.
30776 (grub_efi_fini): Likewise.
30777
30778 * include/grub/i386/efi/time.h: Do not include
30779 grub/symbol.h. Include grub/efi/time.h.
30780 (GRUB_TICKS_PER_SECOND): Removed.
30781 (grub_get_rtc): Likewise.
30782
30783 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30784 Added padding. The EFI spec is buggy.
30785 (GRUB_EFI_BLACK): New macro.
30786 (GRUB_EFI_BLUE): Likewise.
30787 (GRUB_EFI_GREEN): Likewise.
30788 (GRUB_EFI_CYAN): Likewise.
30789 (GRUB_EFI_RED): Likewise.
30790 (GRUB_EFI_MAGENTA): Likewise.
30791 (GRUB_EFI_BROWN): Likewise.
30792 (GRUB_EFI_LIGHTGRAY): Likewise.
30793 (GRUB_EFI_BRIGHT): Likewise.
30794 (GRUB_EFI_DARKGRAY): Likewise.
30795 (GRUB_EFI_LIGHTBLUE): Likewise.
30796 (GRUB_EFI_LIGHTGREEN): Likewise.
30797 (GRUB_EFI_LIGHTCYAN): Likewise.
30798 (GRUB_EFI_LIGHTRED): Likewise.
30799 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30800 (GRUB_EFI_YELLOW): Likewise.
30801 (GRUB_EFI_WHITE): Likewise.
30802 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30803 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30804 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30805 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30806 (GRUB_EFI_BACKGROUND_RED): Likewise.
30807 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30808 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30809 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30810 (GRUB_EFI_TEXT_ATTR): Likewise.
30811
30812 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30813 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30814 (kernel_mod_HEADERS): Added efi/time.h.
30815
83709125 308162006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30817
30818 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30819 include/grub/efi/api.h, include/grub/efi/console_control.h,
30820 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30821 include/grub/i386/efi/time.h, kern/efi/efi.c,
30822 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30823 and util/i386/efi/grub-mkimage.c.
30824
30825 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30826
30827 * genmk.rb (PModule#rule): Do not export symbols if
30828 #{prefix}_EXPORTS is set to "no".
30829
30830 * conf/i386-efi.mk: New file.
30831 * conf/i386-efi.rmk: Likewise.
30832 * include/grub/efi/api.h: Likewise.
30833 * include/grub/efi/console_control.h: Likewise.
30834 * include/grub/efi/efi.h: Likewise.
30835 * include/grub/efi/pe32.h: Likewise.
30836 * include/grub/i386/efi/time.h: Likewise.
30837 * kern/efi/efi.c: Likewise.
30838 * kern/i386/efi/init.c: Likewise.
30839 * kern/i386/efi/startup.S: Likewise.
30840 * util/i386/efi/grub-mkimage.c: Likewise.
30841
308422006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 30843
30844 * include/grub/script.h: Include <grub/parser.h> and
30845 "grub_script.tab.h".
30846 (struct grub_lexer_param): New struct.
30847 (struct grub_parser_param): Likewise.
30848 (grub_script_create_arglist): Pass the state in an argument.
30849 (grub_script_add_arglist): Likewise.
30850 (grub_script_create_cmdline): Likewise.
30851 (grub_script_create_cmdblock): Likewise.
30852 (grub_script_create_cmdif): Likewise.
30853 (grub_script_create_cmdmenu): Likewise.
30854 (grub_script_add_cmd): Likewise.
30855 (grub_script_arg_add): Likewise.
30856 (grub_script_lexer_ref): Likewise.
30857 (grub_script_lexer_deref): Likewise.
30858 (grub_script_lexer_record_start): Likewise.
30859 (grub_script_lexer_record_stop): Likewise.
30860 (grub_script_mem_record): Likewise.
30861 (grub_script_mem_record_stop): Likewise.
30862 (grub_script_malloc): Likewise.
30863 (grub_script_yylex): Likewise.
30864 (grub_script_yyparse): Likewise.
30865 (grub_script_yyerror): Likewise.
30866 (grub_script_yylex): Likewise.
30867 (grub_script_lexer_init): Return the state.
30868
30869 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30870 (grub_script_lexer_done): Likewise.
30871 (grub_script_lexer_getline): Likewise.
30872 (grub_script_lexer_refs): Likewise.
30873 (script): Likewise.
30874 (newscript): Likewise.
30875 (record): Likewise.
30876 (recording): Likewise.
30877 (recordpos): Likewise.
30878 (recordlen): Likewise.
30879 (grub_script_lexer_init): Return the state instead of setting
30880 global variables.
30881 (grub_script_lexer_ref): Use the newly added argument for state
30882 instead of globals.
30883 (grub_script_lexer_deref): Likewise.
30884 (grub_script_lexer_record_start): Likewise.
30885 (grub_script_lexer_record_stop): Likewise.
30886 (recordchar): Likewise.
30887 (nextchar): Likewise.
30888 (grub_script_yylex2): Likewise.
30889 (grub_script_yylex): Likewise.
30890 (grub_script_yyerror): Likewise.
30891
30892 * normal/parser.y (func_mem): Removed variable.
30893 (menu_entry): Likewise.
30894 (err): Likewise.
30895 (%lex-param): New parser option.
30896 (%parse-param): Likewise.
30897 (script): Always return the AST.
30898 (argument): Pass the state around.
30899 (arguments): Likewise.
30900 (grubcmd): Likewise.
30901 (commands): Likewise.
30902 (function): Likewise.
30903 (menuentry): Likewise.
30904 (if_statement): Likewise.
30905 (if): Likewise.
30906
30907 * normal/script.c (grub_script_memused): Removed variable.
30908 (grub_script_parsed): Likewise.
30909 (grub_script_malloc): Added a state argument. Use that instead of
30910 global variables.
30911 (grub_script_mem_record): Likewise.
30912 (grub_script_mem_record_stop): Likewise.
30913 (grub_script_arg_add): Likewise.
30914 (grub_script_add_arglist): Likewise.
30915 (grub_script_create_cmdline): Likewise.
30916 (grub_script_create_cmdif): Likewise.
30917 (grub_script_create_cmdmenu): Likewise.
30918 (grub_script_add_cmd): Likewise.
30919 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 30920
e2a8c904 309212006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 30922
30923 * normal/command.c (grub_command_init): Remove the title command.
30924
30925 * normal/lexer.c (grub_script_yylex): Renamed from this...
30926 (grub_script_yylex2): ... to this.
30927 (grub_script_yylex): New function. Temporary
30928 introduced to filter some tokens.
30929 (grub_script_yyerror): Print a newline.
30930
30931 * normal/main.c (read_config_file): Output information about the
30932 lines that contain errors. Wait for a key after all lines have
30933 been processed. Don't return an empty menu.
30934
30935 * normal/parser.y (func_mem): Don't initialize.
30936 (menu_entry): Likewise.
30937 (err): New variable.
30938 (script): Don't return anything when an error was encountered.
30939 (ws, returns): Removed rules.
30940 (argument): Disabled concatenated variable support.
30941 (arguments): Remove explicit separators.
30942 (grubcmd): Likewise.
30943 (function): Likewise.
30944 (menuentry): Likewise.
30945 (if): Likewise.
30946 (commands): Likewise. Add error handling.
30947
30948 * normal/script.c (grub_script_create_cmdline): If
30949 `grub_script_parsed' is 0, assume the parser encountered an error.
30950
c9a86192 309512006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30952
30953 * configure.ac: Add support for EFI. Fix the typo
30954 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30955
70f3b243 309562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30957
30958 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30959 foreign multibyte characters should be shown correctly.
30960
65f201ad 309612006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30962
30963 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30964 calculation.
30965 (read_config_file): Made it to close file before returning.
30966
b4b93674 309672006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30968
30969 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30970 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30971 video/i386/pc/vbefill.c.
30972
30973 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30974 video/i386/pc/vbefill.c.
30975
30976 * include/grub/video.h (grub_video_blit_format): New enum.
30977 (grub_video_mode_info): Added new member blit_format.
30978 (grub_video_get_blit_format): New function prototype.
30979
30980 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30981 function prototype.
30982 (grub_video_vbe_map_rgb): Likewise.
30983 (grub_video_vbe_unmap_color): Likewise.
30984
30985 * include/grub/i386/pc/vbeblit.h: New file.
30986
30987 * include/grub/i386/pc/vbefill.h: New file.
30988
30989 * video/video.c (grub_video_get_blit_format): New function.
30990 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30991 (grub_video_vbe_map_rgb): Likewise.
30992 (grub_video_vbe_unmap_color): Likewise.
30993
30994 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30995 optimized fills.
30996 (grub_video_vbe_blit_render_target): Changed to use more optimized
30997 blits.
30998 (grub_video_vbe_setup): Added detection for optimized settings.
30999 (grub_video_vbe_create_render_target): Likewise.
31000
31001 * video/i386/pc/vbeblit.c: New file.
31002
31003 * video/i386/pc/vbefill.c: New file.
31004
c2379b9c 310052006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
31006
31007 * font/manager.c (grub_font_get_glyph): Removed font fixup from
31008 here...
31009
31010 * util/unifont2pff.rb: ... and moved it to here. Improved argument
31011 parsing to support both hex and dec ranges. If filename was missing
31012 show usage information.
31013
bd0d7896 310142006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
31015
31016 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
31017 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
31018
31019 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
31020 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
31021 (video_mod_SOURCES): Added.
31022 (video_mod_CFLAGS): Likewise.
31023 (video_mod_LDFLAGS): Likewise.
31024 (gfxterm_mod_SOURCES): Likewise.
31025 (gfxterm_mod_CFLAGS): Likewise.
31026 (gfxterm_mod_LDFLAGS): Likewise.
31027 (videotest_mod_SOURCES): Likewise.
31028 (videotest_mod_CFLAGS): Likewise.
31029 (videotest_mod_LDFLAGS): Likewise.
31030 (vesafb_mod_SOURCES): Removed.
31031 (vesafb_mod_CFLAGS): Likewise.
31032 (vesafb_mod_LDFLAGS): Likewise.
31033 (vga_mod_SOURCES): Likewise.
31034 (vga_mod_CFLAGS): Likewise.
31035 (vga_mod_LDFLAGS): Likewise.
31036
31037 * commands/videotest.c: New file.
31038
31039 * font/manager.c (fill_with_default_glyph): Modified to use
31040 grub_font_glyph.
31041 (grub_font_get_glyph): Likewise.
31042 (fontmanager): Renamed from this...
31043 (font_manager): ... to this.
31044
31045 * include/grub/font.h (grub_font_glyph): Added new structure.
31046 (grub_font_get_glyph): Modified to use grub_font_glyph.
31047
31048 * include/grub/misc.h (grub_abs): Added as inline function.
31049
31050 * include/grub/video.h: New file.
31051
31052 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
31053 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
31054 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
31055 (grub_vbe_get_controller_info): Renamed from this...
31056 (grub_vbe_bios_get_controller_info): ... to this.
31057 (grub_vbe_get_mode_info): Renamed from this...
31058 (grub_vbe_bios_get_mode_info): ... to this.
31059 (grub_vbe_set_mode): Renamed from this...
31060 (grub_vbe_bios_set_mode): ... to this.
31061 (grub_vbe_get_mode): Renamed from this...
31062 (grub_vbe_bios_get_mode): ... to this.
31063 (grub_vbe_set_memory_window): Renamed from this...
31064 (grub_vbe_bios_set_memory_window): ... to this.
31065 (grub_vbe_get_memory_window): Renamed from this...
31066 (grub_vbe_bios_get_memory_window): ... to this.
31067 (grub_vbe_set_scanline_length): Renamed from this...
31068 (grub_vbe_set_scanline_length): ... to this.
31069 (grub_vbe_get_scanline_length): Renamed from this...
31070 (grub_vbe_bios_get_scanline_length): ... to this.
31071 (grub_vbe_set_display_start): Renamed from this...
31072 (grub_vbe_bios_set_display_start): ... to this.
31073 (grub_vbe_get_display_start): Renamed from this...
31074 (grub_vbe_bios_get_display_start): ... to this.
31075 (grub_vbe_set_palette_data): Renamed from this...
31076 (grub_vbe_bios_set_palette_data): ... to this.
31077 (grub_vbe_set_pixel_rgb): Removed.
31078 (grub_vbe_set_pixel_index): Likewise.
31079
31080 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
31081 from this...
31082 (grub_vbe_bios_get_controller_info): ... to this.
31083 (grub_vbe_get_mode_info): Renamed from this...
31084 (grub_vbe_bios_get_mode_info): ... to this.
31085 (grub_vbe_set_mode): Renamed from this...
31086 (grub_vbe_bios_set_mode): ... to this.
31087 (grub_vbe_get_mode): Renamed from this...
31088 (grub_vbe_bios_get_mode): ... to this.
31089 (grub_vbe_set_memory_window): Renamed from this...
31090 (grub_vbe_bios_set_memory_window): ... to this.
31091 (grub_vbe_get_memory_window): Renamed from this...
31092 (grub_vbe_bios_get_memory_window): ... to this.
31093 (grub_vbe_set_scanline_length): Renamed from this...
31094 (grub_vbe_set_scanline_length): ... to this.
31095 (grub_vbe_get_scanline_length): Renamed from this...
31096 (grub_vbe_bios_get_scanline_length): ... to this.
31097 (grub_vbe_set_display_start): Renamed from this...
31098 (grub_vbe_bios_set_display_start): ... to this.
31099 (grub_vbe_get_display_start): Renamed from this...
31100 (grub_vbe_bios_get_display_start): ... to this.
31101 (grub_vbe_set_palette_data): Renamed from this...
31102 (grub_vbe_bios_set_palette_data): ... to this.
31103 (grub_vbe_bios_get_controller_info): Fixed problem with registers
31104 getting corrupted after calling it. Added more pushes and pops.
31105 (grub_vbe_bios_set_mode): Likewise.
31106 (grub_vbe_bios_get_mode): Likewise.
31107 (grub_vbe_bios_get_memory_window): Likewise.
31108 (grub_vbe_bios_set_scanline_length): Likewise.
31109 (grub_vbe_bios_get_scanline_length): Likewise.
31110 (grub_vbe_bios_get_display_start): Likewise.
31111 (grub_vbe_bios_set_palette_data): Likewise.
31112
31113 * normal/cmdline.c (cl_set_pos): Refresh the screen.
31114 (cl_insert): Likewise.
31115 (cl_delete): Likewise.
31116
31117 * term/gfxterm.c: New file.
31118
31119 * term/i386/pc/vesafb.c: Removed file.
31120
31121 * video/video.c: New file.
31122
31123 * video/i386/pc/vbe.c (real2pm): Added new function.
31124 (grub_video_vbe_draw_pixel): Likewise.
31125 (grub_video_vbe_get_video_ptr): Likewise.
31126 (grub_video_vbe_get_pixel): Likewise
31127 (grub_video_vbe_init): Likewise.
31128 (grub_video_vbe_fini): Likewise.
31129 (grub_video_vbe_setup): Likewise.
31130 (grub_video_vbe_get_info): Likewise.
31131 (grub_video_vbe_set_palette): Likewise.
31132 (grub_video_vbe_get_palette): Likewise.
31133 (grub_video_vbe_set_viewport): Likewise.
31134 (grub_video_vbe_get_viewport): Likewise.
31135 (grub_video_vbe_map_color): Likewise.
31136 (grub_video_vbe_map_rgb): Likewise.
31137 (grub_video_vbe_map_rgba): Likewise.
31138 (grub_video_vbe_unmap_color): Likewise.
31139 (grub_video_vbe_fill_rect): Likewise.
31140 (grub_video_vbe_blit_glyph): Likewise.
31141 (grub_video_vbe_blit_bitmap): Likewise.
31142 (grub_video_vbe_blit_render_target): Likewise.
31143 (grub_video_vbe_scroll): Likewise.
31144 (grub_video_vbe_swap_buffers): Likewise.
31145 (grub_video_vbe_create_render_target): Likewise.
31146 (grub_video_vbe_delete_render_target): Likewise.
31147 (grub_video_vbe_set_active_render_target): Likewise.
31148 (grub_vbe_set_pixel_rgb): Remove function.
31149 (grub_vbe_set_pixel_index): Likewise.
31150 (index_color_mode): Remove static variable.
31151 (active_mode): Likewise.
31152 (framebuffer): Likewise.
31153 (bytes_per_scan_line): Likewise.
31154 (grub_video_vbe_adapter): Added new static variable.
31155 (framebuffer): Likewise.
31156 (render_target): Likewise.
31157 (initial_mode): Likewise.
31158 (mode_in_use): Likewise.
31159 (mode_list): Likewise.
31160
5f97350b 311612006-03-10 Marco Gerards <marco@gnu.org>
31162
31163 * configure.ac (AC_INIT): Bumped to 1.93.
31164
31165 * DISTLIST: Added `include/grub/hfs.h'.
31166
a3c5c6f8 311672006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
31168
31169 * boot/i386/pc/boot.S (general_error): Before looping, try INT
31170 18H, which might help the BIOS falling back to next boot media.
31171
6de53d26 311722006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
31173
31174 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
31175 Poe Chen <poe.poechen@gmail.com>.
31176
77c4a393 311772006-01-17 Marco Gerards <marco@gnu.org>
31178
31179 * include/grub/normal.h: Include <grub/script.h>.
31180 (grub_command_list): Removed struct.
31181 (grub_command_list_t): Removed type.
31182 (grub_menu_entry): Remove members `num' and `command_list'. Add
31183 members `commands' and `sourcecode'.
31184 * include/grub/script.h: Add inclusion guards.
31185 (grub_script_cmd_menuentry): New struct.
31186 (grub_script_execute_menuentry): New prototype.
31187 (grub_script_lexer_record_start): Likewise.
31188 (grub_script_lexer_record_stop): Likewise.
31189 * normal/execute.c (grub_script_execute_menuentry): New function.
31190 * normal/lexer.c (record, recording, recordpos, recordlen): New
31191 variables.
31192 (grub_script_lexer_record_start): New function.
31193 (grub_script_lexer_record_stop): Likewise.
31194 (recordchar): Likewise.
31195 (nextchar): Likewise.
31196 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
31197 2048 as the buffer size. Add the tokens `menuentry' and `@'.
31198 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
31199 (current_menu): New variable.
31200 (free_menu): Mainly rewritten.
31201 (grub_normal_menu_addentry): New function.
31202 (read_config_file): Rewritten.
31203 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 31204 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 31205 the menu entry.
31206 (run): Mainly rewritten.
31207 * normal/parser.y (menu_entry): New variable.
31208 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
31209 (menuentry): New rule.
31210 (command): Add `menuentry'.
31211 (if_statement): Allow additional returns before `fi'.
31212 * normal/script.c (grub_script_create_cmdmenu): New function.
31213
144f1f98 312142006-01-03 Marco Gerards <marco@gnu.org>
31215
31216 * INSTALL: GNU Bison is required.
31217 * configure.ac: Rewritten the test to detect Bison.
31218 * Makefile.in (YACC): New variable. Reported by Xun Sun
31219 <xun.sun.cn@gmail.com>.
31220
af4b2d89 312212006-01-03 Marco Gerards <marco@gnu.org>
31222
31223 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
31224 the HFS+ filesystem to filesystem blocks.
31225 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
31226 GCC warning is silenced.
31227
15643b71 312282006-01-03 Marco Gerards <marco@gnu.org>
31229
31230 * partmap/apple.c (apple_partition_map_iterate): Convert the data
31231 read from disk from big endian to host byte order.
31232
00905879 312332006-01-03 Hollis Blanchard <hollis@penguinppc.org>
31234
31235 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
31236 documentation.
31237 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
31238 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
31239 embedded HFS+ filesystem.
31240 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
31241 (grub_hfs_sblock): Move from here...
31242 * include/grub/hfs.h: To here... New file.
31243 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
31244 documentation.
31245 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
31246 New macros.
31247 (grub_hfsplus_volheader): Change type of member `magic' to
31248 `grub_uint16_t'.
31249 (grub_hfsplus_data): Add new member `embedded_offset'.
31250 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
31251 returned block.
31252 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
31253 Calculate the offset.
31254
8899bc3e 312552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31256
31257 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
31258 Removed.
31259 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
31260
ae8c0277 312612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31262
31263 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
31264 ENV->NAME is NULL after allocating ENV->VALUE.
31265
07084456 312662005-12-25 Marco Gerards <marco@gnu.org>
31267
31268 * kern/env.c (grub_env_set): Rewritten the error handling code.
31269
4750f5f1 312702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31271
31272 * geninit.sh: Made more robust, and more portable.
31273
50214199 312742005-12-25 Marco Gerards <marco@gnu.org>
31275
31276 Add support for Apple HFS+ filesystems.
f19dbdb7 31277
50214199 31278 * fs/hfsplus.c: New file.
31279
31280 * DISTLIST: Added `fs/hfsplus.c'.
31281
31282 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
31283 (hfsplus_mod_SOURCES): New variable.
31284 (hfsplus_mod_CFLAGS): Likewise.
31285 (hfsplus_mod_LDFLAGS): Likewise.
31286 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
31287 (grub_setup_SOURCES): Likewise.
31288 (grub_mkdevicemap_SOURCES): Likewise.
31289 (grub_emu_SOURCES): Likewise.
31290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31291
31292 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
31293
31294 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
31295
befaed6c 312962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31297
31298 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
31299 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
31300 include/grub/parser.h, include/grub/script.h, kern/parser.c,
31301 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
31302 normal/lexer.c, normal/parser.y, normal/script.c, and
31303 partmap/gpt.c.
31304 Removed kern/sparc64/cache.c.
31305
31306 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
31307 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
31308 grub_emu_init.c.
31309
31310 * configure.ac (AC_INIT): Bumped to 1.92.
31311
6a124103 313122005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
31313
31314 * kern/err.c (grub_error_push): Added new function to support error
31315 stacks.
31316 (grub_error_pop): Likewise.
31317 (grub_error_stack_items): New local variable to support error stacks.
31318 (grub_error_stack_pos): Likewise.
31319 (grub_error_stack_assert): Likewise.
31320 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
31321 stack depth.
31322 (grub_print_error): Added support to print errors from error stack.
31323
31324 * include/grub/err.h (grub_error_push): Added function prototype.
31325 (grub_error_pop): Likewise.
31326
be973c1b 313272005-12-09 Hollis Blanchard <hollis@penguinppc.org>
31328
31329 * configure.ac: Accept `powerpc64' as host_cpu.
31330 (amd64): Rename to `biarch32'.
31331
31332 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
31333 non-cacheline-aligned addresses.
31334
31335 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
31336 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
31337 if `size' is non-zero.
31338
b04216ab 313392005-12-03 Marco Gerards <mgerards@xs4all.nl>
31340
31341 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
31342 and `cd' to make sure the filename is not prefixed with a
31343 directory name.
31344 (pkgdata_MODULES): Add `gpt.mod'.
31345 (gpt_mod_SOURCES): New variable.
31346 (gpt_mod_CFLAGS): Likewise.
31347 (gpt_mod_LDFLAGS): Likewise.
31348
31349 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31350
31351 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31352 New macro.
31353
31354 * partmap/gpt.c: New file.
31355
31356 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31357 GPT partition map is detected.
31358
41730ed9 313592005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31360
31361 * commands/i386/pc/play.c: New file.
31362 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31363 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31364 macros.
f19dbdb7 31365
95dc3643 313662005-11-27 Marco Gerards <mgerards@xs4all.nl>
31367
31368 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31369 ((unused))' to silence gcc warning.
31370
1569ec51 313712005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31372
31373 * configure.ac: Correct `AC_PROG_YACC' test.
31374
9abde152 313752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31376
31377 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31378 check before installing files.
31379
44b83271 313802005-11-22 Mike Small <smallm@panix.com>
31381
31382 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31383 number regex so multidigit numbers are recognized correctly.
31384
313852005-11-22 Mike Small <smallm@panix.com>
31386
31387 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31388 debugging message before attempting to claim memory.
31389 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31390 multiple addresses in case of failure.
31391
9c12956b 313922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31393
31394 * term/tparm.c (get_space): Remove empty `if' statement.
31395
31396 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31397
31398 * kern/parser.c (check_varstate): Rename `state' to 's'.
31399
aeaf81d9 314002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31401
31402 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31403 variable definitions to the beginning of each function. Sort stack
31404 variables by size.
31405 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31406 `buf' argument to `char *'.
31407
79bbb63f 314082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31409
31410 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31411 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31412 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 31413 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31414 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31415 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31416 configfile.mod, search.mod, gzio.mod and test.mod.
31417 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31418 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31419 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31420 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31421 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31422 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31423 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31424 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31425 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31426 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31427 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31428 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31429 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31430 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31431 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31432 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31433 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31434 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31435 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31436 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31437 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31438 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31439 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31440
31441 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31442 `grep --include'.
31443 (pkgdata_MODULES): Add test.mod.
31444
233b1628 314452005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31446
31447 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31448 appending to variables with "+=".
31449 (PModule): Use full pathname to generate *.lst filenames.
31450
31451 * Makefile.in: Fixed list rules moved from genmk.rb.
31452 (.DELETE_ON_ERROR): New special target.
31453 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31454
31455 * conf/i386-pc.rmk: Include conf/common.mk.
31456 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31457 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 31458 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31459 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31460 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31461 configfile.mod, search.mod, gzio.mod and test.mod.
31462 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31463 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31464 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31465 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31466 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31467 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31468 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31469 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31470 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31471 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31472 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31473 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31474 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31475 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31476 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31477 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31478 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31479 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31480 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31481 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31482 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31483 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31484 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31485 here...
31486 * conf/common.rmk: ... to here. New file.
31487
31488 * conf/common.mk: New file.
31489
16f820c8 314902005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31491
31492 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31493 (grub_script.tab.c): ... here.
31494
31495 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31496 (grub_script.tab.c): ... here.
31497
31498 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31499 (grub_script.tab.c): ... here.
31500
31501 * normal/command.c (grub_command_find): Fixed a memory leak of
31502 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31503
63ba1554 315042005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31505
31506 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31507 "@" which marks the start of a comment on ARM.
31508 (VARIABLE): Likewise.
31509
7f67dc13 315102005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31511
79bbb63f 31512 Add support for Linux/ADFS partition tables.
7f67dc13 31513
31514 * partmap/acorn.c: New file.
31515
31516 * include/grub/acorn_filecore.h: Likewise.
31517
31518 * DISTLIST: Added `partmap/acorn.c' and
31519 `include/grub/acorn_filecore.h'.
f19dbdb7 31520
7f67dc13 31521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31522 `partmap/acorn.c'.
31523 (pkgdata_MODULES): Add `acorn.mod'.
31524 (acorn_mod_SOURCES): New variable.
31525 (acorn_mod_CFLAGS): Likewise.
31526
31527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31528 `partmap/acorn.c'.
31529 (pkgdata_MODULES): Add `acorn.mod'.
31530 (acorn_mod_SOURCES): New variable.
31531 (acorn_mod_CFLAGS): Likewise.
31532
31533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31534 (pkgdata_MODULES): Add `acorn.mod'.
31535 (acorn_mod_SOURCES): New variable.
31536 (acorn_mod_CFLAGS): Likewise.
31537 (acorn_mod_LDFLAGS): Likewise.
31538
31539 * include/types.h (grub_disk_addr_t): New typedef.
31540
6d099807 315412005-11-13 Marco Gerards <mgerards@xs4all.nl>
31542
31543 * geninit.sh: New file.
31544
31545 * geninitheader.sh: Likewise.
31546
31547 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31548 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31549 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31550 * commands/configfile.c (grub_configfile_init)
31551 (grub_configfile_fini): Likewise.
31552 * commands/default.c (grub_default_init, grub_default_fini):
31553 Likewise.
31554 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31555 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31556 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31557 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31558 Likewise.
31559 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31560 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31561 Likewise.
31562 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 31563 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 31564 Likewise.
31565 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31566 Likewise.
fe6b695a 31567 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 31568 Likewise.
31569 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31570 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31571 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31572 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31573 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31574 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31575 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31576 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31577 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31578 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31579 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31580 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31581 * partmap/amiga.c (grub_amiga_partition_map_init)
31582 (grub_amiga_partition_map_fini): Likewise.
31583 * partmap/apple.c (grub_apple_partition_map_init)
31584 (grub_apple_partition_map_fini): Likewise.
31585 * partmap/pc.c (grub_pc_partition_map_init)
31586 (grub_pc_partition_map_fini): Likewise.
31587 * partmap/sun.c (grub_sun_partition_map_init,
31588 grub_sun_partition_map_fini): Likewise.
31589 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31590 Likewise.
31591
31592 * util/grub-emu.c: Include <grub_modules_init.h>.
31593 (main): Don't initialize and de-initialize any modules directly,
31594 use `grub_init_all' and `grub_fini_all' instead.
31595
31596 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31597 `grub_vesafb_mod_init'.
31598 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31599 all users.
31600 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31601 `grub_vga_mod_init'. Updated all users.
31602 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 31603
6d099807 31604 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31605 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31606 rules.
31607
31608 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31609 Generate a function to initialize the module in utilities.
31610 Updated all callers.
31611 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31612 initialize the module in utilities. Updated all callers.
31613
9046bcf0 316142005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31615
31616 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31617 escape sequence and a literal ^L to clear the screen.
31618
31619 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31620 when returning from Open Firmware.
31621
d13ea639 316222005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31623
31624 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31625 (grub_ofconsole_height): Likewise.
31626 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31627 manually insert a '\n'.
31628 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31629 `grub_ofconsole_height'. Return early if these are already set.
31630
a8fcf206 316312005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31632
31633 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31634 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31635 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31636 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31637 and `normal/script.c'.
31638 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31639 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31640 (test_mod_SOURCES): New variable.
31641 (test_mod_CFLAGS): Likewise.
31642 (test_mod_LDFLAGS): Likewise.
31643 (pkgdata_MODULES): Add `test.mod'.
31644 (grub_script.tab.c): New rule.
31645 (grub_script.tab.h): Likewise.
31646
b6b32745 316472005-11-07 Marco Gerards <mgerards@xs4all.nl>
31648
31649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31650 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31651 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31652 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31653 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31654 (test_mod_SOURCES): New variable.
31655 (test_mod_CFLAGS): Likewise.
31656 (pkgdata_MODULES): Add `test.mod'.
31657 (grub_script.tab.c): New rule.
31658 (grub_script.tab.h): Likewise.
31659
daac212a 316602005-11-06 Marco Gerards <mgerards@xs4all.nl>
31661
31662 Add initial scripting support.
31663
31664 * commands/test.c: New file.
31665 * include/grub/script.h: Likewise.
31666 * normal/execute.c: Likewise.
31667 * normal/function.c: Likewise.
31668 * normal/lexer.c: Likewise.
31669 * normal/parser.y: Likewise.
31670 * normal/script.c: Likewise.
31671
31672 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 31673
daac212a 31674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31675 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31676 `normal/function.c' and `normal/script.c'.
31677 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31678 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 31679 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31680 variables.
daac212a 31681 (pkgdata_MODULES): Add `test.mod'.
31682 (grub_script.tab.c): New rule.
31683 (grub_script.tab.h): Likewise.
31684
31685 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31686
31687 * include/grub/normal.h (grub_test_init): New prototype.
31688 (grub_test_fini): Likewise.
f19dbdb7 31689
daac212a 31690 * normal/command.c: Include <grub/script.h>.
31691 (grub_command_execute): Rewritten.
f19dbdb7 31692
daac212a 31693 * util/grub-emu.c (main): Call `grub_test_init' and
31694 `grub_test_fini'.
31695
77500b2b 316962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31697
31698 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31699 to 0.
31700 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31701 there are no pending characters.
31702
e45deb9e 317032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31704
31705 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31706 `grub_strndup' to drop device arguments. Replace unnecessary
31707 `grub_strndup' with `grub_strdup'.
31708
4ce32619 317092005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31710
31711 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31712 `debug' environment variable has been set.
31713
317142005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31715
4ce32619 31716 * Makefile.in (install-local): Use $(DATA).
31717 (uninstall): Likewise.
31718 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31719 (sbin_UTILITIES): ... to here.
31720 (sbin_SCRIPTS): New variable.
31721 (grub_install_SOURCES): New variable.
31722 * util/powerpc/ieee1275/grub-install.in: New file.
31723 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31724 variable.
31725 (add_segments): Call `grub_util_get_path'.
31726
25fe6f03 317272005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31728
31729 From Timothy Baldwin:
31730 * commands/ls.c (grub_ls_list_files): Close FILE with
31731 grub_file_close.
31732 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31733
04ccf3ec 317342005-10-24 Marco Gerards <mgerards@xs4all.nl>
31735
31736 * include/grub/parser.h: New file.
31737
31738 * kern/parser.c: Likewise.
31739
31740 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31741 (grub_setup_SOURCES): Likewise.
31742 (grub_probefs_SOURCES): Likewise.
31743 (grub_emu_SOURCES): Likewise.
31744 (kernel_img_HEADERS): Add `parser.h'.
31745
31746 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31747 (grub_emu_SOURCES): Add `kern/parser.c'.
31748 (grubof_SOURCES): Likewise.
31749
31750 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31751 (grubof_SOURCES): Add `kern/parser.c'.
31752
31753 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31754
31755 * kern/misc.c (grub_split_cmdline): Removed function.
31756
31757 * kern/rescue.c: Include <grub/parser.h>.
31758 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31759 of `grub_split_cmdline'.
31760
31761 * normal/command.c: Include <grub/parser.h>.
31762 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31763 of `grub_split_cmdline'.
31764
31765 * normal/completion.c: Include <grub/parser.h>.
31766 (cmdline_state): New variable.
31767 (iterate_dir): End the filename with a quote depending on the
31768 command line state.
31769 (get_state): new function.
31770 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31771 split the arguments and determine the current argument. When the
31772 argument string is not quoted, escape all spaces.
31773
6d8f4b0e 317742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31775
31776 * normal/sparc64/setjmp.S: New file.
31777
15cf03ed 317782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31779
31780 * include/grub/sparc64/libgcc.h: New file.
31781 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31782 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31783 normal/sparc64/setjmp.c.
31784
03e8661a 317852005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31786
31787 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31788 * kern/sparc64/cache.S: New file.
31789 * kern/sparc64/cache.c: Removed.
31790 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31791 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31792 -mtune=ultrasparc.
31793 (COMMON_LDFLAGS): Add -melf64_sparc.
31794 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31795 (grubof_SOURCES): Use cache.S instead of cache.c.
31796 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31797 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31798 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31799 commented though.
31800 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31801 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31802 (linux_mod_CFLAGS): Commented out.
31803 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31804 out because module isn't built.
31805 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31806 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31807 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31808 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31809 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31810 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31811 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31812 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31813 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31814 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31815 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31816 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31817 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31818 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31819
34eeec8a 318202005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31821
31822 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31823 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31824 longer, because HFS should not be used on PC.
31825
708367a3 318262005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31827
31828 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31829 consistently within the loop.
31830
6fa1251a 318312005-10-15 Marco Gerards <mgerards@xs4all.nl>
31832
31833 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31834 directory can not be read.
31835
4801580b 318362005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31837
31838 * configure.ac (AC_INIT): Increase the version number to 1.91.
31839
31840 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31841 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31842 term/i386/pc/serial.c.
31843
219ad426 318442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31845
31846 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31847 file size must be permitted.
31848
31849 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31850 between %ah and %al.
31851
688e5699 318522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31853
31854 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31855 grub_uint64_t.
31856 Call the hook with a NUL-terminated filename.
31857 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31858 grub_cpu_to_be32.
31859
31860 * kern/term.c (cursor_state): New variable.
31861 (grub_term_set_current): Reset the cursor state on a new
31862 terminal.
31863 (grub_setcursor): Rewritten to use CURSOR_STATE.
31864 (grub_getcursor): New function.
31865
31866 * include/grub/term.h (grub_getcursor): New prototype.
31867
31868 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31869 integers on ARM. Reported by Timothy Baldwin
31870 <T.E.Baldwin99@members.leeds.ac.uk>.
31871
bb34586c 318722005-10-11 Marco Gerards <mgerards@xs4all.nl>
31873
31874 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31875 allocated.
31876 (grub_sfs_dir): Likewise.
31877
9a909877 318782005-10-09 Marco Gerards <mgerards@xs4all.nl>
31879
31880 Add support for the SFS filesystem.
31881
31882 * fs/sfs.c: New file.
31883
31884 * DISTLIST: Added `fs/sfs.c'.
31885
31886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31887 (grub_probefs_SOURCES): Likewise.
31888 (grub_emu_SOURCES): Likewise.
31889 (pkgdata_MODULES): Add `sfs.mod'.
31890 (sfs_mod_SOURCES): New variable.
31891 (sfs_mod_CFLAGS): Likewise.
31892 (sfs_mod_LDFLAGS): Likewise.
31893
31894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31895 (pkgdata_MODULES): Add `sfs.mod'.
31896 (sfs_mod_SOURCES): New variable.
31897 (sfs_mod_CFLAGS): Likewise.
31898
31899 * util/grub-emu.c (main): Call `grub_sfs_init' and
31900 `grub_sfs_fini'.
31901
31902 * include/grub/fs.h (grub_sfs_init): New prototype.
31903 (grub_sfs_fini): Likewise.
31904
57bdbde3 319052005-10-07 Marco Gerards <mgerards@xs4all.nl>
31906
31907 Add support for the AFFS filesystem.
31908
31909 * fs/affs.c: New file.
31910
31911 * DISTLIST: Added `fs/affs.c'.
31912
31913 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31914 (grub_probefs_SOURCES): Likewise.
31915 (grub_emu_SOURCES): Likewise.
31916 (pkgdata_MODULES): Add `affs.mod'.
31917 (affs_mod_SOURCES): New variable.
31918 (affs_mod_CFLAGS): Likewise.
31919 (affs_mod_LDFLAGS): Likewise.
31920
31921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31922 (pkgdata_MODULES): Add `affs.mod'.
31923 (affs_mod_SOURCES): New variable.
31924 (affs_mod_CFLAGS): Likewise.
31925
31926 * util/grub-emu.c (main): Call `grub_affs_init' and
31927 `grub_affs_fini'.
31928
31929 * include/grub/fs.h (grub_affs_init): New prototype.
31930 (grub_affs_fini): Likewise.
31931
047b67e0 319322005-10-01 Marco Gerards <mgerards@xs4all.nl>
31933
31934 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31935
59b8208a 319362005-10-01 Marco Gerards <mgerards@xs4all.nl>
31937
31938 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31939 `-m32' to CFLAGS.
31940
31941 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31942 linking.
f19dbdb7 31943
59b8208a 31944 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31945 (COMMON_LDFLAGS): New variable.
31946 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31947 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31948 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31949 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31950 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31951 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31952 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31953 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31954 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31955 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31956 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31957 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31958 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31959 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31960 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31961 variables.
31962 (normal_mod_ASFLAGS): Add `-m32'.
31963
31964 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31965 (grub_host_size_t, grub_host_ssize_t): New types.
31966 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 31967 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 31968 `GRUB_HOST_SIZEOF_VOID_P'.
31969
31970 * include/grub/kernel.h (struct grub_module_header): Type of
31971 member offset changed to `grub_host_off_t'. Type of member size
31972 changed to `grub_host_size_t'.
31973 (struct grub_module_info): Type of member offset changed to
31974 `grub_host_off_t'. Type of member size changed to
31975 `grub_host_size_t'.
31976
b4093103 319772005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31978
31979 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 31980
b4093103 31981 * kern/i386/pc/startup.S (multiboot_header): New label.
31982 (multiboot_entry): Likewise.
31983 (multiboot_trampoline): Likewise.
31984
31985 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31986 Increased to 0x4A0.
31987
31988 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31989 put parentheses after a question mark.
31990 [!GRUB_UTIL] (my_mod): New variable.
31991
31992 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31993
b2499b29 319942005-09-28 Marco Gerards <mgerards@xs4all.nl>
31995
31996 Adds support for the XFS filesystem. Btrees are not supported
31997 yet.
31998
31999 * fs/xfs.c: New file.
32000
32001 * DISTLIST: Added `fs/xfs.c'.
32002
32003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
32004 (grub_probefs_SOURCES): Likewise.
32005 (grub_emu_SOURCES): Likewise.
32006 (pkgdata_MODULES): Add `xfs.mod'.
32007 (xfs_mod_SOURCES): New variable.
32008 (xfs_mod_CFLAGS): Likewise.
32009
32010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
32011 (pkgdata_MODULES): Add `xfs.mod'.
32012 (xfs_mod_SOURCES): New variable.
32013 (xfs_mod_CFLAGS): Likewise.
32014
32015 * util/grub-emu.c (main): Call `grub_xfs_init' and
32016 `grub_xfs_fini'.
32017
32018 * include/grub/fs.h (grub_xfs_init): New prototype.
32019 (grub_xfs_fini): Likewise.
32020
f19dbdb7 32021
83d37a62 320222005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
32023
32024 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
32025 color modes, allow greater than 16 colors to be configured as
32026 a default palette.
32027
47d2d65e 320282005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32029
32030 * normal/completion.c (complete_arguments): Add the qualifier
32031 const into OPTIONS.
32032
32033 From Omniflux <omniflux+lists@omniflux.com>:
32034 * include/grub/terminfo.h: New file.
32035 * include/grub/tparm.h: Likewise.
32036 * include/grub/i386/pc/serial.h: Likewise.
32037 * term/terminfo.c: Likewise.
32038 * term/tparm.c: Likewise.
32039 * term/i386/pc/serial.c: Likewise.
32040 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
32041 serial.mod.
32042 (terminfo_mod_SOURCES): New variable.
32043 (terminfo_mod_CFLAGS): Likewise.
32044 (serial_mod_SOURCES): Likewise.
32045 (serial_mod_CFLAGS): Likewise.
32046
48b671ff 320472005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
32048
32049 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
32050 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
32051 and kern/powerpc/ieee1275/cmain.c, respectively.
32052
32053 * boot/powerpc/ieee1275/crt0.S: Moved to ...
32054 * kern/powerpc/ieee1275/crt0.S: ... here.
32055
32056 * boot/powerpc/ieee1275/cmain.c: Moved to ...
32057 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 32058
48b671ff 32059 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
32060 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
32061 instead of boot/powerpc/ieee1275/crt0.S and
32062 boot/powerpc/ieee1275/cmain.c, respectively.
32063
32064 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
32065 sectors. It was not used anyway.
32066
09fc77a7 320672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
32068
32069 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
32070 `unused parameter' warning.
32071
003789c7 320722005-08-30 Hollis Blanchard <hollis@penguinppc.org>
32073
32074 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
32075 function.
32076 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
32077 getcharwidth.
32078
67f44c86 320792005-08-28 Marco Gerards <metgerards@student.han.nl>
32080
32081 * include/grub/normal.h (enum grub_completion_type): Added
32082 `GRUB_COMPLETION_TYPE_ARGUMENT'.
32083
32084 * normal/cmdline.c (print_completion): Handle
32085 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
32086 * normal/menu_entry.c (store_completion): Likewise.
32087
32088 * normal/completion.c (complete_arguments): New function.
32089 (grub_normal_do_completion): Call `complete_arguments' when the
32090 current words start with a dash.
32091
0b5abe02 320922005-08-27 Marco Gerards <metgerards@student.han.nl>
32093
32094 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
32095 `gzio.mod' instead of `io.mod').
32096
d9864ee1 320972005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
32098
32099 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
32100 (DISTDIRS): Added io and video.
32101 Rewrite the search routine to make an output consistently.
32102
32103 * DISTLIST: Added conf/sparc64-ieee1275.mk,
32104 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
32105 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
32106 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
32107 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
32108 util/powerpc/ieee1275/misc.c.
f19dbdb7 32109
d9864ee1 32110 * include/grub/gzio.h: New file.
32111 * io/gzio.c: Likewise.
f19dbdb7 32112
d9864ee1 32113 * kern/file.c (grub_file_close): Call grub_device_close only if
32114 FILE->DEVICE is not NULL.
32115
32116 * include/grub/mm.h [!NULL] (NULL): New macro.
32117
32118 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
32119
32120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
32121 (pkgdata_MODULES): Added gzio.mod.
32122 (gzio_mod_SOURCES): New variable.
32123 (gzio_mod_CFLAGS): Likewise.
32124
32125 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
32126 (pkgdata_MODULES): Added gzio.mod.
32127 (gzio_mod_SOURCES): New variable.
32128 (gzio_mod_CFLAGS): Likewise.
32129
32130 * commands/cat.c: Include grub/gzio.h.
32131 (grub_cmd_cat): Use grub_gzfile_open instead of
32132 grub_file_open.
f19dbdb7 32133
d9864ee1 32134 * commands/cmp.c: Include grub/gzio.h.
32135 (grub_cmd_cmp): Use grub_gzfile_open instead of
32136 grub_file_open.
32137
32138 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
32139 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
32140 grub_file_open.
32141 (grub_rescue_cmd_module): Likewise.
32142
fa46f4b5 321432005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
32144
32145 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
32146 kern/sparc64/ieee1275/init.c because it contains _start.
32147 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
32148
e9211b5d 321492005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
32150
32151 * configure.ac: Add support for sparc64 host with ieee1275
32152 firmware.
32153 * configure: Generated from configure.ac.
32154 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
32155 instead of int.
32156 (grub_ofdisk_read): Likewise.
32157 (grub_ofdisk_open): Use %p to print pointer values, and cast the
32158 pointers as (void *) to remove a warning.
32159 (grub_ofdisk_close): Likewise.
32160 (grub_ofdisk_read): Likewise.
32161 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
32162 returns, so make it return void to remove a warning.
32163 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
32164 Corresponding prototype change.
32165 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
32166 values, and cast the pointers as (void *) to remove a warning.
32167 (grub_mm_dump): Likewise.
32168 * conf/sparc64-ieee1275.mk: New file.
32169 * conf/sparc64-ieee1275.rmk: Likewise.
32170 * include/grub/sparc64/setjmp.h: Likewise.
32171 * include/grub/sparc64/types.h: Likewise.
32172 * include/grub/sparc64/ieee1275/console.h: Likewise.
32173 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32174 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32175 * include/grub/sparc64/ieee1275/time.h: Likewise.
32176 * kern/sparc64/cache.c: Likewise.
32177 * kern/sparc64/dl.c: Likewise.
32178 * kern/sparc64/ieee1275/init.c: Likewise.
32179 * kern/sparc64/ieee1275/openfw.c: Likewise.
32180
385c6a92 321812005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32182
32183 * util/console.c (grub_ncurses_putchar): If C is greater than
32184 0x7f, set C to a question mark.
32185 (grub_ncurses_getcharwidth): New function.
32186 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
32187 getcharwidth.
32188
32189 * normal/menu.c (print_entry): Made aware of Unicode. First,
32190 convert TITLE to UCS-4, and predict the cursor position by
32191 grub_getcharwidth.
32192
32193 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
32194 const to SRC.
32195 * kern/misc.c (grub_utf16_to_utf8): Likewise.
32196
16ccb8b1 321972005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32198
32199 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
32200 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32201 grub_strcat.
32202
32203 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
32204 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32205 grub_strcpy and grub_strlen. Take it into account that a space
32206 character is inserted as a delimiter.
32207
6a85ce79 322082005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32209
32210 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 32211 invalid magic in the error.
6a85ce79 32212
32213 * commands/search.c: New file.
f19dbdb7 32214
6a85ce79 32215 * util/grub-emu.c (main): Call grub_search_init and
32216 grub_search_fini.
32217
32218 * kern/rescue.c (grub_rescue_print_disks): Removed.
32219 (grub_rescue_print_devices): New function.
32220 (grub_rescue_cmd_ls): Use grub_device_iterate with
32221 grub_rescue_print_devices instead of grub_disk_dev_iterate with
32222 grub_rescue_print_disks.
32223
32224 * kern/partition.c (grub_partition_iterate): Return the result of
32225 PARTMAP->ITERATE instead of GRUB_ERRNO.
32226
32227 * kern/device.c: Include grub/partition.h.
32228 (grub_device_iterate): New function.
32229
32230 * include/grub/partition.h (grub_partition_iterate): Return int
32231 instead of grub_err_t.
32232
32233 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
32234 prototype.
32235 [GRUB_UTIL] (grub_search_fini): Likewise.
32236
32237 * include/grub/device.h (grub_device_iterate): New prototype.
32238
32239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32240 commands/search.c.
32241 (pkgdata_MODULES): Added search.mod.
32242 (search_mod_SOURCES): New variable.
32243 (search_mod_CFLAGS): Likewise.
32244
32245 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
32246 (pkgdata_MODULES): Added search.mod.
32247 (search_mod_SOURCES): New variable.
32248 (search_mod_CFLAGS): Likewise.
32249
32250 * commands/ls.c (grub_ls_list_disks): Renamed to ...
32251 (grub_ls_list_devices): ... this, and use grub_device_iterate.
32252 All callers changed.
32253
32254 * DISTLIST: Added commands/search.c.
32255
ef095434 322562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32257
32258 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
32259 conversion.
32260 (grub_getcharwidth): New function.
32261
32262 * kern/misc.c (grub_utf8_to_ucs4): New function.
32263
32264 * include/grub/term.h (struct grub_term): Added a new member
32265 "getcharwidth".
32266 (grub_getcharwidth): New prototype.
32267
32268 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
32269
32270 * term/i386/pc/console.c (map_char): New function. Segregated from
32271 grub_console_putchar.
32272 (grub_console_putchar): Use map_char.
32273 (grub_console_getcharwidth): New function.
32274 (grub_console_term): Specified grub_console_getcharwidth as
32275 getcharwidth.
32276
32277 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
32278 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
32279
32280 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
32281 GRUB_ERRNO.
32282 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
32283 on grub_strtoul completely.
32284 (write_char): Declare local variables in the beginning of the
32285 function.
32286 (grub_vesafb_getcharwidth): New function.
32287 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
32288 getcharwidth.
32289
1f0a95e4 322902005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
32291
32292 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
32293 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
32294 commands/i386/pc/vbetest.c.
32295
32296 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
32297 call grub_vbe_get_controller_info again, because the returned
32298 information is volatile.
32299 (grub_vbe_set_video_mode): Mostly rewritten.
32300 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
32301 grub_vbe_status_t correctly.
32302 (grub_vbe_get_video_mode_info): Likewise.
32303 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
32304 several if statements.
32305
32306 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
32307 * commands/i386/pc/vbeinfo.c: ... this.
32308
32309 * commands/i386/pc/vbe_test.c: Renamed to ...
32310 * commands/i386/pc/vbetest.c: ... this.
32311
32312 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
32313 ...
32314 (grub_cmd_vbeinfo): ... this. Save video modes before
32315 iterating. Skip a video mode, if it is not available, not enough
32316 information is given or it is monochrome. Show the memory
32317 model. Leave the interpretation of MODEVAR to grub_strtoul
32318 completely.
32319 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
32320 (GRUB_MOD_FINI): Likewise.
32321
32322 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
32323 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
32324 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
32325 duplicated grub_env_get. Leave the interpretation of MODEVAR to
32326 grub_strtoul completely.
32327 (real2pm): Removed.
32328 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
32329 (GRUB_MOD_FINI): Likewise.
32330
32331 * normal/misc.c: Include grub/mm.h.
32332
32333 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
32334 vbe_list_modes with vbetest.mod and vbeinfo.mod.
32335 (vbe_list_modes_mod_SOURCES): Removed.
32336 (vbe_list_modes_mod_CFLAGS): Likewise.
32337 (vbe_test_mod_SOURCES): Likewise.
32338 (vbe_test_mod_CFLAGS): Likewise.
32339 (vbeinfo_mod_SOURCES): New variable.
32340 (vbeinfo_mod_CFLAGS): Likewise.
32341 (vbetest_mod_SOURCES): Likewise.
32342 (vbetest_mod_CFLAGS): Likewise.
32343
992ffbbe 323442005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32345
32346 * normal/misc.c: New file.
32347
32348 * DISTLIST: Added normal/misc.c.
f19dbdb7 32349
992ffbbe 32350 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32351 DISK to HOOK. Call HOOK with DISK.
32352 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32353 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32354 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32355
32356 * normal/menu_entry.c (struct screen): Added a new member
32357 "completion_shown".
32358 (completion_buffer): New global variable.
32359 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32360 (store_completion): New function.
32361 (complete): Likewise.
32362 (clear_completions): Likewise.
32363 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32364 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32365 a tab, call complete.
32366
32367 * normal/completion.c (disk_dev): Removed.
32368 (print_simple_completion): Likewise.
32369 (print_partition_completion): Likewise.
32370 (print_func): New global variable.
32371 (add_completion): Do not take the arguments WHAT or PRINT any
32372 longer. Added a new argument TYPE. Instead of printing directly,
32373 call PRINT_FUNC if not NULL.
32374 All callers changed.
32375 (complete_device): Use a local variable DEV instead of
32376 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32377 (grub_normal_do_completion): Take a new argument HOOK. Do not
32378 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32379 empty string, return NULL instead.
32380 All callers changed.
32381
32382 * normal/cmdline.c (print_completion): New function.
32383
32384 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32385 to HOOK.
32386 All callers changed.
32387
32388 * kern/disk.c (grub_print_partinfo): Removed.
32389
32390 * include/grub/partition.h (struct grub_partition_map): Add a new
32391 argument DISK into HOOK of ITERATE.
32392 (grub_partition_iterate): Add a new argument DISK to HOOK.
32393
32394 * include/grub/normal.h (enum grub_completion_type): New enum.
32395 (grub_completion_type_t): New type.
32396 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32397 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32398 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32399 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32400 (grub_normal_do_completion): Added a new argument HOOK.
32401 (grub_normal_print_device_info): New prototype.
32402
32403 * include/grub/disk.h (grub_print_partinfo): Removed.
32404
32405 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32406 (normal_mod_SOURCES): Likewise.
32407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32408 (normal_mod_SOURCES): Likewise.
32409
32410 * commands/ls.c (grub_ls_list_disks): Use
32411 grub_normal_print_device_info instead of grub_print_partinfo. Free
32412 PNAME.
32413 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32414 duplicating the code.
32415
0bd41162 324162005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32417
32418 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 32419 follow GCS more precisely.
32420 * commands/i386/pc/vbe_test.c: Likewise.
32421 * include/grub/i386/pc/vbe.h: Likewise.
32422 * term/i386/pc/vesafb.c: Likewise.
32423 * video/i386/pc/vbe.c: Likewise.
0bd41162 32424
6323696a 324252005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32426
32427 * DISTLIST: Added term/i386/pc/vesafb.c
32428 DISTLIST: Added video/i386/pc/vbe.c
32429 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32430 DISTLIST: Added commands/i386/pc/vbe_test.c.
32431 * commands/i386/pc/vbe_list_modes.c: New file.
32432 * commands/i386/pc/vbe_test.c: Likewise.
32433 * term/i386/pc/vesafb.c: Likewise.
32434 * video/i386/pc/vbe.c: Likewise.
32435 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32436 (grub_vbe_probe) Added prototype.
32437 (grub_vbe_set_video_mode) Likewise.
32438 (grub_vbe_get_video_mode) Likewise.
32439 (grub_vbe_get_video_mode_info) Likewise.
32440 (grub_vbe_set_pixel_rgb) Likewise.
32441 (grub_vbe_set_pixel_index) Likewise.
32442 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32443 (pkgdata_MODULES): Added vesafb.mod.
32444 (pkgdata_MODULES): Added vbe_list_modes.mod.
32445 (pkgdata_MODULES): Added vbe_test.mod.
32446 (vbe_mod_SOURCES): Added.
32447 (vbe_mod_CFLAGS): Likewise.
32448 (vesafb_mod_SOURCES): Likewise.
32449 (vesafb_mod_CFLAGS): Likewise.
32450 (vbe_list_modes_mod_SOURCES): Likewise.
32451 (vbe_list_modes_mod_CFLAGS): Likewise.
32452 (vbe_test_mod_SOURCES): Likewise.
32453 (vbe_test_mod_CFLAGS): Likewise.
32454
0a74e62f 324552005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32456
0a74e62f 32457 * normal/command.c (grub_command_execute): If INTERACTIVE is
32458 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32459 CMDLINE. Disable the pager if INTERACTIVE is true.
32460 All callers are changed.
32461
32462 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32463 before reading a config file.
32464 * normal/main.c (read_config_file): Even if a command is not
32465 found, register it if it is within an entry.
32466
32467 * util/grub-emu.c: Include sys/types.h and unistd.h.
32468 (options): Added --hold.
32469 (struct arguments): Added a new member "hold".
32470 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32471 missing.
32472 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32473 cleared by a debugger, if it is not zero.
32474
32475 * include/grub/normal.h (grub_command_execute): Add an argument
32476 INTERACTIVE.
32477
e51f85ae 324782005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32479
32480 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32481
e9c6f39b 324822005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32483
32484 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32485 program with another one, because the old one didn't detect a bug
32486 in gcc-3.4. Always use regparm 2, because the new test is still
32487 not enough for gcc-4.0. Someone must investigate a simple test
32488 case which detects a bug in gcc-4.0.
32489
8de3495c 324902005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32491
32492 * DISTLIST: Added normal/completion.c.
32493
32494 * normal/completion.c: New file.
f19dbdb7 32495
8de3495c 32496 * term/i386/pc/console.c (grub_console_getwh): New function.
32497 (grub_console_term): Assign grub_console_getwh to getwh.
32498
32499 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32500 function is defined in normal/completion.c as
32501 grub_normal_do_completion.
32502 (grub_cmdline_get): Use grub_normal_do_completion instead of
32503 grub_tab_complete.
32504
32505 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32506 returns non-zero, otherwise return 0.
32507 (grub_partition_iterate): First, probe the partition map. Then,
32508 call ITERATE only for this partition map.
32509
32510 * kern/misc.c (grub_strncmp): Rewritten.
32511
32512 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32513 returns non-zero. Otherwise return 0.
32514
32515 * include/grub/partition.h (grub_partition_map_iterate): Return
32516 int instead of void.
32517
32518 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32519
32520 * include/grub/misc.h (grub_strncmp): Change the type of N to
32521 grub_size_t.
32522
32523 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32524 of void.
32525
32526 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 32527 unsigned explicitly before comparing it with I.
8de3495c 32528
32529 * kern/main.c (grub_env_write_root): Add the attribute unused into
32530 VAR.
32531
32532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32533 normal/completion.c.
32534 (normal_mod_SOURCES): Likewise.
32535 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32536 (normal_mod_SOURCES): Likewise.
32537
32538 * normal/command.c (grub_iterate_commands): If ITERATE returns
32539 non-zero, return one immediately.
32540
e85e144b 325412005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32542
32543 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32544 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32545 descriptions.
32546 (grub_vbe_get_controller_info): New function.
32547 (grub_vbe_get_mode_info): Likewise.
32548 (grub_vbe_set_mode): Likewise.
32549 (grub_vbe_get_mode): Likewise.
32550 (grub_vbe_set_memory_window): Likewise.
32551 (grub_vbe_get_memory_window): Likewise.
32552 (grub_vbe_set_scanline_length): Likewise.
32553 (grub_vbe_get_scanline_length): Likewise.
32554 (grub_vbe_set_display_start): Likewise.
32555 (grub_vbe_get_display_start): Likewise.
32556 (grub_vbe_set_palette_data): Likewise.
32557 * include/grub/i386/pc/vbe.h: New file.
32558
c46153d2 325592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32560
32561 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32562 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32563 * DISTLIST: Likewise.
32564 * kern/ieee1275/of.c: Moved to ...
32565 * kern/ieee1275/ieee1275.c: ... here.
32566
0cb90c45 325672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32568
32569 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32570 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32571 Pass 0 as `end' parameter to grub_strtoul().
32572
a19fb360 325732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32574
32575 * include/grub/powerpc/ieee1275/console.h: Do not include
32576 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32577 ifdef.
32578 (grub_console_cur_color): Remove i386-specific prototype.
32579 (grub_console_real_putchar): Likewise.
32580 (grub_console_checkkey): Likewise.
32581 (grub_console_getkey): Likewise.
32582 (grub_console_getxy): Likewise.
32583 (grub_console_gotoxy): Likewise.
32584 (grub_console_cls): Likewise.
32585 (grub_console_setcursor): Likewise.
32586 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32587 Include <grub/machine/console.h>.
32588 * term/ieee1275/ofconsole.c: Likewise.
32589
4ac9bd04 325902005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32591
32592 * Makefile.in (LIBLZO): New variable.
32593
32594 * configure.ac: Check for LZO version 2.
32595
32596 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32597 lzo/lzo1x.h instead of lzo1x.h.
32598
32599 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32600 of -llzo.
32601
32602 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32603 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32604
32605 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32606 copying the data from PARTITION to P.
32607
f4917dfd 326082005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32609
32610 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32611 negative, unload the module.
32612
32613 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32614 map is "pc_partition_map" but not "pc".
32615 (usage): Fix the description. The options are --boot-image and
32616 --core-image but not --boot-file or --core-file.
32617 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32618 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32619 DEFAULT_DIRECTORY.
32620
32621 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32622 --core-file. Specify INSTALL_DEVICE as an argument.
32623
32624 * util/console.c: Include config.h.
32625 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32626 [HAVE_NCURSES_H]: Include ncurses.h.
32627 [HAVE_CURSES_H]: Include curses.h.
32628 [!A_NORMAL] (A_NORMAL): Defined as zero.
32629 [!A_STANDOUT] (A_STANDOUT): Likewise.
32630
32631 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32632 -lncurses.
32633 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32634
32635 * configure.ac: Check for curses libraries and headers.
32636
32637 * Makefile.in (LIBCURSES): New variable.
32638
32639 * genmk.rb (Script::rule): Set the executable bits.
32640
32641 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32642 name of the PC partition map is "pc_partition_map" but not "pc".
32643
0e143073 326442005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32645
32646 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32647 (modules): Likewise.
32648 (usage): Added descriptions for --modules and --grub-probefs.
32649 Handle --modules and --grub-probefs. Save the arguments in MODULES
32650 and GRUB_PROBEFS, respectively.
32651 Auto-detect a filesystem module against GRUBDIR. If the result is
32652 empty and modules are not specified explicitly, abort the
32653 installation. Add the result to MODULES.
32654
32655 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32656 disk/powerpc/ieee1275/ofdisk.c,
32657 include/grub/powerpc/ieee1275/init.h and
32658 term/powerpc/ieee1275/ofconsole.c.
32659 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32660 term/ieee1275/ofconsole.c.
32661
32662 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32663
32664 * COPYING: Upgraded to the latest version. Only the address of the
32665 FSF office has changed.
f19dbdb7 32666
efd6e6d5 326672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32668
32669 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32670 kern/ieee1275.c with kern/ieee1275/of.c.
32671
32672 * kern/ieee1275.c: Moved to ...
32673 * kern/ieee1275/of.c: ... here.
32674
8ceafda2 326752005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32676
32677 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 32678 readability.
8ceafda2 32679
32680 * config.guess: Updated to the latest version from gnulib.
32681 * config.sub: Likewise.
32682 * install.sh: Likewise.
32683 * mkinstalldirs: Likewise.
32684
32685 * include/grub/console.h: Removed. This file is arch-specific. Do
32686 not put this in include/grub.
32687
32688 * include/grub/i386/pc/console.h: Resurrected.
32689
32690 * util/console.c: Include grub/machine/console.h instead of
32691 grub/console.h.
32692 * util/grub-emu.c: Likewise.
32693
267f6cd9 326942005-08-04 Marco Gerards <metgerards@student.han.nl>
32695
32696 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32697 hardcoded value.
f19dbdb7 32698
267f6cd9 32699 From Vincent Pelletier <subdino2004@yahoo.fr>
32700 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32701 Redefined to use grub_getwh.
32702 (grub_term): New member named getwh.
32703 (grub_getwh): New prototype.
32704 * kern/term.c (grub_getwh): New function.
32705 * term/i386/pc/console.c (grub_console_getwh): New function.
32706 (grub_console_term): New member `getwh'.
32707 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32708 (grub_vga_term): New member `getwh'.
0b5abe02 32709 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 32710 grub_ssize_t.
32711 (grub_ofconsole_getw): New function.
32712 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32713 (grub_ofconsole_term): New field named getwh and new initial
32714 value.
32715
3be7266d 327162005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32717
32718 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32719 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32720 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32721 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32722 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32723 of <grub/machine/ieee1275.h>.
32724 * commands/ieee1275/reboot.c: Likewise.
32725 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32726 * kern/ieee1275.c: ... to here. All users updated. Change all
32727 parameter structs to use new type `grub_ieee1275_cell_t'.
32728 * term/powerpc/ieee1275/ofconsole.c: Move ...
32729 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32730 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32731 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32732 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32733 to return int.
32734 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32735 Remove unused prototypes. All users updated.
32736 * include/grub/powerpc/ieee1275/console.h: Removed.
32737 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32738 `grub_ieee1275_cell_t'.
32739 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32740 Cast comparisons with -1 to the correct type.
32741 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32742 type to match `grub_ieee1275_entry_fn'.
32743
8b5f3938 327442005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32745
32746 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32747
32748 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32749 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32750 partmap/sun.c.
32751 (grub_probefs_SOURCES): New variable.
32752
32753 * util/i386/pc/grub-probefs.c: New file.
32754
32755 * util/i386/pc/grub-setup.c (main): Call
32756 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32757 grub_hfs_init and grub_jfs_init to initialize the system. Call
32758 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32759 grub_pc_partition_map_fini to finish the system.
32760
ea409713 327612005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32762
32763 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32764 function.
32765 (grub_multiboot_load_elf32): Likewise.
32766 (grub_multiboot_is_elf64): Likewise.
32767 (grub_multiboot_load_elf64): Likewise.
32768 (grub_multiboot_load_elf): Likewise.
32769 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32770 an ELF32 or ELF64 file.
32771 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32772
32773 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32774 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32775 NULL before calling FS->LABEL.
32776 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32777 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32778 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32779 before calling FS->LABEL.
32780
141a288b 327812005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32782
32783 * util/i386/pc/grub-install.in (datadir): New variable.
32784 (libdir): Removed.
32785 (pkgdatadir): New variable.
32786 (pkglibdir): Removed.
32787
0d5f8a54 327882005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32789
32790 * DISTLIST: Added util/i386/pc/grub-install.in.
32791
32792 * util/i386/pc/grub-install.in: New file.
32793
32794 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32795 (grub_install_SOURCES): Likewise.
32796
32797 * genmk.rb: Added support for scripts.
32798 (Script): New class.
32799 (scripts): New variable.
32800
32801 * Makefile.in (install-local): Install sbin_SCRIPTS by
32802 INSTALL_SCRIPT.
32803 (uninstall): Remove sbin_SCRIPTS.
32804
32805 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32806 device, try to get a GRUB device by
32807 grub_util_biosdisk_get_grub_dev.
32808 Free DEST_DEV.
32809
32810 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32811 description for --device-map.
32812
5f968e1e 328132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32814
32815 Change the semantics of variable hooks. They now return strings
32816 instead of error values.
f19dbdb7 32817
5f968e1e 32818 * util/i386/pc/grub-setup.c: Include grub/env.h.
32819 (setup): Use grub_device_set_root instead of grub_env_set.
32820
32821 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32822 grub_env_get instead of grub_device_set_root and
32823 grub_device_get_root, respectively.
32824
32825 * kern/main.c (grub_env_write_root): New function.
32826 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32827 grub_env_set instead of grub_device_set_root.
32828
32829 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32830 many variables.
32831 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32832 rather than calling ENV->WRITE_HOOK afterwards.
32833 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32834 passing a pointer of a pointer.
32835 (grub_register_variable_hook): Change the types of "read_hook" and
32836 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32837 respectively.
32838 Allocate the default empty string on the heap, because this string
32839 may be freed later.
32840
32841 * kern/device.c: Include grub/env.h.
32842 (grub_device_set_root): Removed.
32843 (grub_device_get_root): Likewise.
32844 (grub_device_open): Use grub_env_get instead of
32845 grub_device_get_root.
32846
32847 * include/grub/env.h (grub_env_read_hook_t): New type.
32848 (grub_env_write_hook_t): Likewise.
32849 (grub_env_var): Change the types of "read_hook" and "write_hook"
32850 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32851 (grub_register_variable_hook): Likewise.
32852
32853 * include/grub/device.h (grub_device_set_root): Removed.
32854 (grub_device_set_root): Likewise.
32855
32856 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32857 make sure that DIRNAME terminates with '/', so that
32858 grub_fat_find_dir will fail if PATH is not a directory.
32859
32860 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32861 from DIRNAME.
32862 Use the qualifier auto for print_files and print_files_long.
32863 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32864 as a regular file.
32865 Put a newline only if there is no error.
32866 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32867 used.
32868
896f0afd 328692005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32870
32871 * kern/partition.c (grub_partition_probe): Initialize PART to
32872 NULL. Otherwise, when no partition map is registered, this returns
32873 a garbage.
32874
b28b81b2 328752005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32876
32877 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32878 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32879 valid.
32880
5f3607e0 328812005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32882
32883 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32884 information on each device, if it does not have partitions. Print
32885 "Device" instead of "Disk", because this function is not specific
32886 to disk devices.
32887
32888 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32889 static to ensure that it is put on the memory rather than a
32890 register.
32891
502c87e8 328922005-07-17 Yoshinori Okuji <okuji@enbug.org>
32893
32894 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32895 (grub_cat_init): Likewise.
32896 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32897 (options): Likewise.
32898 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32899 (grub_configfile_init): Likewise.
32900 * font/manager.c (GRUB_MOD_INIT): Likewise.
32901 * commands/help.c (GRUB_MOD_INIT): Likewise.
32902 (grub_help_init): Likewise.
32903 * normal/command.c (grub_command_init): Likewise.
32904 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32905 * disk/loopback.c (grub_loop_init): Likewise.
32906 (GRUB_MOD_INIT): Likewise.
32907 * commands/ls.c (grub_ls_init): Likewise.
32908 (GRUB_MOD_INIT): Likewise.
32909 (options): Likewise.
32910 * commands/boot.c (grub_boot_init): Likewise.
32911 (GRUB_MOD_INIT): Likewise.
32912 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32913 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32914 (GRUB_MOD_INIT): Likewise.
32915 * commands/cmp.c (grub_cmp_init): Likewise.
32916 (GRUB_MOD_INIT): Likewise.
32917
32918 * normal/arg.c: Use <> instead of "" to include header files.
32919 (SHORT_ARG_HELP): New macro.
32920 (SHORT_ARG_USAGE): Likewise.
32921 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32922 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32923 descriptions.
32924 (find_short): Check if C is 'h' or 'u' explicitly.
32925 (grub_arg_show_help): Use space characters instead of tabs. Treat
32926 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32927 are shown with --help and --usage only if they are not used for
32928 the command itself.
32929 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32930 'h' and 'u'.
32931
32932 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32933 const into "longarg". Change the type of "shortarg" to int.
32934
f806d18e 329352005-07-17 Yoshinori Okuji <okuji@enbug.org>
32936
32937 * boot/i386/pc/boot.S (boot_drive_check): New label.
32938
32939 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32940 macro.
32941
32942 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32943 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32944
e293232b 329452005-07-17 Yoshinori Okuji <okuji@enbug.org>
32946
32947 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32948 When turning off Gate A20, skip the check and return immediately,
32949 because this is not fatal usually.
32950
ebedfd00 329512005-07-17 Yoshinori Okuji <okuji@enbug.org>
32952
32953 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32954 be 0x7C00 instead of 0x8000.
32955
32956 * boot/i386/pc/pxeboot.S: Rewritten.
32957
32958 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32959 EXT_C.
32960 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32961 result.
32962
654fc59f 329632005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32964
32965 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32966 robustness. This routine now supports a BIOS call and System
32967 Control Port A to modify the gate A20.
32968
32969 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32970 Increased to 0x440.
32971
09f9923f 329722005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32973
32974 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32975 device path and resulting ihandle.
32976 (grub_ofdisk_close): dprintf the ihandle being closed.
32977 (grub_ofdisk_read): dprintf function parameters.
32978 * kern/mm.c (grub_mm_init_region): Likewise.
32979 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32980 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32981 size, and boot arguments.
32982 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32983 before loading into memory.
32984 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32985 before loading into memory.
32986
7ef504d8 329872005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32988
32989 * kern/mm.c: Added much documentation.
32990 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32991 8, set to 5 instead of 8.
32992
e0f050c2 329932005-07-10 Yoshinori Okuji <okuji@enbug.org>
32994
32995 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32996
32997 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32998 (grub_mkdevicemap_SOURCES): New variable.
32999
33000 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
33001 lib/device.c of GRUB Legacy.
33002
7224189a 330032005-07-10 Yoshinori Okuji <okuji@enbug.org>
33004
33005 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
33006 instead of PATH is NULL.
33007
68c864eb 330082005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
33009
33010 * commands/cmp.c (BUFFER_SIZE): New macro.
33011 (grub_cmd_cmp): Close the right file at the right time. Compare
33012 only data just read. Don't report files of different size as
33013 identical. Dynamically allocate buffers. Move variable
33014 declarations at the beginning of function.
33015
e6f3e614 330162005-07-09 Yoshinori Okuji <okuji@enbug.org>
33017
33018 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
33019 reverse.
33020
f8f1559a 330212004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
33022
33023 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
33024 when backspace is pressed at beginning of line.
33025
39c9d41d 330262005-07-03 Yoshinori Okuji <okuji@enbug.org>
33027
33028 * DISTLIST: Added genfslist.sh.
33029
33030 * normal/main.c (fs_module_list): New variable.
33031 (autoload_fs_module): New function.
33032 (read_fs_list): Likewise.
33033 (grub_normal_execute): Call read_fs_list.
33034
33035 * kern/fs.c (grub_fs_autoload_hook): New variable.
33036 (grub_fs_probe): Added support for auto-loading.
33037
33038 * include/grub/normal.h (struct grub_fs_module_list): New struct.
33039 (grub_fs_module_list_t): New type.
33040
33041 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
33042 (grub_fs_autoload_hook): New prototype.
33043
33044 * genfslist.sh: New file.
f19dbdb7 33045
39c9d41d 33046 * genmk.rb: Added a rule to generate a filesystem list.
33047
121c1d83 330482005-06-30 Marco Gerards <metgerards@student.han.nl>
33049
33050 * configure.ac: Fix the test for cross-compiling.
33051
33052 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
33053 define GRUB_UTIL anymore.
33054
33055 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
33056 so this function works on other systems than just big endian.
33057 (load_modules): Likewise.
33058 (add_segments): Likewise.
33059
e75d76e1 330602005-06-23 Hollis Blanchard <hollis@penguinppc.org>
33061
33062 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
33063 contains `l' modifier, get a long from va_arg().
33064
50b5a0a7 330652005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
33066
33067 * kern/mm.c (grub_free): If the next free block which is being
33068 merged is the first free block, set the first block to the block
33069 being freed.
33070 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
33071
89371b20 330722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
33073
33074 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
33075 `grub_ieee1275_chosen'.
33076
168d6e58 330772005-05-08 Hollis Blanchard <hollis@penguinppc.org>
33078
33079 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
33080 (grub_ieee1275_chosen): New variable.
33081 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
33082 `chosen'.
33083 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
33084 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33085 Rename first argument to `phandle' for consistency.
33086 (grub_ieee1275_get_property_length): Likewise.
33087 (grub_ieee1275_next_property): Likewise. Change type of first argument
33088 to grub_ieee1275_phandle_t.
33089 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
33090 Move export next to declaration.
33091 (grub_ieee1275_chosen): New variable.
33092 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
33093 Correct cosmetic typo.
33094 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
33095 `grub_ieee1275_chosen'.
33096 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
33097 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
33098 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
33099 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
33100 `grub_ieee1275_chosen'.
33101
ca5baa3f 331022005-05-10 Hollis Blanchard <hollis@penguinppc.org>
33103
33104 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
33105 /chosen/bootargs.
33106 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
33107 /chosen/bootargs as "variable=value" pairs.
33108
708b345f 331092005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
33110
33111 * include/grub/misc.h (grub_dprintf): New macro.
33112 (grub_real_dprintf): New prototype.
33113 (grub_strword): Likewise.
33114 (grub_iswordseparator): Likewise.
33115 * kern/misc.c (grub_real_dprintf): New function.
33116 (grub_strword): Likewise.
33117 (grub_iswordseparator): Likewise.
33118
f4c5e67c 331192005-04-30 Hollis Blanchard <hollis@penguinppc.org>
33120
33121 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
33122 (roundup): Remove macro.
33123 (grub_ieee1275_flags): Make static.
33124 (grub_ieee1275_realmode): Remove.
33125 (grub_ieee1275_test_flag): New function.
33126 (grub_ieee1275_set_flag): Likewise.
33127 (find_options): Rename to `grub_ieee1275_find_options'; update
33128 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
33129 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
33130 (cmain): New prototype.
33131 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
33132 `grub_ieee1275_flags' directly.
33133 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
33134 machine/biosdisk.h.
33135 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
33136 Don't include grub/machine/init.h.
33137 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
33138 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33139 Remove prototype.
33140 (grub_ieee1275_realmode): Likewise.
33141 (grub_ieee1275_flag): New enum.
33142 (grub_ieee1275_test_flag): New prototype.
33143 (grub_ieee1275_set_flag): New prototype.
33144 * include/grub/powerpc/ieee1275/init.h: Remove file.
33145 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
33146 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
33147 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
33148 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
33149 comment.
33150 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
33151 `grub_ieee1275_test_flag'.
33152 (grub_ieee1275_encode_devname): Likewise.
33153
ed16607e 331542005-04-21 Hollis Blanchard <hollis@penguinppc.org>
33155
33156 * include/grub/powerpc/ieee1275/ieee1275.h
33157 (grub_ieee1275_encode_devname): New prototype.
33158 (grub_ieee1275_get_filename): Likewise.
33159 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
33160 function.
33161 (grub_set_prefix): Likewise.
33162 (grub_machine_init): Call grub_set_prefix.
33163 * kern/powerpc/ieee1275/openfw.c: Fix typos.
33164 (grub_parse_type): New enum.
33165 (grub_ieee1275_get_devargs): New function.
33166 (grub_ieee1275_get_devname): Likewise.
33167 (grub_ieee1275_parse_args): Likewise.
33168 (grub_ieee1275_get_filename): Likewise.
33169 (grub_ieee1275_encode_devname): Likewise.
33170
be369920 331712005-03-30 Marco Gerards <metgerards@student.han.nl>
33172
33173 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
33174 `grub_loader_unset'.
33175
a5ce3a4a 331762005-03-26 Hollis Blanchard <hollis@penguinppc.org>
33177
33178 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
33179 instead of grub_ieee1275_interpret.
33180 (grub_halt_init): New function.
33181 (grub_halt_fini): Likewise.
33182 (GRUB_MOD_INIT): Correct message grammar.
33183 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
33184 instead of grub_ieee1275_interpret.
33185 (grub_reboot_init): New function.
33186 (grub_reboot_fini): Likewise.
33187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
33188 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
33189 util/i386/pc/misc.c with commands/ieee1275/halt.c,
33190 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
33191 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
33192 function.
33193 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
33194 Add prototype.
33195 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
33196 prototype.
33197 (grub_halt): Likewise.
33198 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
33199 (cmain): Remove __attribute__((unused)).
33200 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
33201 (grub_heap_len): Likewise.
33202 (grub_machine_fini): New function.
33203 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
33204 (grub_halt): Likewise.
33205 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
33206 function.
33207 * util/powerpc/ieee1275/misc.c: New file.
33208
0058f771 332092005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33210
33211 * DISTLIST: New file.
33212 * gendistlist.sh: Likewise.
f19dbdb7 33213
0058f771 33214 * Makefile.in (COMMON_DISTFILES): Removed.
33215 (BOOT_DISTFILES): Likewise.
33216 (CONF_DISTFILES): Likewise.
33217 (DISK_DISTFILES): Likewise.
33218 (FS_DISTFILES): Likewise.
33219 (INCLUDE_DISTFILES): Likewise.
33220 (KERN_DISTFILES): Likewise.
33221 (LOADER_DISTFILES): Likewise.
33222 (TERM_DISTFILES): Likewise.
33223 (UTIL_DISTFILES): Likewise.
33224 (DISTFILES): Likewise.
33225 (uninstall): Uninstall files in $(pkgdata_DATA).
33226 (DISTLIST): New target.
33227 (distdir): Use the contents of the file DISTLIST to get a list of
33228 distributed files.
33229
46b3b8a5 332302005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33231
33232 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
33233 descriptor. This is ported from GRUB Legacy.
33234
33235 * gencmdlist.sh: Added an extra semicolon to make it work with
33236 old sed versions. Reported by Robert Bihlmeyer
33237 <robbe@orcus.priv.at>.
33238
5822ff87 332392005-03-08 Yoshinori Okuji <okuji@enbug.org>
33240
33241 Automatic loading of commands is supported.
f19dbdb7 33242
5822ff87 33243 * normal/main.c (read_command_list): New function.
33244 (grub_normal_execute): Call read_command_list.
33245
33246 * normal/command.c (grub_register_command): Return zero or CMD.
33247 Allocate CMD->NAME from the heap.
33248 Initialize CMD->MODULE_NAME to zero.
33249 Find the same name as well. If the same command is found and it is
33250 a dummy command, overwrite members. If it is not a dummy command,
33251 return zero.
33252 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
33253 (grub_command_find): If a dummy command is found, load a module
33254 and retry to find a command only once.
33255
33256 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
33257 make sure that each command is loaded.
33258
33259 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
33260 macro.
33261 (struct grub_command): Remove const from the member `name'.
33262 Add a new member `module_name'.
33263 (grub_register_command): Return grub_command_t.
33264
33265 * commands/help.c (grub_cmd_help): Call grub_command_find to make
33266 sure that each command is loaded.
33267
33268 * genmk.rb (PModule::rule): Specify a module name without the
33269 suffix ".mod" to gencmdlist.sh.
33270
7b1f4b57 332712005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33272
33273 * gencmdlist.sh: New file.
f19dbdb7 33274
7b1f4b57 33275 * genmk.rb (PModule::rule): Generate a rule for a command list.
33276 Clean command.lst.
33277 Generate command.lst from $(COMMANDFILES).
33278
33279 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
33280 (DATA): Added $(pkgdata_DATA).
33281 (install-local): Install files in $(pkgdata_DATA).
33282
062aaf39 332832005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33284
33285 * term/i386/pc/vga.c (debug_command): Removed.
33286 (GRUB_MOD_INIT): Do not register the command "debug".
33287
33288 From Hollis Blanchard:
33289 * commands/configfile.c: New file.
33290 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33291 commands/configfile.c.
33292 (pkgdata_MODULES): Added configfile.mod.
33293 (configfile_mod_SOURCES): New variable.
33294 (configfile_mod_CFLAGS): Likewise.
33295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33296 commands/configfile.c.
33297 (pkgdata_MODULES): Added configfile.mod.
33298 (configfile_mod_SOURCES): New variable.
33299 (configfile_mod_CFLAGS): Likewise.
33300 * util/grub-emu.c (main): Call grub_configfile_init and
33301 grub_configfile_fini.
33302 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
33303 prototype.
33304 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 33305
cee01aa6 333062005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33307
33308 * normal/arg.c (grub_arg_show_help): Do not show the bug report
33309 address.
33310
33311 * commands/help.c (grub_cmd_help): Do not print newlines after
33312 the last command in print_command_help.
33313
93f3a1d8 333142005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33315
33316 * commands/default.h: New file.
33317 * commands/timeout.h: Likewise.
33318 * normal/context.c: Likewise.
f19dbdb7 33319
93f3a1d8 33320 * util/misc.c: Do not include sys/times.h.
33321 Include sys/time.h and grub/machine/time.h.
33322 (grub_get_rtc): Rewritten with gettimeofday.
33323
33324 * util/grub-emu.c (main): Call grub_default_init and
33325 grub_timeout_init before grub_normal_init, and call
33326 grub_timeout_fini and grub_default_fini after grub_main.
33327
33328 * util/console.c (grub_ncurses_checkkey): Return the read
33329 character or -1.
33330
33331 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
33332 timeouts.
33333
33334 * normal/main.c (read_config_file): Push MENU. If this fails,
33335 print an error and wait for a user input.
33336 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
33337 If a menu is empty or an error occurs, pop MENU.
33338 (grub_normal_execute): Pop and free MENU after grub_menu_run
33339 returns.
33340
33341 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
33342
33343 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
33344 include time.h.
33345 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33346 without GRUB_UTIL.
33347 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33348 time.h.
33349 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33350 without GRUB_UTIL.
33351
33352 * include/grub/normal.h (struct grub_menu_list): New struct.
33353 (grub_menu_list_t): New type.
33354 (struct grub_context): New struct.
33355 (grub_context_t): New type.
33356 (grub_register_command): Got rid of EXPORT_FUNC.
33357 (grub_unregister_command): Likewise.
33358 (grub_context_get): New prototype.
33359 (grub_context_get_current_menu): Likewise.
33360 (grub_context_push_menu): Likewise.
33361 (grub_context_pop_menu): Likewise.
33362 [GRUB_UTIL] (grub_default_init): Likewise.
33363 [GRUB_UTIL] (grub_default_fini): Likewise.
33364 [GRUB_UTIL] (grub_timeout_init): Likewise.
33365 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33366
33367 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33368 commands/timeout.c and normal/context.c.
33369 (pkgdata_MODULES): Added default.mod and timeout.mod.
33370 (normal_mod_SOURCES): Added normal/context.c.
33371 (default_mod_SOURCES): New variable.
33372 (default_mod_CFLAGS): Likewise.
33373 (timeout_mod_SOURCES): Likewise.
33374 (timeout_mod_CFLAGS): Likewise.
33375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33376 conf/i386-pc.rmk.
33377 (pkgdata_MODULES): Added default.mod and timeout.mod.
33378 (normal_mod_SOURCES): Added normal/context.c.
33379 (default_mod_SOURCES): New variable.
33380 (default_mod_CFLAGS): Likewise.
33381 (timeout_mod_SOURCES): Likewise.
33382 (timeout_mod_CFLAGS): Likewise.
33383
33384 * Makefile.in (all-local): Added $(MKFILES).
33385
4ed2e1dd 333862005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33387
33388 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33389 (grub_emu_SOURCES): Likewise.
33390 (pkgdata_MODULES): Add `sun.mod'.
33391 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33393 `partmap/sun.c'.
33394 (pkgdata_MODULES): Add `sun.mod'.
33395 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33396 * include/grub/partition.h (grub_sun_partition_map_init): New
33397 prototype.
33398 (grub_sun_partition_map_fini): Likewise.
33399 * partmap/sun.c: New file.
33400 * util/grub-emu.c (main): Initialize and de-initialize the sun
33401 partitionmap support.
33402
4d4e372e 334032005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33404
33405 This implements an Emacs-like menu entry editor.
f19dbdb7 33406
4d4e372e 33407 * normal/menu_entry.c: New file.
f19dbdb7 33408
4d4e372e 33409 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33410 characters to ASCII.
33411 (saved_char): New variable.
33412 (grub_ncurses_checkkey): Rewritten completely.
33413 (grub_ncurses_getkey): Likewise.
33414 (grub_ncurses_init): Call raw instead of cbreak.
33415
33416 * normal/menu.c (print_entry): Do not put a space.
33417 (init_page): Renamed to ...
33418 (grub_menu_init_page): ... this. All callers changed.
33419 (edit_menu_entry): Removed.
33420 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33421
33422 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33423
33424 * kern/misc.c (grub_vprintf): Call grub_refresh.
33425
33426 * normal/menu.c (DISP_LEFT): Renamed to ...
33427 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33428 * normal/menu.c (DISP_UP): Renamed to ...
33429 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33430 * normal/menu.c (DISP_RIGHT): Renamed to ...
33431 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33432 * normal/menu.c (DISP_DOWN): Renamed to ...
33433 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33434 * normal/menu.c (DISP_HLINE): Renamed to ...
33435 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33436 * normal/menu.c (DISP_VLINE): Renamed to ...
33437 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33438 * normal/menu.c (DISP_UL): Renamed to ...
33439 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33440 * normal/menu.c (DISP_UR): Renamed to ...
33441 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33442 * normal/menu.c (DISP_LL): Renamed to ...
33443 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33444 * normal/menu.c (DISP_LR): Renamed to ...
33445 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33446 * normal/menu.c (TERM_WIDTH): Renamed to ...
33447 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33448 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33449 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33450 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33451 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33452 * normal/menu.c (TERM_MARGIN): Renamed to ...
33453 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33454 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33455 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33456 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33457 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33458 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33459 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33460 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33461 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33462 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33463 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33464 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33465 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33466 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33467 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33468 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33469 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33470 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33471 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33472 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33473 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33474 All callers changed.
33475
33476 * include/grub/normal.h: New prototype.
33477
33478 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33479 normal/menu_entry.c.
33480 (normal_mod_SOURCES): Likewise.
33481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33482 (normal_mod_SOURCES): Likewise.
33483
e6b92c8a 334842005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33485
33486 * include/grub/normal.h (grub_halt_init): New prototype.
33487 (grub_halt_fini): Likewise.
33488 (grub_reboot_init): Likewise.
33489 (grub_reboot_fini): Likewise.
33490
33491 * util/grub-emu.c: Include signal.h.
33492 (main_env): New global variable.
33493 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33494 catch C-c.
33495 (grub_machine_fini): New function.
33496 (main): Call grub_halt_init and grub_reboot_init before
33497 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33498 Call setjmp with MAIN_ENV to go back afterwards.
33499 Call grub_machine_fini right before return.
33500
33501 * include/grub/util/misc.h: Include setjmp.h.
33502 (main_env): New prototype.
33503
33504 * include/grub/kernel.h (grub_machine_fini): New prototype.
33505 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33506 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33507
33508 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33509 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33510 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 33511
e6b92c8a 33512 * util/i386/pc/misc.c: New file.
f19dbdb7 33513
e6b92c8a 33514 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33515 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33516 commands/i386/pc/reboot.c.
33517
c642636f 335182005-02-14 Guillem Jover <guillem@hadrons.org>
33519
33520 * include/grub/dl.h (grub_dl_check_header): New prototype.
33521 (grub_arch_dl_check_header): Change return type to grub_err_t,
33522 remove size parameter and export function. Update all callers.
33523 * kern/dl.c (grub_dl_check_header): New function.
33524 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33525 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33526 are inside the core.
33527 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33528 independent ELF header checks.
33529 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33530 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33531 `grub_dl_check_header' instead of explicit checks. Check for the
33532 ELF type.
33533 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33534 `grub_dl_check_header' instead of explicit checks. Remove arch
33535 specific ELF header checks.
33536
e6b92c8a 33537 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33538 argument SIZE.
33539
5eabe94b 335402005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33541
33542 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33543 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33544
1b14a681 335452005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33546
33547 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 33548 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 33549 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 33550 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 33551 * partmap/amiga.c (amiga_partition_map_iterate): Return
33552 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33553 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33554
aca108aa 335552005-02-01 Guillem Jover <guillem@hadrons.org>
33556
33557 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33558 help info.
33559
c9f9c556 335602005-01-31 Marco Gerards <metgerards@student.han.nl>
33561
33562 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33563 Removed prototype.
33564 (grub_rescue_cmd_linux): New prototype.
33565 (grub_rescue_cmd_initrd): Likewise.
33566 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33567 `bi_rec'.
33568 (grub_linux_release_mem): Release the memory for the initrd.
33569 (grub_load_linux): Renamed from this...
33570 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33571 Changed `entry' not to be static. Loop over memory regions to
33572 find another one when the default fails.
33573 (grub_rescue_cmd_initrd): New function.
33574 (grub_linux_init): Remove function.
33575 (grub_linux_fini): Likewise.
33576 (GRUB_MOD_INIT): Register `initrd'.
33577 (GRUB_MOD_FINI): Unregister `initrd'.
33578 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33579 Function removed.
33580 (grub_linux_normal_fini): Likewise.
33581 (GRUB_MOD_INIT): Register `initrd'.
33582 (GRUB_MOD_FINI): Unregister `initrd'.
33583
990cf3aa 335842005-01-31 Marco Gerards <metgerards@student.han.nl>
33585
33586 * commands/help.c: New file.
33587 * normal/arg.c (show_help): Renamed to...
33588 (grub_arg_show_help): ... this.
33589 * commands/i386/pc/halt.c: New file.
33590 * commands/i386/pc/reboot.c: Likewise.
33591 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33592 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33593 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33594 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33595 variables.
33596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33597 `commands/help.c'.
33598 (pkgdata_MODULES): Add `help.mod'.
33599 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33600 * grub/i386/pc/init.h (grub_reboot): New prototype.
33601 (grub_halt): Likewise.
33602 * include/grub/normal.h (grub_arg_show_help): New prototype.
33603 (grub_help_init): Likewise.
33604 (grub_help_fini): Likewise.
33605 * util/grub-emu.c (main): Initialize and deinitialize the help
33606 command.
33607
33608 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33609
33610 * normal/command.c (grub_command_init): Fixed the description of
33611 the `set' and `unset' commands.
33612
336132005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 33614
33615 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33616 function.
33617 * commands/ieee1275/halt.c: New file.
33618 * commands/ieee1275/reboot.c: Likewise.
33619 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33620 `__attribute__ ((unused))'. Some GCS related fixed.
33621 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33622 (grub_suspend_fini): Likewise.
33623 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33624 and `halt.mod'.
33625 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33626 (halt_mod_CFLAGS): New variables.
33627 * include/grub/powerpc/ieee1275/ieee1275.h
33628 (grub_ieee1275_interpret): New prototype.
33629
1ab09cc7 336302005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33631
33632 * include/grub/misc.h (memmove): New prototype.
33633 (memcpy): Likewise.
33634
8b8cbdb2 336352005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33636
33637 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33638 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33639
e3741a27 336402005-01-22 Marco Gerards <metgerards@student.han.nl>
33641
33642 * kern/misc.c (grub_strndup): Function rewritten.
33643
776bd780 336442005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33645
33646 * normal/menu.c (TERM_WIDTH): Macro redefined.
33647 (TERM_TOP_BORDER_Y): Likewise.
33648 (draw_border): Replaced while-loop by a for-loop. Make the number
33649 of lines consistent with the number of lines displayed in
33650 print_entries. Added a margin below the rectangle.
33651 (print_entry): Make the entry fit in the rectangle.
33652 (print_entries): Display the scroll arrows next to the right
33653 border.
33654
78026bce 336552005-01-21 Marco Gerards <metgerards@student.han.nl>
33656
33657 * fs/minix.c (grub_minix_find_file): Reserve more space for
33658 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33659 `grub_strncpy' to copy `path' into it.
33660
67bbaf0f 336612005-01-21 Marco Gerards <metgerards@student.han.nl>
33662
33663 Add the loopback device, a device via which files can be accessed
33664 as devices.
f19dbdb7 33665
67bbaf0f 33666 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33667 (pkgdata_MODULES): Add loopback.mod.
33668 (loopback_mod_SOURCES): New variable.
33669 (loopback_mod_CFLAGS): Likewise.
33670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33671 `disk/loopback.c'.
33672 (pkgdata_MODULES): Add loopback.mod.
33673 (loopback_mod_SOURCES): New variable.
33674 (loopback_mod_CFLAGS): Likewise.
33675 * disk/loopback.c: new file.
33676 * include/grub/normal.h (grub_loop_init): New prototype.
33677 (grub_loop_fini): New prototype.
33678 * util/grub-emu.c (main): Initialize and de-initialize loopback
33679 support.
33680 * include/grub/disk.h (grub_disk_dev_id): Add
33681 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33682
6f1c18bd 336832005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33684
33685 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33686 function.
33687 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33688 (suspend_mod_SOURCES): New variable.
33689 (suspend_mod_CFLAGS): Likewise.
33690 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33691 New prototype.
33692 * commands/ieee1275/suspend.c: New file.
33693
b38551da 336942005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33695
33696 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 33697 ((unused))' to `__attribute__ ((used))'.
b38551da 33698 (GRUB_MOD_FINI): Likewise.
33699 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33700 * genmk.rb (PModule): Assign space to common symbols when linking
33701 modules.
33702
777aff39 337032005-01-20 Marco Gerards <metgerards@student.han.nl>
33704
33705 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33706 `unsigned' arguments to `grub_size_t'.
33707 (grub_malloc): Likewise.
33708 (grub_realloc): Likewise.
33709 (grub_memalign): Likewise.
33710 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33711 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33712 * util/misc.c (grub_malloc): Likewise.
33713 (grub_realloc): Likewise.
33714 * kern/mm.c (get_header_from_pointer): Change the casts to
33715 `unsigned' into a cast to `grub_size_t'.
33716
33717 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33718 point to `currnode' when `currnode' is changed.
33719
33720 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33721 Schottelius <nico-linux@schottelius.org>.
33722
d0ff18e1 337232005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33724
33725 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33726 (note_path): Remove variable.
33727 (GRUB_IEEE1275_NOTE_NAME): New macro.
33728 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33729 (grub_ieee1275_note_hdr): New structure.
33730 (grub_ieee1275_note_desc): Likewise.
33731 (grub_ieee1275_note): Likewise.
33732 (load_note): Remove `dir' argument. All callers updated. Remove
33733 `note_img' and `path'. Do not load a file from `note_path'.
33734 Initialize a struct grub_ieee1275_note and write that to `out'.
33735 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33736
4ca7004c 337372005-01-05 Marco Gerards <metgerards@student.han.nl>
33738
33739 * util/misc.c (grub_util_read_image): Revert last change. It
33740 called `grub_util_read_at', which seeks from the beginning of the
33741 file.
33742
0b412211 337432005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33744
33745 * TODO: Add note about endianness in grub-mkimage.
33746 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33747 section.
33748 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33749 (grub_mkimage_SOURCES): New target.
33750 * include/grub/kernel.h (grub_start_addr): Remove variable.
33751 (grub_end_addr): Likewise.
33752 (grub_total_module_size): Likewise.
33753 (grub_kernel_image_size): Likewise.
33754 (GRUB_MODULE_MAGIC): New constant.
33755 (grub_module_info): New structure.
33756 (grub_arch_modules_addr): New prototype.
33757 (grub_get_end_addr): Remove prototype.
33758 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33759 * include/grub/powerpc/ieee1275/kernel.h: New file.
33760 * include/grub/util/misc.h (grub_util_get_fp_size): New
33761 prototype.
33762 (grub_util_read_at): Likewise.
33763 (grub_util_write_image_at): Likewise.
33764 * kern/main.c (grub_get_end_addr): Remove function.
33765 (grub_load_modules): Call grub_arch_modules_addr instead of using
33766 grub_end_addr. Look for a grub_module_info struct in memory. Use
33767 the grub_module_info fields instead of calling grub_get_end_addr
33768 as loop conditions. Move grub_add_unused_region code here.
33769 (grub_add_unused_region): Remove function.
33770 * kern/i386/pc/init.c: Include grub/cache.h.
33771 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33772 one call to add_mem_region.
33773 (grub_arch_modules_addr): New function.
33774 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33775 (grub_total_module_size): Likewise.
33776 Include grub/machine/kernel.h.
33777 (grub_arch_modules_addr): New function.
33778 * util/grub-emu.c (grub_end_addr): Remove variable.
33779 (grub_total_module_size): Likewise.
33780 (grub_arch_modules_addr): New function.
33781 * util/misc.c: Include unistd.h.
33782 (grub_util_get_fp_size): New function.
33783 (grub_util_read_at): Likewise.
33784 (grub_util_write_image_at): Likewise.
33785 (grub_util_read_image): Call grub_util_read_at.
33786 (grub_util_write_image): Call grub_util_write_image_at.
33787 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33788 additional memory in kernel_img for a struct grub_module_info.
33789 Fill in that grub_module_info.
33790 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33791
458786f8 337922005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33793
33794 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33795 New function.
33796 * include/grub/powerpc/ieee1275/ieee1275.h
33797 (grub_ieee1275_milliseconds): New prototype.
33798 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33799 Change to 1000.
33800 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33801 grub_ieee1275_milliseconds.
33802
ac507d1b 338032005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33804
33805 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33806 variable.
33807 (find_options): New function.
33808 (cmain): Call find_options.
33809 * include/grub/powerpc/ieee1275/ieee1275.h
33810 (grub_ieee1275_realmode): New extern variable.
33811 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33812 grub_map if grub_ieee1275_realmode is false.
33813
6b8fd1c4 338142004-12-29 Marco Gerards <metgerards@student.han.nl>
33815
33816 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33817 lines are inserted and make it work like readline. Reported by
33818 Vincent Pelletier <subdino2004@yahoo.fr>.
33819
8514a1e0 338202004-12-28 Marco Gerards <metgerards@student.han.nl>
33821
33822 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33823
33824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33825 `kern/powerpc/cache.S'.
33826
924b6140 338272004-12-27 Marco Gerards <metgerards@student.han.nl>
33828
33829 * genmk.rb: Handle the `Program' class in the main loop. Written
33830 by Johan Rydberg <jrydberg@gnu.org>.
33831 (Program): New class.
33832 (programs): New variable.
33833 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33834 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33835 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33836 (help_arch): Function removed.
33837 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33838 `powerpc/libgcc.h' and `loader.h'.
33839 (pkgdata_PROGRAMS): New variable.
33840 (sbin_UTILITIES): Variable removed.
33841 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33842 (grubof_SOURCES): Variable re-defined so it only includes the
33843 core functionality.
33844 (grubof_CFLAGS): Remove `-DGRUBOF'.
33845 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33846 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33847 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33848 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33849 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33850 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33851 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33852 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33853 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33854 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33855 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33856 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33857 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33858 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33859 (pc_mod_CFLAGS): New variables.
33860 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33861 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33862 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33863 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33864 Moved from here...
33865 * include/grub/i386/pc/init.h (grub_os_area_addr)
33866 (rub_os_area_size): ... to here.
33867 * include/grub/powerpc/ieee1275/ieee1275.h
33868 (grub_ieee1275_entry_fn): Export symbol.
33869 * include/grub/powerpc/ieee1275/init.h: New file.
33870 * include/grub/powerpc/libgcc.h: Likewise.
33871 * include/grub/cache.h: Likewise.
33872 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33873 <hollis@penguinppc.org>.
33874 * kern/dl.c: Include <grub/cache.h>.
33875 (grub_dl_flush_cache): New function.
33876 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33877 for this module.
33878 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33879 (grub_console_init): Removed prototypes.
33880 (grub_machine_init): Don't initialize the modules anymore.
33881 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33882 static.
33883 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33884 Macro undef removed.
33885 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33886 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33887 relocation `R_PPC_REL32'. Return an error when the relocation is
33888 unknown.
33889 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33890 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33891 * util/misc.c (grub_arch_sync_caches): Likewise.
33892
e4b47e0c 338932004-12-19 Marco Gerards <metgerards@student.han.nl>
33894
33895 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33896 `symlist.c', add `grubof_symlist.c'.
33897 (symlist.c): Variable removed.
33898 (grubof_HEADERS): Variable added.
33899 (grubof_symlist.c): New target.
33900 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33901 `kernel_img_HEADERS'.
33902 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33903 * kern/powerpc/dl.c: New file.
33904 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33905 Function removed.
33906 (grub_arch_dl_relocate_symbols): Likewise.
33907 (grub_register_exported_symbols): Likewise.
33908
4ceb3636 339092004-12-13 Marco Gerards <metgerards@student.han.nl>
33910
33911 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33912 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33913 to fail instead. Reported by Vincent Pelletier
33914 <subdino2004@yahoo.fr>.
33915
33916 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33917 it is not allocated. Reported by Vincent Pelletier
33918 <subdino2004@yahoo.fr>.
33919
33920 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33921 output so the output looks better.
f19dbdb7 33922
3f1578fe 339232004-12-04 Marco Gerards <metgerards@student.han.nl>
33924
33925 Modulize the partition map support and add support for the amiga
33926 partition map.
f19dbdb7 33927
3f1578fe 33928 * commands/ls.c: Include <grub/partition.h> instead of
33929 <grub/machine/partition.h>.
33930 * kern/disk.c: Likewise.
33931 * kern/rescue.c: Likewise.
33932 * loader/i386/pc/chainloader.c: Likewise.
33933 * normal/cmdline.c: Likewise.
33934 * kern/powerpc/ieee1275/init.c: Likewise.
33935 (grub_machine_init): Call `grub_pc_partition_map_init',
33936 `grub_amiga_partition_map_init' and
33937 `grub_apple_partition_map_init'.
33938 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33939 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33940 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33941 `partition.h' and `pc_partition.h'.
33942 (grub_setup_SOURCES): Remove
33943 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33944 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33945 (grub_emu_SOURCES): Likewise.
33946 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33947 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33948 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33950 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33951 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33952 (grubof_SOURCES): Likewise.
33953 * disk/i386/pc/partition.c: File removed.
33954 * disk/powerpc/ieee1275/partition.c: Likewise.
33955 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33956 * include/grub/i386/pc/partition.h: Likewise.
33957 * kern/partition.c: New file.
33958 * partmap/amiga.c: Likewise.
33959 * partmap/apple.c: Likewise.
33960 * partmap/pc.c: Likewise.
33961 * include/grub/partition.h: Likewise..
33962 * include/grub/pc_partition.h: Likewise.
33963 * util/grub-emu.c: Include <grub/partition.h> instead of
33964 <grub/machine/partition.h>.
33965 (main): Call `grub_pc_partition_map_init',
33966 `grub_amiga_partition_map_init' and
33967 `grub_apple_partition_map_init' and deinitialize afterwards.
33968 * util/i386/pc/biosdisk.c: Include `#include
33969 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33970 `<grub/machine/partition.h>'.
33971 * util/i386/pc/grub-setup.c: Likewise.
33972 * util/i386/pc/biosdisk.c: Likewise.
33973 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33974 partition information in case of a PC partition.
33975 * util/i386/pc/grub-setup.c: Include `#include
33976 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33977 `<grub/machine/partition.h>'.
33978 (setup): Only access the PC specific partition information in case
33979 of a PC partition.
33980
0ef4ced9 339812004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33982
0ef4ced9 33983 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33984 (grub_longjmp): Likewise.
33985 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33986 20.
33987 * normal/powerpc/setjmp.S: New file.
33988 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33989 `normal/powerpc/setjmp.S'.
33990 (grubof_CFLAGS): Add `-DGRUBOF'.
33991 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33992 [GRUB_UTIL && !GRUBOF].
f19dbdb7 33993
19950e29 339942004-11-16 Marco Gerards <metgerards@student.han.nl>
33995
33996 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33997 property named `name'. Correctly handle the error returned by
33998 `grub_ieee1275_finddevice' if a device can not be opened.
33999
a2fea427 340002004-11-02 Hollis Blanchard <hollis@penguinppc.org>
34001
34002 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
34003 `actual' for negativity.
34004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
34005 kern/fshelp.c.
34006
41ea0ea3 340072004-11-01 Marco Gerards <metgerards@student.han.nl>
34008
34009 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
34010 (PAGE_OFFSET): New macro.
34011 (CRTC_ADDR_PORT): Likewise.
34012 (CRTC_DATA_PORT): Likewise.
34013 (START_ADDR_HIGH_REGISTER): Likewise.
34014 (START_ADDR_LOW_REGISTER): Likewise.
34015 (GRAPHICS_ADDR_PORT): Likewise.
34016 (GRAPHICS_DATA_PORT): Likewise.
34017 (READ_MAP_REGISTER): Likewise.
34018 (INPUT_STATUS1_REGISTER): Likewise.
34019 (INPUT_STATUS1_VERTR_BIT): Likewise.
34020 (page): New variable.
34021 (wait_vretrace): New function.
34022 (set_read_map): Likewise.
34023 (set_start_address): Likewise.
34024 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
34025 the right page.
34026 (check_vga_mem): Take the page into account.
34027 (write_char): Likewise.
34028 (write_cursor): Likewise.
34029 (scroll_up): Likewise. Copy the page to the page that is not
34030 shown and switch between both pages.
34031 (grub_vga_putchar): Fix off by one error.
34032 (grub_vga_cls): Wait for the vertical retrace. Take the page into
34033 account.
34034
ad0bd20b 340352004-11-01 Marco Gerards <metgerards@student.han.nl>
34036
34037 Add support for iso9660 (including rockridge).
f19dbdb7 34038
ad0bd20b 34039 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
34040 (iso9660_mod_SOURCES): New variable.
34041 (iso9660_mod_CFLAGS): Likewise.
34042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
34043 * include/grub/fs.h (grub_iso9660_init): New prototype.
34044 * util/grub-emu.c (main): Call `grub_iso9660_init'.
34045 * fs/iso9660.c: New file.
34046
34047 * include/grub/misc.h (grub_strncat): New prototype.
34048 * kern/misc.c (grub_strncat): New function.
f19dbdb7 34049
ad0bd20b 34050 * fs/hfs.c (grub_hfs_mount): Translate the error
34051 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
34052 * fs/jfs.c (grub_jfs_mount): Likewise.
34053 * fs/ufs.c (grub_ufs_mount): Likewise.
34054
a5477a59 340552004-10-28 Hollis Blanchard <hollis@penguinppc.org>
34056
34057 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
34058 which initialized BAT registers.
34059 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
34060 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
34061 Move from here...
34062 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
34063 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
34064 ... to here.
34065 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
34066 (grub_mapclaim): Likewise.
34067 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
34068 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
34069 hand.
34070
9304c1f8 340712004-10-19 Hollis Blanchard <hollis@penguinppc.org>
34072
34073 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
34074 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
34075 -ffreestanding and -msoft-float.
34076
86f4ae25 340772004-10-15 Hollis Blanchard <hollis@penguinppc.org>
34078
34079 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
34080 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
34081 set in grub_ieee1275_flags.
34082
38912228 340832004-10-14 Hollis Blanchard <hollis@penguinppc.org>
34084
34085 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
34086 prototype.
34087 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
34088 grub_console_init first.
34089 Change the memory range used for grub_ieee1275_claim and
34090 grub_mm_init_region.
34091 Print an error message if the claim fails.
34092 Include <grub/misc.h>.
34093
d1923dc8 340942004-10-13 Hollis Blanchard <hollis@penguinppc.org>
34095
34096 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
34097 Call grub_children_iterate for device nodes of type `scsi',
34098 `ide', or `ata'.
34099 (grub_ofdisk_open): Remove manual device alias resolution.
34100 Fix memory leak when device cannot be opened.
f19dbdb7 34101 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 34102 (grub_children_iterate): New prototype.
34103 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
34104 New function.
34105 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34106 Return -1 if args.size was -1.
34107
4512e4f3 341082004-10-11 Hollis Blanchard <hollis@penguinppc.org>
34109
34110 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
34111 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
34112 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
34113 Open Firmware's memory for it; claim memory from _start to _end.
34114 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
34115 (_end): New extern.
34116 (_start): Zero BSS from __bss_start to _end.
34117 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
34118 New extern.
34119 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
34120
4d61feb0 341212004-10-11 Hollis Blanchard <hollis@penguinppc.org>
34122
ad0bd20b 34123 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
34124 -1 if args.base was -1.
4d61feb0 34125
026fa2f9 341262004-10-08 Hollis Blanchard <hollis@penguinppc.org>
34127
34128 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
34129 escape sequence instead of a literal ^L. Also call
34130 grub_ofconsole_gotoxy.
34131
9f2220ef 341322004-10-03 Hollis Blanchard <hollis@penguinppc.org>
34133
34134 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
34135 void * arguments to grub_addr_t. All callers updated. Also make
34136 the `result' argument optional.
34137 (grub_ieee1275_release): change void * arguments to grub_addr_t.
34138 All callers updated.
34139
8a572cd7 341402004-09-22 Hollis Blanchard <hollis@penguinppc.org>
34141
34142 * commands/ls.c (grub_ls_list_files): Use the string following the
34143 initial ')', if present, as the filesystem path.
34144 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
34145
34146 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
34147
18aa81f2 341482004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
34149
34150 Make the source code of the menu interface more readable.
f19dbdb7 34151
18aa81f2 34152 * normal/menu.c: Include grub/mm.h.
34153 (TERM_WIDTH): New macro.
34154 (TERM_HEIGHT): Likewise.
34155 (TERM_INFO_HEIGHT): Likewise.
34156 (TERM_MARGIN): Likewise.
34157 (TERM_SCROLL_WIDTH): Likewise.
34158 (TERM_TOP_BORDER_Y): Likewise.
34159 (TERM_LEFT_BORDER_X): Likewise.
34160 (TERM_BORDER_WIDTH): Likewise.
34161 (TERM_MESSAGE_HEIGHT): Likewise.
34162 (TERM_BORDER_HEIGHT): Likewise.
34163 (TERM_NUM_ENTRIES): Likewise.
34164 (TERM_FIRST_ENTRY_Y): Likewise.
34165 (TERM_ENTRY_WIDTH): Likewise.
34166 (TERM_CURSOR_X): Likewise.
34167 (draw_border): Use macros instead of magic numbers.
34168 (print_entry): Likewise.
34169 (print_entries): Likewise.
34170 (run_menu): Likewise. Also, handle the key 'e'.
34171 (run_menu_entry): Ignore empty command lines.
34172 (print_message): Added a new argument EDIT. If EDIT is true,
34173 print a different message.
34174 (init_page): Likewise.
34175 (edit_menu_entry): New function. Not implemented yet.
34176
b47efe30 341772004-09-17 Marco Gerards <metgerards@student.han.nl>
34178
34179 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
34180 can be loaded from normal mode.
f19dbdb7 34181
b47efe30 34182 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
34183 `multiboot.mod'.
34184 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
34185 (multiboot_mod_CFLAGS): New variables.
34186 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 34187 * loader/i386/pc/multiboot_normal.c: Likewise.
34188
b47efe30 34189 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
34190 attribute `unused'.
f19dbdb7 34191
b47efe30 34192 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
34193 `fdiro' to read the mode information from instead of `diro'.
34194
34195 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
34196 looking up a symlink.
34197
34198 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
34199 macro.
34200 * normal/command.c (grub_command_execute): Don't parse the
34201 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
34202 flags of the command.
34203
34204 * normal/menu.c (grub_menu_run): Fix typo.
34205
da75ac71 342062004-09-14 Hollis Blanchard <hollis@penguinppc.org>
34207
34208 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
34209
34210 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
34211 `y + 1' instead of `y - 1'.
34212
34213 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 34214
062b24c2 342152004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
34216
34217 From Hollis Blanchard <hollis@penguinppc.org>:
34218 * kern/misc.c (memmove): New alias for grub_memmove.
34219 (memcmp): New alias for grub_memcmp.
34220 (memset): New alias for grub_memset.
f19dbdb7 34221 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 34222 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 34223 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 34224 (grub_ieee1275_get_property): Likewise.
f19dbdb7 34225
8ddad845 342262004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
34227
34228 Added normal mode command `chainloader' as module chain.mod, which
34229 depends on normal.mod and _chain.mod.
f19dbdb7 34230
8ddad845 34231 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
34232 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
34233 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
34234 Deleted prototype.
34235 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
34236 but arguments parsing moved to ...
34237 (grub_chainloader_cmd): ... here. New function.
34238 * include/grub/i386/pc/chainloader.h: New file.
34239 * loader/i386/pc/chainloader_normal.c: Likewise.
34240
2c1f4ce3 342412004-09-11 Marco Gerards <metgerards@student.han.nl>
34242
34243 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
34244 (grub_mkimage_LDFLAGS): Likewise.
34245 (grub_emu_SOURCES): Likewise.
34246 (kernel_img_HEADERS): Added fshelp.h.
34247 * fs/ext2.c: Include <grub/fshelp.h>.
34248 (FILETYPE_REG): New macro.
34249 (FILETYPE_INO_REG): Likewise.
34250 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
34251 Changed all users.
34252 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
34253 all users.
34254 (grub_fshelp_node): New struct.
34255 (grub_ext2_data): Added member `diropen'. Changed member `inode'
34256 to a pointer.
34257 (grub_ext2_get_file_block): Removed function.
34258 (grub_ext2_read_block): New function.
34259 (grub_ext2_read_file): Replaced parameter `data' by `node'.
34260 This function was written.
34261 (grub_ext2_mount): Read the root inode. Create a diropen struct.
34262 (grub_ext2_find_file): Removed function.
34263 (grub_ext2_read_symlink): New function.
34264 (grub_ext2_iterate_dir): Likewise.
34265 (grub_ext2_open): Rewritten.
34266 (grub_ext2_dir): Rewritten.
34267 * include/grub/fshelp.h: New file.
34268 * fs/fshelp.c: Likewise.
34269
3c52136a 342702004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
34271
34272 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
34273 (print_message): Add a missing newline.
34274 (run_menu): Added timeout support.
34275 (run_menu_entry): New local function.
34276 (grub_menu_run): Added support for booting.
34277
34278 * kern/loader.c (grub_loader_is_loaded): New function.
34279
34280 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
34281 (grub_get_rtc): Exported.
34282
34283 * include/grub/i386/pc/time.h: Include grub/symbol.h.
34284 (grub_get_rtc): Exported.
34285
34286 * include/grub/normal.h (struct grub_command_list): Remove
34287 constant from the member `command'.
34288
34289 * include/grub/loader.h (grub_loader_is_loaded): Declared.
34290
34291 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
34292
34293 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
34294
aa033560 342952004-08-28 Marco Gerards <metgerards@student.han.nl>
34296
34297 Add support for the JFS filesystem.
34298
34299 * fs/jfs.c: New file.
34300 * include/grub/fs.h (grub_jfs_init): New prototype.
34301 (grub_jfs_fini): New prototype.
34302 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
34303 (grub_emu_SOURCES): Likewise.
34304 (pkgdata_MODULES): Add jfs.mod.
34305 (jfs_mod_SOURCES): New variable.
34306 (jfs_mod_CFLAGS): Likewise.
34307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
34308 (grubof_SOURCES): Likewise.
34309 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
34310
34311 * fs/fat.c (grub_fat_find_dir): Convert the filename little
34312 endian to the host endian.
34313 (grub_fat_utf16_to_utf8): Move function from there...
34314 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 34315 the endianness of the source string anymore.
aa033560 34316 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
34317
94bc45af 343182004-08-24 Marco Gerards <metgerards@student.han.nl>
34319
34320 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
34321 (grub_boot_fini) [GRUB_UTIL]: Likewise.
34322 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
34323 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 34324
94bc45af 34325 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
34326 (grub_hfs_iterate_dir): Make the function static. Add prototypes
34327 for `node_found' and `it_dir'.
34328 (grub_hfs_dir): Add prototype for `dir_hook'.
34329
34330 * fs/minix.c (grub_minix_get_file_block): Add prototype for
34331 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
34332 and `indir32' to silence a gcc warning.
34333
34334 * include/grub/fs.h (grub_hfs_init): New prototype.
34335 (grub_hfs_fini): Likewise.
f19dbdb7 34336
34337
97543f08 343382004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34339
34340 Each disk device has its own id now. This is useful to make use
34341 of multiple disk devices.
f19dbdb7 34342
97543f08 34343 * include/grub/disk.h (grub_disk_dev_id): New enum.
34344 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34345 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34346
34347 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34348 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34349
34350 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34351 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34352
34353 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34354 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34355
34356 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34357 "id" which is used by the cache manager.
34358
34359 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34360 of just "GRUB".
34361
64372eb4 343622004-08-18 Marco Gerards <metgerards@student.han.nl>
34363
34364 * fs/hfs.c: New file.
34365 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34366 (grub_emu_SOURCES): Likewise.
34367 (pkgdata_MODULES): Add hfs.mod.
34368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34369 (grubof_SOURCES): Likewise.
34370 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34371
34372 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34373 * kern/misc.c (grub_strncasecmp): Add function.
34374
cc61b58f 343752004-08-14 Marco Gerards <metgerards@student.han.nl>
34376
34377 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34378 with parentheses.
34379
34380 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34381 (grub_ext2_dir): In case the directory entry type is unknown, read
34382 it from the inode.
34383
0ef123f6 343842004-08-02 Peter Bruin <pjbruin@dds.nl>
34385
34386 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34387 grub_load_linux instead of grub_rescue_cmd_linux as second
34388 argument of grub_rescue_register_command.
34389
34390 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34391
a447c5df 343922004-07-27 Marco Gerards <metgerards@student.han.nl>
34393
34394 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34395 function.
34396 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34397 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34398 `loader/powerpc/ieee1275/linux.c',
34399 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34400 * include/grub/powerpc/ieee1275/ieee1275.h
34401 (grub_ieee1275_release): New prototype.
34402 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34403 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34404 normal, boot, linux and linux_normal.
34405 * loader/powerpc/ieee1275/linux.c: New file.
34406 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34407
5a9e3546 344082004-07-12 Marco Gerards <metgerards@student.han.nl>
34409
34410 * normal/arg.c (grub_arg_parse): Correct error handling after
34411 reallocating the argumentlist (check if `argl' is not null instead
34412 of checking if `args' is not null).
34413 * kern/mm.c (grub_realloc): Return the same pointer when using the
34414 same region, instead of returning the header address.
34415
e15199cb 344162004-07-11 Marco Gerards <metgerards@student.han.nl>
34417
34418 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34419 one block instead of two when looking for the initial partition.
34420 (grub_partition_probe): Initialize the local variable `p' with 0.
34421 Use base 10 for the grub_strtoul call.
34422 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34423 need for one local variable.
34424 (grub_strtoul): Don't add the new value to `num', instead of that
34425 just assign it.
34426
020616c2 344272004-07-11 Marco Gerards <metgerards@student.han.nl>
34428
34429 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34430 (pxeboot_img_SOURCES): New variable.
34431 (pxeboot_img_ASFLAGS): Likewise.
34432 (pxeboot_img_LDFLAGS): Likewise.
34433 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34434 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34435 <lode_leroy@hotmail.com>.
34436
6c51eb64 344372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34438
34439 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34440 there was no input.
34441
cfb12aff 344422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34443
34444 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34445 the history buffer logic.
34446
6eabba74 344472004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34448
34449 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34450 (FILETYPE_INO_SYMLINK): New macros.
34451 (grub_ext2_find_file): Check if the node is a directory using the
34452 inode stat information instead of using the filetype in the
34453 dirent. Exclude the first character of an absolute symlink.
34454 (grub_ext2_dir): Mask out the filetype part of the mode member of
34455 the inode.
34456
66e19ef8 344572004-05-24 Marco Gerards <metgerards@student.han.nl>
34458
34459 Add support for UFS version 1 and 2. Add support for the minix
34460 filesystem version 1 and 2, both the variants with 14 and 30 long
34461 filenames.
f19dbdb7 34462
66e19ef8 34463 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34464 fs/minix.c.
34465 (grub_emu_SOURCES): Likewise.
34466 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34467 (ufs_mod_SOURCES): New variable.
34468 (ufs_mod_CFLAGS): Likewise.
34469 (minix_mod_SOURCES): Likewise.
34470 (minix_mod_CFLAGS): Likewise.
34471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34472 fs/minix.c.
34473 (grubof_SOURCES): Likewise.
34474 * fs/ufs.c: New file.
34475 * fs/minix.c: New file.
34476 * include/grub/fs.h (grub_ufs_init): New prototype.
34477 (grub_ufs_fini): Likewise.
34478 (grub_minix_init): Likewise.
34479 (grub_minix_fini): Likewise.
34480 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34481 minix fs.
34482
cc2e748a 344832004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34484
34485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34486 commands/ls.c, commands/terminal.c, commands/boot.c,
34487 commands/cmp.c and commands/cat.c.
34488 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34489
34490 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34491 "env.h"
34492
4b13b216 344932004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34494
34495 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34496 and grub_, respectively. Because the conversion is trivial and
34497 mechanical, I omit the details here. Please refer to the CVS
34498 if you need more information.
34499
6a142551 345002004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34501
34502 * include/pupa: Renamed to ...
34503 * include/grub: ... this.
34504 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34505 * util/i386/pc/grub-mkimage.c: ... this.
34506 * util/i386/pc/pupa-setup.c: Renamed to ...
34507 * util/i386/pc/grub-setup.c: ... this.
34508 * util/pupa-emu.c: Renamed to ...
34509 * util/grub-emu.c: ... this.
34510
e56cdf21 345112004-03-29 Marco Gerards <metgerards@student.han.nl>
34512
34513 Add support for the newworld apple macintosh (PPC). This has been
34514 tested on the powerbook 2000 only. It only adds support for
34515 generic ieee1275 functions, console and disk support. This should
34516 be easy to port to other architectures with support for Open
34517 Firmware.
f19dbdb7 34518
e56cdf21 34519 * configure.ac: Accept the powerpc as host_cpu. In the case of
34520 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34521 specific tests are only executed while building for the i386.
34522 Inverse test for crosscompile.
34523 * genmk.rb (Utility): Allow assembler files.
34524 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34525 * conf/powerpc-ieee1275.rmk: New file.
34526 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34527 * disk/powerpc/ieee1275/partition.c: Likewise.
34528 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34529 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34530 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34531 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34532 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34533 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34534 * include/pupa/powerpc/ieee1275/loader.h
34535 * include/pupa/powerpc/setjmp.h: Likewise.
34536 * include/pupa/powerpc/types.h: Likewise.
34537 * kern/powerpc/ieee1275/init.c: Likewise.
34538 * kern/powerpc/ieee1275/openfw.c: Likewise.
34539 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34540
34541 These files were written by Johan Rydberg
34542 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 34543
e56cdf21 34544 * boot/powerpc/ieee1275/cmain.c: New file.
34545 * boot/powerpc/ieee1275/crt0.S: Likewise.
34546 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34547 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34548
8c8cc205 345492004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34550
34551 * Makefile.in: Update copyright.
34552 * genmodsrc.sh: Likewise.
34553 * gensymlist.sh: Likewise.
34554 * term/i386/pc/vga.c: Indent correctly.
34555
34556 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34557 bugreporting address.
34558 * util/i386/pc/pupa-setup.c (usage): Likewise,
34559 (main): Call pupa_ext2_init and pupa_ext2_fini.
34560
f19dbdb7 34561 * fs/fat.c (log2): Renamed to ...
8c8cc205 34562 (fat_log2): ... this.
34563 All callers changed.
34564 * kern/misc.c (memcpy): Alias to pupa_memmove.
34565 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34566 lvalue cast.
34567 * util/console.c (pupa_ncurses_fini): Return 0.
34568
34569 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34570 Move fail label here.
34571 [__GNU__]: Don't warn when using stat.
34572 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34573 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34574 long int. Use strtol instead of strtoul.
f19dbdb7 34575
db1771cf 345762004-03-14 Marco Gerards <metgerards@student.han.nl>
34577
34578 * commands/boot.c: New file.
34579 * commands/cat.c: Likewise.
34580 * commands/cmp.c: Likewise.
34581 * commands/ls.c: Likewise.
34582 * commands/terminal.c: Likewise.
34583 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34584 (pupa_register_command): Changed interface to match the new
34585 argument parser.
34586 (pupa_command_execute): Changed (almost rewritten) so it uses
34587 pupa_split_command. Added support for setting variables using the
34588 syntax `foo=bar'.
34589 (rescue_command): Changed to work with the new argument parser.
34590 (terminal_command): Moved from here to commands/terminal.c.
34591 (set_command): New function.
34592 (unset_command): New function.
34593 (insmod_command): New function.
34594 (rmmod_command): New function.
34595 (lsmod_command): New function.
34596 (pupa_command_init): Don't initialize the command terminal
34597 anymore. Initialize the commands set, unset, insmod, rmmod and
34598 lsmod.
34599 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34600 (kernel_img_HEADERS): Add arg.h and env.h.
34601 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34602 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34603 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34604 normal/arg.c.
34605 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34606 terminal.mod.
34607 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34608 (boot_mod_SOURCES): New variable.
34609 (terminal_mod_SOURCES): Likewise.
34610 (ls_mod_SOURCES): Likewise.
34611 (cmp_mod_SOURCES): Likewise.
34612 (cat_mod_SOURCES): Likewise.
34613
34614 * normal/arg.c: New file.
34615 * kern/env.c: Likewise.
34616 * include/pupa/arg.h: Likewise.
34617 * include/pupa/env.h: Likewise.
34618 * font/manager.c (font_command): Changed to match argument parsing
34619 interface changes.
34620 (PUPA_MOD_INIT): Likewise.
34621 * hello/hello.c (pupa_cmd_hello): Likewise.
34622 (PUPA_MOD_INIT): Likewise.
34623 * include/pupa/disk.h: Include <pupa/device.h>.
34624 (pupa_print_partinfo): New prototype.
34625 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34626 (pupa_dl_get_prefix): Likewise.
34627 * include/pupa/misc.h: Include <pupa/err.h>.
34628 (pupa_isgraph): New prototype.
34629 (pupa_isdigit): Likewise.
34630 (pupa_split_cmdline): Likewise.
34631 * include/pupa/normal.h: Include <pupa/arg.h>.
34632 (pupa_command): Changed the prototype of the member `func' to
34633 match the argument parsing interface. Added member `options'.
34634 (pupa_register_command): Updated to match function.
34635 (pupa_arg_parse): New prototype.
34636 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34637 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34638 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34639 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34640 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34641 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34642 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34643 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34644 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34645 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34646 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34647 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34648 * kern/disk.c: Include <pupa/file.h>.
34649 (pupa_print_partinfo): New function.
34650 * kern/dl.c: Include <pupa/env.h>.
34651 (pupa_dl_dir): Variable removed.
34652 (pupa_dl_load): Use the environment variable `prefix' instead of
34653 the variable pupa_dl_dir.
34654 (pupa_dl_set_prefix): Function removed.
34655 (pupa_dl_get_prefix): Likewise.
34656 * kern/i386/pc/init.c: Include <pupa/env.h>.
34657 (pupa_machine_init): Use the environment variable `prefix' instead of
34658 using pupa_dl_set_prefix to set the prefix.
34659 * kern/main.c: Include <pupa/env.h>.
34660 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34661 using pupa_dl_get_prefix to get the prefix.
34662 * kern/misc.c: Include <pupa/env.h>.
34663 (pupa_isdigit): New function.
34664 (pupa_isgraph): Likewise.
34665 (pupa_ftoa): Likewise.
34666 (pupa_vsprintf): Added support for printing values of the type
34667 `double'. Make it possible to format variable output when using
34668 formatting like `%1.2%f'.
34669 (pupa_split_cmdline): New function.
34670 * kern/rescue.c: Include <pupa/env.h>.
34671 (next_word): Removed function.
34672 (pupa_rescue_cmd_prefix): Likewise.
34673 (pupa_rescue_cmd_set): New function.
34674 (pupa_rescue_cmd_unset): New function.
34675 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34676 split the command line instead of splitting it here. Added
34677 support for setting variables using the syntax `foo=bar'. Don't
34678 initialize the prefix command anymore. Initialized the set and
34679 unset commands.
34680 * normal/cmdline.c: Include <pupa/env.h>.
34681 (pupa_tab_complete): Added prototypes for print_simple_completion,
34682 print_partition_completion, add_completion, iterate_commands,
34683 iterate_dev, iterate_part and iterate_dir. Moved code to print
34684 partition information from here to kern/disk.c.
fe6b695a 34685 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 34686 * normal/main.c: Include <pupa/env.h>.
34687 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34688 instead of using pupa_dl_get_prefix to get the prefix.
34689 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34690 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34691 warning.
34692 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34693 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34694 ((unused))' to silence a gcc warning.
34695 (pupa_vga_setcolor): Likewise.
34696 (debug_command): Changed to match argument parsing
34697 interface changes.
34698 * util/pupa-emu.c: Include <pupa/env.h>.
34699 (options): Added 0's for unused fields to silence a gcc warning.
34700 (argp): Likewise.
34701 (main): Use the environment variable `prefix' instead of using
34702 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34703 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34704 and terminal.
34705
34706 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34707 * util/misc.c: Include <malloc.h>.
34708 (pupa_malloc): Rewritten so errors are correctly reported.
34709 (pupa_realloc): Likewise.
34710 (pupa_memalign): Likewise.
34711 (pupa_mm_init_region): Declare unused variables with
34712 `__attribute__ ((unused))' to silence a gcc warning.
34713 * normal/i386/setjmp.S: Remove tab at the end of the file to
34714 silence a gcc warning.
34715 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34716 variables with `__attribute__ ((unused))' to silence a gcc
34717 warning.
34718 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34719 local variable i unsigned to silence a gcc warning.
34720
34721 * kern/term.c: Include <pupa/misc.h>.
34722 (pupa_more_lines): New variable.
34723 (pupa_more): Likewise.
34724 (pupa_putcode): When the pager is active pause at the end of every
34725 screen.
34726 (pupa_set_more): New function.
34727 * include/pupa/term.h (pupa_set_more): New prototype.
34728
34729
3b1139cb 347302004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34731
34732 Now this project is GRUB 2 rather than PUPA. The location of
34733 the CVS repository was moved to GRUB's.
f19dbdb7 34734
3b1139cb 34735 * configure.ac: Use bug-grub as the reporting address.
34736 Use GRUB instead of PUPA.
34737 Change the version number to 1.90.
34738
8367695c 347392004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34740
34741 * genkernsyms.sh: Updated copyright information.
34742 * genmk.rb: Likewise.
34743 * genmodsrc.sh: Likewise.
34744 * gensymlist.sh: Likewise.
34745 * boot/i386/pc/boot.S: Likewise.
34746 * boot/i386/pc/diskboot.S: Likewise.
34747 * disk/i386/pc/biosdisk.c: Likewise.
34748 * disk/i386/pc/partition.c: Likewise.
34749 * font/manager.c: Likewise.
34750 * fs/ext2.c: Likewise.
34751 * fs/fat.c: Likewise.
34752 * include/pupa/boot.h: Likewise.
34753 * include/pupa/device.h: Likewise.
34754 * include/pupa/disk.h: Likewise.
34755 * include/pupa/dl.h: Likewise.
34756 * include/pupa/elf.h: Likewise.
34757 * include/pupa/err.h: Likewise.
34758 * include/pupa/file.h: Likewise.
34759 * include/pupa/font.h: Likewise.
34760 * include/pupa/fs.h: Likewise.
34761 * include/pupa/kernel.h: Likewise.
34762 * include/pupa/loader.h: Likewise.
34763 * include/pupa/misc.h: Likewise.
34764 * include/pupa/mm.h: Likewise.
34765 * include/pupa/net.h: Likewise.
34766 * include/pupa/normal.h: Likewise.
34767 * include/pupa/rescue.h: Likewise.
34768 * include/pupa/setjmp.h: Likewise.
34769 * include/pupa/symbol.h: Likewise.
34770 * include/pupa/term.h: Likewise.
34771 * include/pupa/types.h: Likewise.
34772 * include/pupa/i386/setjmp.h: Likewise.
34773 * include/pupa/i386/types.h: Likewise.
34774 * include/pupa/i386/pc/biosdisk.h: Likewise.
34775 * include/pupa/i386/pc/boot.h: Likewise.
34776 * include/pupa/i386/pc/console.h: Likewise.
34777 * include/pupa/i386/pc/init.h: Likewise.
34778 * include/pupa/i386/pc/kernel.h: Likewise.
34779 * include/pupa/i386/pc/linux.h: Likewise.
34780 * include/pupa/i386/pc/loader.h: Likewise.
34781 * include/pupa/i386/pc/memory.h: Likewise.
34782 * include/pupa/i386/pc/multiboot.h: Likewise.
34783 * include/pupa/i386/pc/partition.h: Likewise.
34784 * include/pupa/i386/pc/time.h: Likewise.
34785 * include/pupa/i386/pc/vga.h: Likewise.
34786 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34787 * include/pupa/util/getroot.h: Likewise.
34788 * include/pupa/util/misc.h: Likewise.
34789 * include/pupa/util/resolve.h: Likewise.
34790 * kern/device.c: Likewise.
34791 * kern/disk.c: Likewise.
34792 * kern/dl.c: Likewise.
34793 * kern/err.c: Likewise.
34794 * kern/file.c: Likewise.
34795 * kern/fs.c: Likewise.
34796 * kern/loader.c: Likewise.
34797 * kern/main.c: Likewise.
34798 * kern/misc.c: Likewise.
34799 * kern/mm.c: Likewise.
34800 * kern/rescue.c: Likewise.
34801 * kern/term.c: Likewise.
34802 * kern/i386/dl.c: Likewise.
34803 * kern/i386/pc/init.c: Likewise.
34804 * kern/i386/pc/lzo1x.S: Likewise.
34805 * kern/i386/pc/startup.S: Likewise.
34806 * loader/i386/pc/chainloader.c: Likewise.
34807 * loader/i386/pc/linux.c: Likewise.
34808 * loader/i386/pc/multiboot.c: Likewise.
34809 * normal/cmdline.c: Likewise.
34810 * normal/command.c: Likewise.
34811 * normal/main.c: Likewise.
34812 * normal/menu.c: Likewise.
34813 * normal/i386/setjmp.S: Likewise.
34814 * term/i386/pc/console.c: Likewise.
34815 * term/i386/pc/vga.c: Likewise.
34816 * util/console.c: Likewise.
34817 * util/genmoddep.c: Likewise.
34818 * util/misc.c: Likewise.
34819 * util/pupa-emu.c: Likewise.
34820 * util/resolve.c: Likewise.
34821 * util/unifont2pff.rb: Likewise.
34822 * util/i386/pc/biosdisk.c: Likewise.
34823 * util/i386/pc/getroot.c: Likewise.
34824 * util/i386/pc/pupa-mkimage.c: Likewise.
34825 * util/i386/pc/pupa-setup.c: Likewise.
34826
e6eced71 348272004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34828
34829 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34830 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34831 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34832 reading and reset it after reading.
34833 (pupa_ext2_close): Return PUPA_ERR_NONE.
34834
34835 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34836 Correct value.
34837 (struct linux_kernel_header): Add kernel_version and
34838 initrd_addr_max.
34839 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34840 pupa_file_read succeeds.
34841 (pupa_rescue_cmd_initrd): Implement.
34842
5aded270 348432003-12-03 Marco Gerards <metgerards@student.han.nl>
34844
34845 * fs/ext2.c (pupa_ext2_label): New function.
34846 (pupa_ext2_fs): Added label.
34847 * fs/fat.c (pupa_fat_label): New function.
34848 (pupa_fat_fs): Added label.
34849 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34850
34851 * kern/misc.c (pupa_strndup): New function.
34852 * include/pupa/misc.h (pupa_strndup): New prototype.
34853
34854 * include/pupa/normal.h: Include <pupa/err.h>.
34855 (pupa_set_history): New prototype.
34856 (pupa_iterate_commands): New prototype.
34857 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34858 <pupa/disk.h>, <pupa/file.h>.
34859 (hist_size): New variable.
34860 (hist_lines): Likewise.
34861 (hist_end): Likewise.
34862 (hist_used): Likewise.
34863 (pupa_set_history): New function.
34864 (pupa_history_get): Likewise.
34865 (pupa_history_add): Likewise.
34866 (pupa_history_replace): Likewise.
34867 (pupa_tab_complete): Likewise.
34868 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34869 completion shows partitionnames while completing partitions, this
34870 feature was suggested by Jeff Bailey.
34871 * normal/command.c (pupa_iterate_commands): New function.
34872 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34873 (pupa_normal_init): Initialize history buffer.
34874 (PUPA_MOD_INIT): Likewise.
34875 (pupa_normal_fini): Free the history buffer.
34876 (PUPA_MOD_FINI): Likewise.
34877
34878 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34879 key.
34880
34881 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34882 * configure.ac [i386]: Check for regparam bug.
34883 (NESTED_FUNC_ATTR) [! i386]: Defined.
34884
1f7315a3 348852003-11-17 Marco Gerards <metgerards@student.han.nl>
34886
34887 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34888 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34889 (pupa_emu_SOURCES): New variable.
34890 (pupa_emu_LDFLAGS): Likewise.
34891 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34892 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34893 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34894 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34895 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34896 (pupa_jmp_buf): New typedef.
34897 (pupa_setjmp) [PUPA_UTIL]: New macro.
34898 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34899 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34900 (pupa_refresh): New prototype.
34901 * include/pupa/util/getroot.h: New file.
34902 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34903 it.
34904 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34905 (pupa_rescue_cmd_cat): Likewise.
34906 (pupa_rescue_cmd_ls): Likewise.
34907 (pupa_rescue_cmd_testload): Likewise.
34908 (pupa_rescue_cmd_lsmod): Likewise.
34909 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34910 * normal/menu.c (run_menu): Likewise.
34911 * kern/term.c (pupa_cls): Likewise.
34912 (pupa_refresh): New function.
34913 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34914 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34915 * util/console.c: New file.
f19dbdb7 34916
1f7315a3 34917 * util/i386/pc/getroot.c: New file.
34918 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34919 (pupa_putchar): New function.
34920 (pupa_refresh): Likewise.
34921 (xgetcwd): Function moved to ...
34922 (strip_extra_slashes): Likewise.
34923 (get_prefix): Likewise.
f19dbdb7 34924 * util/i386/pc/getroot.c: ... here.
1f7315a3 34925 (find_root_device): Function moved and renamed to...
34926 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34927 Changed all callers.
34928 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34929 and renamed to...
34930 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34931 Changed all callers.
34932 * util/misc.c (pupa_memalign): New function.
34933 (pupa_mm_init_region): Likewise.
34934 (pupa_register_exported_symbols): Likewise.
34935 (pupa_putchar): Function removed.
34936 * util/pupa-emu.c: New file.
34937
9a5c1ade 349382003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34939
34940 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34941 (_multiboot_mod_SOURCES): New variable.
34942 (_multiboot_mod_CFLAGS): Likewise.
34943 * loader/i386/pc/multiboot.c: New file.
34944 * include/pupa/i386/pc/multiboot.h: Likewise.
34945 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34946 (pupa_multiboot_real_boot): New function.
34947 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34948 (pupa_multiboot_real_boot): New prototype.
34949 (pupa_rescue_cmd_multiboot): Likewise
34950 (pupa_rescue_cmd_module): Likewise.
34951
34952 * kern/loader.c (pupa_loader_set): Continue when
34953 pupa_loader_unload_func() fails.
34954 (pupa_loader_unset): New function.
34955 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34956
34957 * kern/misc.c (pupa_stpcpy): New function.
34958 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34959
8e72a9c0 349602003-11-12 Marco Gerards <metgerards@student.han.nl>
34961
34962 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34963 for available extensions.
34964
34965 * include/pupa/i386/pc/time.h: New file.
34966 * kern/disk.c: Include <pupa/machine/time.h>.
34967 (PUPA_CACHE_TIMEOUT): New macro.
34968 (pupa_last_time): New variable.
34969 (pupa_disk_open): Flush the cache when there was a timeout.
34970 (pupa_disk_close): Reset the timer.
34971 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34972 pupa_currticks.
34973 * util/misc.c: Include <sys/times.h>
34974 (pupa_get_rtc): New function.
34975
c4adbd32 349762003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34977
34978 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34979 as blocks.
34980 (pupa_ext2_get_file_block): Use blocks member.
34981
34982 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34983 first block. Return -1 instead of pupa_errno on error.
34984
bfd30f06 349852003-10-27 Marco Gerards <metgerards@student.han.nl>
34986
34987 * README: In the pupa-mkimage example use _chain instead of chain
34988 and ext2 instead of fat.
34989 * TODO: Replace ext2fs with jfs as an example. Add an item for
34990 adding journal playback for ext2fs.
34991 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34992 (pkgdata_MODULES): Added ext2.mod.
34993 (ext2_mod_SOURCES): New variable.
34994 (ext2_mod_CFLAGS): Likewise.
34995 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34996 * include/pupa/misc.h (pupa_strncpy): New prototype.
34997 (pupa_strcat): Likewise.
34998 (pupa_strncmp): Likewise.
34999 * kern/misc.c (pupa_strcat): Enable function.
35000 (pupa_strncpy): New function.
35001 (pupa_strncmp): Likewise.
35002 * fs/ext2.c: New file.
f19dbdb7 35003
bfd30f06 35004 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
35005 when the read failed before retrying.
35006 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
35007 (_FILE_OFFSET_BITS): Likewise.
35008 * configure.ac: Added AC_SYS_LARGEFILE.
35009
98d15063 350102003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
35011
35012 * genmk.rb (PModule#rule): Make sure to get only symbol names
35013 from the output of nm.
59cad637 35014 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 35015
18d9c7cd 350162003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
35017
35018 I forgot to check in these changes for a long time. This adds
35019 incomplete support for VGA console, and this is still very
35020 buggy. Also, a lot of consideration is required for I18N,
35021 UNICODE, and VGA font issues. Therefore, assume that this is
35022 such that "better than nothing".
f19dbdb7 35023
18d9c7cd 35024 * font/manager.c: New file.
35025 * include/pupa/font.h: Likewise.
35026 * include/pupa/i386/pc/vga.h: Likewise.
35027 * term/i386/pc/vga.c: Likewise.
35028 * util/unifont2pff.rb: Likewise.
35029
35030 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
35031 (pkgdata_MODULES): Added vga.mod and font.mod.
35032 (vga_mod_SOURCES): New variables.
35033 (vga_mod_CFLAGS): Likewise.
35034 (font_mod_SOURCES): Likewise.
35035 (font_mod_CFLAGS): Likewise.
35036
35037 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
35038
35039 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 35040 (struct pupa_term): Added init and fini.
18d9c7cd 35041 Changed the argument of putchar to pupa_uint32_t.
35042
35043 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
35044 (pupa_console_real_putchar): New prototype.
35045 (pupa_console_putchar): Removed.
35046 (pupa_console_checkkey): Exported.
35047 (pupa_console_getkey): Likewise.
35048
35049 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
35050 characters.
35051
35052 * kern/term.c (pupa_term_set_current): Rewritten.
35053 (pupa_putchar): Likewise.
35054 (pupa_putcode): New function.
35055
35056 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
35057 (pupa_console_real_putchar): ... this.
35058 (pupa_vga_set_mode): New function.
35059 (pupa_vga_get_font): Likewise.
35060
35061 * normal/command.c: Include pupa/term.h.
35062 (terminal_command): New function.
35063 (pupa_command_init): Register the command "terminal".
35064
35065 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
35066 (DISP_UP): Likewise.
35067 (DISP_RIGHT): Likewise.
35068 (DISP_DOWN): Likewise.
35069 (DISP_HLINE): Likewise.
35070 (DISP_VLINE): Likewise.
35071 (DISP_UL): Likewise.
35072 (DISP_UR): Likewise.
35073 (DISP_LL): Likewise.
35074 (DISP_LR): Likewise.
35075
35076 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 35077
977329f5 350782003-02-08 NIIBE Yutaka <gniibe@m17n.org>
35079
35080 * util/resolve.c (pupa_util_resolve_dependencies): BUG
35081 FIX. Reverse the path_list.
35082
35083 * include/pupa/normal.h: Export pupa_register_command and
35084 pupa_unregister_command.
35085
35086 * hello/hello.c (pupa_cmd_hello): New module.
35087 * conf/i386-pc.rmk: Added hello.mod.
35088
1f5ab428 350892003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
35090
35091 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 35092
1f5ab428 35093 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
35094 (compress_kernel): New variable.
35095 (generate_image): Heavily modified to support compressing a
35096 large part of the core image.
35097
35098 * util/misc.c (pupa_util_read_image): Fix a file descriptor
35099 leak.
35100 (pupa_util_load_image): New function.
35101
35102 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
35103 (pupa_compressed_size): New variable.
35104 (codestart): Enable Gate A20 here.
35105 Decompress the compressed part of the core image.
35106 Rearrange the code to put functions and variables which are
35107 required for initialization in the non-compressed part.
35108 Include lzo1x.S.
35109
35110 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
35111 here.
35112
35113 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
35114
f19dbdb7 35115 * include/pupa/i386/pc/kernel.h
1f5ab428 35116 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
35117 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
35118 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35119 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35120 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
35121
35122 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
35123
35124 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
35125 (Utility#rule): Likewise.
35126
35127 * configure.ac: Check if LZO is available.
35128
ce5bf700 351292003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
35130
35131 * include/pupa/normal.h: New file.
35132 * include/pupa/setjmp.h: Likewise.
35133 * include/pupa/i386/setjmp.h: Likewise.
35134 * normal/cmdline.c: Likewise.
35135 * normal/command.c: Likewise.
35136 * normal/main.c: Likewise.
35137 * normal/menu.c: Likewise.
35138 * normal/i386/setjmp.S: Likewise.
f19dbdb7 35139
ce5bf700 35140 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
35141 (pupa_rescue_cmd_initrd): Likewise.
35142
35143 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
35144 Likewise.
35145
35146 * kern/i386/pc/startup.S (translation_table): New variable.
35147 (translate_keycode): New function.
35148 (pupa_console_getkey): Call translate_keycode.
35149
35150 * kern/rescue.c (attempt_normal_mode): New function.
35151 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
35152 it failed, print a message.
35153
35154 * kern/mm.c (pupa_real_malloc): Print more information when a
35155 free magic is broken.
35156 (pupa_free): If the first free header is not free actually, set
35157 it to P.
35158
35159 * kern/main.c (pupa_load_normal_mode): Just load the module
35160 "normal".
35161 (pupa_main): Don't print the message
35162 "Entering into rescue mode..." here.
35163
35164 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
35165 Declared.
35166 (pupa_rescue_cmd_initrd): Likewise.
35167 (pupa_rescue_cmd_initrd): Likewise.
35168
35169 * include/pupa/symbol.h (FUNCTION): Specify the type.
35170 (VARIABLE): Likewise.
35171
35172 * include/pupa/err.h (pupa_err_t): Added
35173 PUPA_ERR_UNKNOWN_COMMAND.
35174
35175 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
35176 (pupa_dl_get_prefix): Likewise.
35177
35178 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
35179 Added _chain.mod and _linux.mod instead of chain.mod and
35180 linux.mod.
35181 (chain_mod_SOURCES): Renamed to ...
35182 (_chain_mod_SOURCES): ... this.
35183 (chain_mod_CFLAGS): Renamed to ...
35184 (_chain_mod_CFLAGS): ... this.
35185 (linux_mod_SOURCES): Renamed to ...
35186 (_linux_mod_SOURCES): ... this.
35187 (linux_mod_CFLAGS): Renamed to ...
35188 (_linux_mod_CFLAGS): ... this.
35189 (normal_mod_SOURCES): New variable.
35190 (normal_mod_CFLAGS): Likewise.
35191 (normal_mod_ASFLAGS): Likewise.
35192
351932003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
35194
35195 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
35196 possible.
35197
fe6b695a 35198 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 35199 recursively.
35200 (pupa_dl_unref): Unrefer depending modules recursively.
35201 Don't call pupa_dl_unload implicitly, because PUPA can crash if
35202 a module is unloaded before one depending on that module is
35203 unloaded.
35204 (pupa_dl_unload): Unload depending modules explicitly,
35205 if possible.
35206
c04da074 352072003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
35208
35209 * include/pupa/i386/pc/linux.h: New file.
35210 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 35211
c04da074 35212 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
35213 Removed.
35214 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
35215 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
35216 of PUPA_CHAINLOADER_BOOT_SECTOR.
35217
35218 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
35219 (pupa_linux_prot_size): New variable.
35220 (pupa_linux_tmp_addr): Likewise.
35221 (pupa_linux_real_addr): Likewise.
35222 (pupa_linux_boot_zimage): New function.
35223 (pupa_linux_boot_bzimage): Likewise.
35224
35225 * kern/i386/pc/init.c (struct mem_region): New structure.
35226 (MAX_REGIONS): New macro.
35227 (mem_regions): New variable.
35228 (num_regions): Likewise.
35229 (pupa_os_area_addr): Likewise.
35230 (pupa_os_area_size): Likewise.
35231 (pupa_lower_mem): Likewise.
35232 (pupa_upper_mem): Likewise.
35233 (add_mem_region): New function.
35234 (compact_mem_regions): Likewise.
35235 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
35236 the size of the conventional memory and that of so-called upper
35237 memory (before the first memory hole).
35238 Instead of adding each found region to free memory, use
35239 add_mem_region and add them after removing overlaps.
35240 Also, add only 1/4 of the upper memory to free memory. The rest
35241 is used for loading OS images. Maybe this is ad hoc, but this
35242 makes it much easier to relocate OS images when booting.
35243
35244 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
35245 (pupa_enter_rescue_mode): Don't register initrd and module.
35246
35247 * kern/mm.c: Include pupa/dl.h.
35248
35249 * kern/main.c: Include pupa/file.h and pupa/device.h.
35250
35251 * kern/loader.c (pupa_loader_load_module_func): Removed.
35252 (pupa_loader_load_module): Likewise.
35253
35254 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
35255 ``.o''.
35256
35257 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
35258 (pupa_linux_tmp_addr): Likewise.
35259 (pupa_linux_real_addr): Likewise.
35260 (pupa_linux_boot_zimage): Likewise.
35261 (pupa_linux_boot_bzimage): Likewise.
35262
35263 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
35264 (pupa_upper_mem): Likewise.
35265 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
35266 module is too dangerous.
35267
35268 * include/pupa/loader.h (pupa_os_area_addr): Declared.
35269 (pupa_os_area_size): Likewise.
35270 (pupa_loader_set): Remove the first argument. Loader doesn't
35271 manage modules or initrd any longer.
35272 (pupa_loader_load_module): Removed.
35273
35274 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
35275 (linux_mod_SOURCES): New variable.
35276 (linux_mod_CFLAGS): Likewise.
35277
a13f9237 352782003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
35279
35280 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
35281 the length of a blocklist correctly.
35282
35283 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
35284 Use ioctl only if the OS file is a block device.
35285 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
35286 not very useful for normal files.
35287
35288 * kern/main.c (pupa_set_root_dev): New function.
35289 (pupa_load_normal_mode): Likewise.
35290 (pupa_main): Call those above.
35291
35292 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
35293 pupa_uint16_t.
35294
35295 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
35296
a5ffe966 352972003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35298
35299 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
35300 (setup): Configure the installed partition information and the
35301 dl prefix.
35302
35303 * loader/i386/pc/chainloader.c (my_mod): New variable.
35304 (pupa_chainloader_unload): New function.
35305 (pupa_rescue_cmd_chainloader): Refer itself.
35306 (PUPA_MOD_INIT): Save its own module in MY_MOD.
35307
35308 * kern/i386/pc/startup.S (install_partition): Removed.
35309 (version_string): Likewise.
35310 (config_file): Likewise.
35311 (pupa_install_dos_part): New variable.
35312 (pupa_install_bsd_part): Likewise.
35313 (pupa_prefix): Likewise.
35314 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
35315
35316 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
35317 and pupa/misc.h.
35318 (make_install_device): New function.
35319 (pupa_machine_init): Set the dl prefix.
35320
35321 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
35322 (buf): Renamed to ...
35323 (linebuf): ... this.
35324 (pupa_rescue_cmd_prefix): New function.
35325 (pupa_rescue_cmd_insmod): Likewise.
35326 (pupa_rescue_cmd_rmmod): Likewise.
35327 (pupa_rescue_cmd_lsmod): Likewise.
35328 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
35329 rmmod and lsmod.
35330
35331 * kern/mm.c (pupa_memalign): If failed even after invalidating
35332 disk caches, unload unneeded modules and retry.
35333
35334 * kern/misc.c (pupa_memmove): New function.
35335 (pupa_memcpy): Removed.
35336 (pupa_strcpy): New function.
35337 (pupa_itoa): Made static.
35338
35339 * kern/dl.c (pupa_dl_iterate): New function.
35340 (pupa_dl_ref): Likewise.
35341 (pupa_dl_unref): Likewise.
35342 (pupa_dl_unload): Return if succeeded or not.
35343 (pupa_dl_unload_unneeded): New function.
35344 (pupa_dl_unload_all): Likewise.
35345 (pupa_dl_init): Renamed to ...
35346 (pupa_dl_set_prefix): ... this.
35347 (pupa_dl_get_prefix): New function.
35348
35349 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35350 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35351 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35352 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35353 (pupa_install_dos_part): Declared.
35354 (pupa_install_bsd_part): Likewise.
35355 (pupa_prefix): Likewise.
35356 (pupa_boot_drive): Likewise.
35357
35358 * include/pupa/types.h: Fix a typo.
35359
35360 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35361 pupa_memmove.
35362 (pupa_memmove): Declared.
35363 (pupa_strcpy): Likewise.
35364
35365 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35366 pupa_mod_init takes one argument, its own module.
35367 (pupa_dl_unload_unneeded): Declared.
35368 (pupa_dl_unload_all): Likewise.
35369 (pupa_dl_ref): Likewise.
35370 (pupa_dl_unref): Likewise.
35371 (pupa_dl_iterate): Likewise.
35372 (pupa_dl_init): Renamed to ...
35373 (pupa_dl_set_prefix): ... this.
35374 (pupa_dl_get_prefix): Declared.
35375
35376 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 35377 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 35378 unloaded.
35379 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35380 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35381
35382 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35383 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35384
012d7999 353852003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35386
35387 * util/i386/pc/pupa-setup.c (setup): Define the internal
35388 function find_first_partition_start at the top level, because GCC
35389 3.0.x cannot compile internal functions in deeper scopes
35390 correctly.
35391 (find_root_device): Use lstat instead of stat.
35392 Don't follow symbolic links.
35393 Fix the path-constructing code.
35394
35395 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35396 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35397 by a BLKGETSIZE ioctl first, because block devices don't fill
35398 the member st_mode of the structure stat on Linux.
35399 [__linux__] (linux_find_partition): Use a temporary buffer
35400 REAL_DEV for the working space. Copy it to DEV before returning.
35401 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35402 buffer cache consistent.
35403 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35404 strncmp. The previous value was merely wrong.
35405 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35406
35407 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35408 FAT size is 12. The previous value was merely wrong.
35409
35410 * kern/main.c (pupa_main): Don't split the starting message from
35411 newlines.
35412
35413 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35414 LF, because BIOS goes crazy about character attributes in this
35415 case.
35416
1cc73a62 354172003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35418
35419 * include/i386/pc/util/biosdisk.h: New file.
35420 * util/i386/pc/biosdisk.c: Likewise.
35421 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 35422
1cc73a62 35423 * Makefile.in (INCLUDE_DISTFILES): Added
35424 include/pupa/i386/pc/util/biosdisk.h.
35425 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35426 directory util/i386/pc.
35427 (install-local): Added a rule for sbin_UTILITIES.
35428 (uninstall): Likewise.
35429
35430 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35431
35432 * util/misc.c (xrealloc): New function.
35433 (pupa_malloc): Likewise.
35434 (pupa_free): Likewise.
35435 (pupa_realloc): Likewise.
35436 (pupa_stop): Likewise.
35437 (pupa_putchar): Likewise.
35438
35439 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35440
35441 * include/pupa/util/misc.h (xrealloc): Declared.
35442
35443 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35444 macro.
35445 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35446 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35447
35448 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35449 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35450
35451 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35452 way should be implemented.
35453 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35454
35455 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35456 the size of NAME for safety.
35457 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35458 0x88.
35459
35460 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35461 (pupa_setup_SOURCES): Likewise.
35462
35463 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35464
08b70fe8 354652002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35466
35467 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35468 bunch of pushl's from pusha, because this destroys the return
35469 value.
35470
62ddcc8f 354712002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35472
35473 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35474 This means that any missing prototypes could be fatal. Also, you
35475 must take care when writing assembly code. See the comments at
35476 the beginning of startup.S, for more details.
f19dbdb7 35477
62ddcc8f 35478 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35479 compilation mechanism.
35480 (pupa_chainloader_real_boot): Likewise.
35481 (pupa_biosdisk_rw_int13_extensions): Likewise.
35482 (pupa_biosdisk_rw_standard): Likewise.
35483 (pupa_biosdisk_check_int13_extensions): Likewise.
35484 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35485 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35486 (pupa_get_memsize): Likewise.
35487 (pupa_get_mmap_entry): Likewise.
35488 (pupa_console_putchar): Likewise.
35489 (pupa_console_setcursor): Likewise.
35490 (pupa_getrtsecs): Use pushl instead of push.
35491
35492 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35493 memory instead of the stack for a mmap entry, because some
35494 BIOSes may ignore the maximum size and overflow.
35495
35496 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35497
35498 * genmk.rb (PModule#rule): Compile automatically generated
35499 sources with module-specific CFLAGS as well as other sources.
35500
9962ed99 355012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35502
35503 * configure.ac: Check ld.
35504 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35505 respectively, before checking endianness and sizes.
35506
35507 * Makefile.in (LD): New variable.
f19dbdb7 35508
abdfc3c5 355092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35510
35511 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35512
6a161fa9 355132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35514
35515 * Changelog: New file.
35516